smpclient


Namesmpclient JSON
Version 4.4.0 PyPI version JSON
download
home_pagehttps://github.com/intercreate/smpclient
SummarySimple Management Protocol (SMP) Client for remotely managing MCU firmware
upload_time2024-10-13 04:23:12
maintainerNone
docs_urlNone
authorJ.P. Hutchins
requires_python<3.14,>=3.8.1
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # Simple Management Protocol (SMP) Client 

`smpclient` implements the transport layer of the Simple Management Protocol.  This library can be
used as a dependency in applications that use SMP over **serial (UART or USB)**, **Bluetooth (BLE)**,
or **UDP** connections.  Some abstractions are provided for common routines like upgrading device
firmware.

If you don't need a library with the transport layer implemented, then you might prefer to use
[smp](https://github.com/JPHutchins/smp) instead.  The SMP specification can be found
[here](https://docs.zephyrproject.org/latest/services/device_mgmt/smp_protocol.html).

If you'd like an SMP CLI application instead of a library, then you should try
[smpmgr](https://github.com/intercreate/smpmgr).

## Install

`smpclient` is [distributed by PyPI](https://pypi.org/project/smpclient/) and can be installed with `poetry`, `pip`, and other dependency managers.

## User Documentation

Documentation is in the source code so that it is available to your editor.
An online version is generated and available [here](https://intercreate.github.io/smpclient/).

## Development Quickstart

> Assumes that you've already [setup your development environment](#development-environment-setup).

1. activate [envr](https://github.com/JPhutchins/envr), the environment manager for **bash**, **zsh**, and **PS**:
   ```
   . ./envr.ps1
   ```
2. run `poetry install` when pulling in new changes
3. run `lint` after making changes
4. run `test` after making changes
5. add library dependencies with `poetry`:
   ```
   poetry add <my_new_dependency>
   ```
6. add test or other development dependencies using [poetry groups](https://python-poetry.org/docs/managing-dependencies#dependency-groups):
   ```
   poetry add -G dev <my_dev_dependency>
   ```
7. run tests for all supported python versions:
   ```
   tox
   ```

## Development Environment Setup

### Install Dependencies

- poetry: https://python-poetry.org/docs/#installation

### Create the venv

```
poetry install
```

The `venv` should be installed to `.venv`.

### Activate envr

> [envr](https://github.com/JPhutchins/envr) supports **bash**, **zsh**, and **PS** in Linux, MacOS, and Windows.  If you are using an unsupported shell, you can activate the `.venv` environment manually, use `poetry run` and `poetry shell`, and refer to `envr-default` for useful aliases.

```
. ./envr.ps1
```

### Verify Your Setup

To verify the installation, make sure that all of the tests are passing using these envr aliases:

```
lint
test
```

### Enable the githooks

> The pre-commit hook will run the linters but not the unit tests.

```
git config core.hooksPath .githooks
```


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/intercreate/smpclient",
    "name": "smpclient",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.8.1",
    "maintainer_email": null,
    "keywords": null,
    "author": "J.P. Hutchins",
    "author_email": "jphutchins@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/44/106551cadee39f2c46715b251f78dfb5cdd8e3c719eda3acc16ba33faff2/smpclient-4.4.0.tar.gz",
    "platform": null,
    "description": "# Simple Management Protocol (SMP) Client \n\n`smpclient` implements the transport layer of the Simple Management Protocol.  This library can be\nused as a dependency in applications that use SMP over **serial (UART or USB)**, **Bluetooth (BLE)**,\nor **UDP** connections.  Some abstractions are provided for common routines like upgrading device\nfirmware.\n\nIf you don't need a library with the transport layer implemented, then you might prefer to use\n[smp](https://github.com/JPHutchins/smp) instead.  The SMP specification can be found\n[here](https://docs.zephyrproject.org/latest/services/device_mgmt/smp_protocol.html).\n\nIf you'd like an SMP CLI application instead of a library, then you should try\n[smpmgr](https://github.com/intercreate/smpmgr).\n\n## Install\n\n`smpclient` is [distributed by PyPI](https://pypi.org/project/smpclient/) and can be installed with `poetry`, `pip`, and other dependency managers.\n\n## User Documentation\n\nDocumentation is in the source code so that it is available to your editor.\nAn online version is generated and available [here](https://intercreate.github.io/smpclient/).\n\n## Development Quickstart\n\n> Assumes that you've already [setup your development environment](#development-environment-setup).\n\n1. activate [envr](https://github.com/JPhutchins/envr), the environment manager for **bash**, **zsh**, and **PS**:\n   ```\n   . ./envr.ps1\n   ```\n2. run `poetry install` when pulling in new changes\n3. run `lint` after making changes\n4. run `test` after making changes\n5. add library dependencies with `poetry`:\n   ```\n   poetry add <my_new_dependency>\n   ```\n6. add test or other development dependencies using [poetry groups](https://python-poetry.org/docs/managing-dependencies#dependency-groups):\n   ```\n   poetry add -G dev <my_dev_dependency>\n   ```\n7. run tests for all supported python versions:\n   ```\n   tox\n   ```\n\n## Development Environment Setup\n\n### Install Dependencies\n\n- poetry: https://python-poetry.org/docs/#installation\n\n### Create the venv\n\n```\npoetry install\n```\n\nThe `venv` should be installed to `.venv`.\n\n### Activate envr\n\n> [envr](https://github.com/JPhutchins/envr) supports **bash**, **zsh**, and **PS** in Linux, MacOS, and Windows.  If you are using an unsupported shell, you can activate the `.venv` environment manually, use `poetry run` and `poetry shell`, and refer to `envr-default` for useful aliases.\n\n```\n. ./envr.ps1\n```\n\n### Verify Your Setup\n\nTo verify the installation, make sure that all of the tests are passing using these envr aliases:\n\n```\nlint\ntest\n```\n\n### Enable the githooks\n\n> The pre-commit hook will run the linters but not the unit tests.\n\n```\ngit config core.hooksPath .githooks\n```\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Simple Management Protocol (SMP) Client for remotely managing MCU firmware",
    "version": "4.4.0",
    "project_urls": {
        "Documentation": "https://intercreate.github.io/smpclient",
        "Homepage": "https://github.com/intercreate/smpclient",
        "Repository": "https://github.com/intercreate/smpclient"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3aa178aa292416ca2d512680d9645feb6f8a2bef140d5ff659fc2e8595029b4a",
                "md5": "e2e5c2b0b9f787e52ca3983d299a8e65",
                "sha256": "e05974a73391d306bf5abd14c8d31d54a71801b71a85eda9c1204e8c08806840"
            },
            "downloads": -1,
            "filename": "smpclient-4.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e2e5c2b0b9f787e52ca3983d299a8e65",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.8.1",
            "size": 30151,
            "upload_time": "2024-10-13T04:23:10",
            "upload_time_iso_8601": "2024-10-13T04:23:10.757528Z",
            "url": "https://files.pythonhosted.org/packages/3a/a1/78aa292416ca2d512680d9645feb6f8a2bef140d5ff659fc2e8595029b4a/smpclient-4.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8644106551cadee39f2c46715b251f78dfb5cdd8e3c719eda3acc16ba33faff2",
                "md5": "1269f1774ad191e6442d81c329a611fe",
                "sha256": "4400c45cc7796a2c349000c3e2a9be5cca707e0dd439af8855fa82a28fa22a36"
            },
            "downloads": -1,
            "filename": "smpclient-4.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1269f1774ad191e6442d81c329a611fe",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.8.1",
            "size": 24449,
            "upload_time": "2024-10-13T04:23:12",
            "upload_time_iso_8601": "2024-10-13T04:23:12.075426Z",
            "url": "https://files.pythonhosted.org/packages/86/44/106551cadee39f2c46715b251f78dfb5cdd8e3c719eda3acc16ba33faff2/smpclient-4.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-13 04:23:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "intercreate",
    "github_project": "smpclient",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "smpclient"
}
        
Elapsed time: 0.33231s