openremote-cli


Nameopenremote-cli JSON
Version 0.6.65 PyPI version JSON
download
home_pagehttps://www.openremote.io
SummaryOpenRemote Command-line interface
upload_time2024-04-20 12:05:11
maintainerOpenRemote
docs_urlNone
authorMichal Rutka
requires_python<4.0,>=3.9
licenseAGPLv3
keywords openremote iot cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![CI/CD](https://github.com/openremote/openremote-cli/workflows/CI/CD/badge.svg)
![docker](https://github.com/openremote/openremote-cli/workflows/docker/badge.svg)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/Naereen/badges/)
[![Donate](https://img.shields.io/badge/donations-appreciated-green.svg)](https://www.paypal.com/webapps/shoppingcart?flowlogging_id=4b5432e8ad1a8&mfid=1616517920020_4b5432e8ad1a8#/checkout/openButton)

# OpenRemote CLI

## Intro

This is Command Line Interface to OpenRemote IoT platform. It's purpose is to reduce friction of using OpenRemote by Do It Yourself users.

It is published as a Python package on [PyPi.org](https://pypi.org/project/openremote-cli/)

## About OR

OpenRemote is a great real OpenSource IoT platform.

## Usage

To install/upgrade the CLI:
```bash
pip install --upgrade openremote-cli
or --version
```

## Docker image

There is also docker image with embedded openremote-cli and other tools used during
stack management, like `python`, `aws` or `docker-compose`. Therefore, `docker` is
the only tool installed when you need to work on remote host. Example:

```
% docker run -ti --rm openremote/openremote-cli -V
openremote-cli/0.6.46 3.8.10 (default, May 12 2021, 15:56:47) [GCC 8.3.0] Linux/#1 SMP Tue Mar 23 09:27:39 UTC 202
% docker run -ti --rm --entrypoint bash -v ~/.aws:/root/.aws openremote/openremote-cli
root@4438b25d0834:/# aws --version
aws-cli/2.1.39 Python/3.8.8 Linux/5.10.25-linuxkit exe/x86_64.debian.10 prompt/off
```

### Deploy local OpenRemote stack

```bash
or deploy
```

When it finishes you should be able to open https://localhost and login with admin:secret to the manager. Depending on your machine it can take few minutes to
start or services (usually less than 10 minutes). If it does not work yet, check it with ```docker ps``` to see if all services are in healthy or starting stage.

### Remove local OpenRemote stack

```bash
or deploy --action remove
```

### Deploy OpenRemote stack on AWS with DNS entry

```bash
or deploy --platform aws --dnsname myiot.mydomain.com
```
### Check health of the openremote stack
```bash
or deploy -a health --dnsname myiot.mydomain.com -v
```

### Install shell completion extension

#### zsh

```bash
TODO
```

#### bash

```
TODO
```

## Configure existing OpenRemote instance

### Add users

### Add assets

### Add customization

## Develop openremote-cli

Following tools are used:
- python (pip, poetry, black, PyPI.org)
- git (pre-commit, actions)
- docker (docker-compose, swarm)
- AWS (CloudFormation)
- make

`poetry run openremote-cli -V`
### Adding feature

In this project we use Behavior-driven development (or BDD). BDD is an agile
software development technique that encourages collaboration between developers,
QA and non-technical or business participants in a software project.

This project uses Gherkin to define what features which should be covered. Features
files can be generated by people on manager level or even higher. An example
of file defining a feature:

```gherkin
Feature: deploy

  Scenario: deploy to localhost
    Given we have docker and docker-compose installed
    When we call openremote-cli --dry-run deploy --action create
    Then show what will be done
```

When the feature is implemented it can be checked with behave:

```bash
> behave
Feature: deploy # features/deploy.feature:1

  Scenario: deploy to localhost                                  # features/deploy.feature:3
    Given we have docker and docker-compose installed            # features/steps/deploy_steps.py:8 0.453s
    When we call openremote-cli --dry-run deploy --action create # features/steps/deploy_steps.py:16 0.591s
    Then show what will be done                                  # features/steps/deploy_steps.py:24 0.000s

1 feature passed, 0 failed, 0 skipped
1 scenario passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m1.044s
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.openremote.io",
    "name": "openremote-cli",
    "maintainer": "OpenRemote",
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": "developers@openremote.io",
    "keywords": "openremote, iot, cli",
    "author": "Michal Rutka",
    "author_email": "michal@openremote.io",
    "download_url": "https://files.pythonhosted.org/packages/43/42/bd3fe445b116467ae7212f596c67989e7415bf1265754d6dbc9a941a17af/openremote_cli-0.6.65.tar.gz",
    "platform": null,
    "description": "![CI/CD](https://github.com/openremote/openremote-cli/workflows/CI/CD/badge.svg)\n![docker](https://github.com/openremote/openremote-cli/workflows/docker/badge.svg)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Open Source? Yes!](https://badgen.net/badge/Open%20Source%20%3F/Yes%21/blue?icon=github)](https://github.com/Naereen/badges/)\n[![Donate](https://img.shields.io/badge/donations-appreciated-green.svg)](https://www.paypal.com/webapps/shoppingcart?flowlogging_id=4b5432e8ad1a8&mfid=1616517920020_4b5432e8ad1a8#/checkout/openButton)\n\n# OpenRemote CLI\n\n## Intro\n\nThis is Command Line Interface to OpenRemote IoT platform. It's purpose is to reduce friction of using OpenRemote by Do It Yourself users.\n\nIt is published as a Python package on [PyPi.org](https://pypi.org/project/openremote-cli/)\n\n## About OR\n\nOpenRemote is a great real OpenSource IoT platform.\n\n## Usage\n\nTo install/upgrade the CLI:\n```bash\npip install --upgrade openremote-cli\nor --version\n```\n\n## Docker image\n\nThere is also docker image with embedded openremote-cli and other tools used during\nstack management, like `python`, `aws` or `docker-compose`. Therefore, `docker` is\nthe only tool installed when you need to work on remote host. Example:\n\n```\n% docker run -ti --rm openremote/openremote-cli -V\nopenremote-cli/0.6.46 3.8.10 (default, May 12 2021, 15:56:47) [GCC 8.3.0] Linux/#1 SMP Tue Mar 23 09:27:39 UTC 202\n% docker run -ti --rm --entrypoint bash -v ~/.aws:/root/.aws openremote/openremote-cli\nroot@4438b25d0834:/# aws --version\naws-cli/2.1.39 Python/3.8.8 Linux/5.10.25-linuxkit exe/x86_64.debian.10 prompt/off\n```\n\n### Deploy local OpenRemote stack\n\n```bash\nor deploy\n```\n\nWhen it finishes you should be able to open https://localhost and login with admin:secret to the manager. Depending on your machine it can take few minutes to\nstart or services (usually less than 10 minutes). If it does not work yet, check it with ```docker ps``` to see if all services are in healthy or starting stage.\n\n### Remove local OpenRemote stack\n\n```bash\nor deploy --action remove\n```\n\n### Deploy OpenRemote stack on AWS with DNS entry\n\n```bash\nor deploy --platform aws --dnsname myiot.mydomain.com\n```\n### Check health of the openremote stack\n```bash\nor deploy -a health --dnsname myiot.mydomain.com -v\n```\n\n### Install shell completion extension\n\n#### zsh\n\n```bash\nTODO\n```\n\n#### bash\n\n```\nTODO\n```\n\n## Configure existing OpenRemote instance\n\n### Add users\n\n### Add assets\n\n### Add customization\n\n## Develop openremote-cli\n\nFollowing tools are used:\n- python (pip, poetry, black, PyPI.org)\n- git (pre-commit, actions)\n- docker (docker-compose, swarm)\n- AWS (CloudFormation)\n- make\n\n`poetry run openremote-cli -V`\n### Adding feature\n\nIn this project we use Behavior-driven development (or BDD). BDD is an agile\nsoftware development technique that encourages collaboration between developers,\nQA and non-technical or business participants in a software project.\n\nThis project uses Gherkin to define what features which should be covered. Features\nfiles can be generated by people on manager level or even higher. An example\nof file defining a feature:\n\n```gherkin\nFeature: deploy\n\n  Scenario: deploy to localhost\n    Given we have docker and docker-compose installed\n    When we call openremote-cli --dry-run deploy --action create\n    Then show what will be done\n```\n\nWhen the feature is implemented it can be checked with behave:\n\n```bash\n> behave\nFeature: deploy # features/deploy.feature:1\n\n  Scenario: deploy to localhost                                  # features/deploy.feature:3\n    Given we have docker and docker-compose installed            # features/steps/deploy_steps.py:8 0.453s\n    When we call openremote-cli --dry-run deploy --action create # features/steps/deploy_steps.py:16 0.591s\n    Then show what will be done                                  # features/steps/deploy_steps.py:24 0.000s\n\n1 feature passed, 0 failed, 0 skipped\n1 scenario passed, 0 failed, 0 skipped\n3 steps passed, 0 failed, 0 skipped, 0 undefined\nTook 0m1.044s\n```\n",
    "bugtrack_url": null,
    "license": "AGPLv3",
    "summary": "OpenRemote Command-line interface",
    "version": "0.6.65",
    "project_urls": {
        "Documentation": "https://github.com/openremote/openremote/wiki",
        "Homepage": "https://www.openremote.io",
        "Repository": "https://github.com/openremote/openremote"
    },
    "split_keywords": [
        "openremote",
        " iot",
        " cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "699421dddb77569f3277944ec298550fb2494eea916b7c7258f2fac40e67dda9",
                "md5": "cd0a4d86552ffdbdd97bfefe1ff9cf4d",
                "sha256": "e4ac5587d4ae8727f5b4a33b4ae1faa346df060494cb92585f4e30ca640ce9f5"
            },
            "downloads": -1,
            "filename": "openremote_cli-0.6.65-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cd0a4d86552ffdbdd97bfefe1ff9cf4d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 64621,
            "upload_time": "2024-04-20T12:05:08",
            "upload_time_iso_8601": "2024-04-20T12:05:08.688173Z",
            "url": "https://files.pythonhosted.org/packages/69/94/21dddb77569f3277944ec298550fb2494eea916b7c7258f2fac40e67dda9/openremote_cli-0.6.65-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4342bd3fe445b116467ae7212f596c67989e7415bf1265754d6dbc9a941a17af",
                "md5": "7db08448a03c69c4634d62d128751ace",
                "sha256": "611fe96ea2507945d2ff1e540f2e7f0a886044788e06be99bb2345a18a578a42"
            },
            "downloads": -1,
            "filename": "openremote_cli-0.6.65.tar.gz",
            "has_sig": false,
            "md5_digest": "7db08448a03c69c4634d62d128751ace",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 63077,
            "upload_time": "2024-04-20T12:05:11",
            "upload_time_iso_8601": "2024-04-20T12:05:11.048280Z",
            "url": "https://files.pythonhosted.org/packages/43/42/bd3fe445b116467ae7212f596c67989e7415bf1265754d6dbc9a941a17af/openremote_cli-0.6.65.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-20 12:05:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "openremote",
    "github_project": "openremote",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "openremote-cli"
}
        
Elapsed time: 0.21191s