{ "info": { "author": "Andrew Chen", "author_email": "yongjhih@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6" ], "description": "# Mender\n\n## Usage\n\n```py\nasync with Mender(base_url = 'https://docker.mender.io/api/management/v1') as mender:\n # List devices on page 1\n devices = await mender.get_devices_paged(page=1)\n print(devices)\n\n # List all devices\n async for device in mender.get_devices():\n print(device)\n\n # Filter all devices by attributes\n async for device in mender.get_devices(attributes={\"hostname\": 'xxx-ffffffffffff'}):\n print(device)\n```\n\nor close your session by yourself:\n\n```py\nmender = Mender(base_url = 'https://docker.mender.io/api/management/v1')\n# ...\n# Remember to close during finishing\nawait mender.session.close()\n```\n\n## Installation\n\nUsing pip:\n\n```sh\npip install mender\n```\n\nUsing pipenv:\n\n```sh\npipenv install mender\n```\n\n## Deployment\n\n```sh\npipenv run python3 setup.py sdist bdist_wheel\npipenv run twine upload dist/*\n```\n\n## Device inventory\n\n`/inventory`\n\n### API Endpoints\n\nAll URIs are relative to *https://docker.mender.io/api/management/v1/inventory*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*Mender* | **devices_get** | **GET** /devices | List devices\n*Mender* | **devices_id_delete** | **DELETE** /devices/{id} | Remove selected device\n*Mender* | **devices_id_get** | **GET** /devices/{id} | Get a selected device\n*Mender* | **devices_id_group_get** | **GET** /devices/{id}/group | Get a selected device's group\n*Mender* | **devices_id_group_name_delete** | **DELETE** /devices/{id}/group/{name} | Remove a device from a group\n*Mender* | **devices_id_group_put** | **PUT** /devices/{id}/group | Add a device to a group\n*Mender* | **groups_get** | **GET** /groups | List groups\n*Mender* | **groups_name_devices_get** | **GET** /groups/{name}/devices | List the devices belonging to a given group\n\n## User administration and authentication\n\n`/useradm`\n\n### API Endpoints\n\nAll URIs are relative to *https://docker.mender.io/api/management/v1/useradm*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*Mender* | **auth_login_post** | **POST** /auth/login | Log in to Mender\n*Mender* | **settings_get** | **GET** /settings | Get user settings\n*Mender* | **settings_post** | **POST** /settings | Set user settings\n*Mender* | **users_get** | **GET** /users | List users\n*Mender* | **users_id_delete** | **DELETE** /users/{id} | Remove user from the system\n*Mender* | **users_id_get** | **GET** /users/{id} | Get user information\n*Mender* | **users_id_put** | **PUT** /users/{id} | Update user information\n*Mender* | **users_post** | **POST** /users | Create user\n\n## References\n\n* https://github.com/yongjhih/mender.js\n* https://github.com/yongjhih/openapi-generator/tree/mender/modules/openapi-generator/src/main/resources/python-typing-client\n\n## Stack\n\n* PEP 525 - Async Generator (require 3.6)\n* PEP 557 - Dataclass (require 3.7, but there is a backport library for 3.6)\n* PEP 498 - Formatted String Literals (require 3.6, but ther is a backport library for <3.6)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yongjhih/mender-python", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "mender", "package_url": "https://pypi.org/project/mender/", "platform": "", "project_url": "https://pypi.org/project/mender/", "project_urls": { "Bug Reports": "https://github.com/FloTechnologies/flo-sdk-python/issues", "Homepage": "https://github.com/yongjhih/mender-python" }, "release_url": "https://pypi.org/project/mender/0.0.5/", "requires_dist": [ "dataclasses", "requests", "jsonpickle", "future-fstrings", "aiohttp", "jsontofu" ], "requires_python": "", "summary": "Mender SDK for python", "version": "0.0.5" }, "last_serial": 4804390, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "9104e184ee05ceb9874c5d4fd57222d4", "sha256": "85847cd29f847a1996e68ff4a9cebdaacc3251c1f8b117d2ebac18cc13aa777c" }, "downloads": -1, "filename": "mender-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9104e184ee05ceb9874c5d4fd57222d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6438, "upload_time": "2019-01-30T05:41:25", "url": "https://files.pythonhosted.org/packages/01/ed/342bb16ad090626260d067f23bfd9cb6063c2a3e4dfb198b182ea30e276e/mender-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7524b703b988b67c723641a8f3e7d959", "sha256": "bfc1ab5e291a578d7779ccc0c78982493c4001eeeac89514a7a18575d486ec28" }, "downloads": -1, "filename": "mender-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7524b703b988b67c723641a8f3e7d959", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6810, "upload_time": "2019-01-30T05:41:27", "url": "https://files.pythonhosted.org/packages/ef/f5/de0fe348963852c3954d5e07d117329fe1988799efd1682a1215eb2769a1/mender-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ecebbeeb39e10432106272e477accb05", "sha256": "2972b02c5599958f581fa788734ef938b54e3cf0d5794b5c7e8672120dc226c8" }, "downloads": -1, "filename": "mender-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ecebbeeb39e10432106272e477accb05", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6561, "upload_time": "2019-01-30T07:23:01", "url": "https://files.pythonhosted.org/packages/d6/e1/a2029e30aca60bd8981c986cb3c86d391345c920e6eb13c013ee37eb9d43/mender-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b44fef7397da01508ddce2e4fcfa1633", "sha256": "b642bf2d840b3220abc25bb4d0cfcd8c05894ca516adf22039125a3ed371efce" }, "downloads": -1, "filename": "mender-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b44fef7397da01508ddce2e4fcfa1633", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6985, "upload_time": "2019-01-30T07:23:03", "url": "https://files.pythonhosted.org/packages/ab/dc/8596ebe229dcaba13d6469ce4970ee6360b738328d9c4f42659b9144c8db/mender-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b04123dfde678456c9892a625cb28f72", "sha256": "78059fda2bc8a501cc708755660e3042b4ebf18323bdc16a04dcd0ebcbc724f9" }, "downloads": -1, "filename": "mender-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b04123dfde678456c9892a625cb28f72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6791, "upload_time": "2019-02-01T02:12:34", "url": "https://files.pythonhosted.org/packages/78/69/eaa2d76e270feda0891aab72120fa4b5e004bf5a53879a544f57022d79d8/mender-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8a691de87025cc1423de3f7f428ee69", "sha256": "b498fbcf8e063d6e9030e0c7a93c78e31c726c6cb7e9e62eeecacc12db9fb858" }, "downloads": -1, "filename": "mender-0.0.3.tar.gz", "has_sig": false, "md5_digest": "b8a691de87025cc1423de3f7f428ee69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7201, "upload_time": "2019-02-01T02:12:36", "url": "https://files.pythonhosted.org/packages/f6/8f/2da9bd7d70a521e5a82d63b17186a36f309d15add404a03feee098667fb5/mender-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "27be076d9c7b7132c0f7c6a5b9ca874c", "sha256": "061d6bd72e3badfc6764392a7ff1b76cdb50b70c5bee91db5abd02ebefc6daaa" }, "downloads": -1, "filename": "mender-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "27be076d9c7b7132c0f7c6a5b9ca874c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6788, "upload_time": "2019-02-01T02:18:09", "url": "https://files.pythonhosted.org/packages/75/33/dff0d607cf0012dfd155e4957ce08904c1dee4890f7fb4e11829ab2d97a9/mender-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "689823992306717b1a4aa984d87b1d9a", "sha256": "e605a813f0c57a82b05bcfb06632684264e5b278289cb5cae94d6442f9016df5" }, "downloads": -1, "filename": "mender-0.0.4.tar.gz", "has_sig": false, "md5_digest": "689823992306717b1a4aa984d87b1d9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7200, "upload_time": "2019-02-01T02:18:11", "url": "https://files.pythonhosted.org/packages/a2/3a/9d0aba1a939e0bdac5f599ecfdf2ce0ba58c77e31614efbdce40849c5fd3/mender-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0f099950d473874bf0fd15f8d3368706", "sha256": "e06f6c7fce077e6d6d41541bd6e8987820147c4e5b9ccab2de0762d6400c1a55" }, "downloads": -1, "filename": "mender-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0f099950d473874bf0fd15f8d3368706", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7035, "upload_time": "2019-02-11T06:32:54", "url": "https://files.pythonhosted.org/packages/8e/26/2c842d8948077a9cb1e523154379ee2ed1472b70d9419f4af24ad78c5b71/mender-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73a846671d74c469bec8902d88c5c919", "sha256": "095c1c90088c019bf5ea02377db6ddc9c26bc029621cfbf558f2fc75c7593835" }, "downloads": -1, "filename": "mender-0.0.5.tar.gz", "has_sig": false, "md5_digest": "73a846671d74c469bec8902d88c5c919", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7452, "upload_time": "2019-02-11T06:32:56", "url": "https://files.pythonhosted.org/packages/6a/3c/ab302098e61b06669b35e8e11c813e3679bd88dec8b59a8d3f807e7cf783/mender-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f099950d473874bf0fd15f8d3368706", "sha256": "e06f6c7fce077e6d6d41541bd6e8987820147c4e5b9ccab2de0762d6400c1a55" }, "downloads": -1, "filename": "mender-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0f099950d473874bf0fd15f8d3368706", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7035, "upload_time": "2019-02-11T06:32:54", "url": "https://files.pythonhosted.org/packages/8e/26/2c842d8948077a9cb1e523154379ee2ed1472b70d9419f4af24ad78c5b71/mender-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73a846671d74c469bec8902d88c5c919", "sha256": "095c1c90088c019bf5ea02377db6ddc9c26bc029621cfbf558f2fc75c7593835" }, "downloads": -1, "filename": "mender-0.0.5.tar.gz", "has_sig": false, "md5_digest": "73a846671d74c469bec8902d88c5c919", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7452, "upload_time": "2019-02-11T06:32:56", "url": "https://files.pythonhosted.org/packages/6a/3c/ab302098e61b06669b35e8e11c813e3679bd88dec8b59a8d3f807e7cf783/mender-0.0.5.tar.gz" } ] }