{ "info": { "author": "Chris ter Beke", "author_email": "c.terbeke@ultimaker.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# CuraPackageDeployer\nAutomatically build, deploy and distribute [Ultimaker Cura](https://github.com/Ultimaker/Cura) Toolbox packages.\n\n## Introduction\nUltimaker has introduced a new set of tools to build and deploy [packages for Ultimaker Cura](https://github.com/Ultimaker/Cura/wiki/Creating-Packages).\nThese packages can extend the functionality and contents of Cura and users can install them via the Cura Toolbox.\n\nOne of the new tools available is a web API for managing and distributing these packages.\nBesides a [user interface](https://contribute.ultimaker.com) consuming this API,\ndevelopers can also [use the API](https://api.ultimaker.com/docs/packages/) directly.\n\nThis library uses that API to automate the building and deployment of packages.\nIt's written in Python, so you can use it in your CI/CD system of your choice.\n\n## Installation\nInstall the library in your plugin project using pip:\n\n```bash\npip3 install CuraPackageDeployer\n```\n\n## Usage\nThe best way to use this library is to make a Python script and use the `CuraPackageDeployer` class from there:\n\n```python\nimport logging\nimport sys\nimport time\n\nfrom CuraPackageDeployer.Config import Config\nfrom CuraPackageDeployer.CuraPackageDeployer import CuraPackageDeployer\n\n\nclass ExampleConfig(Config):\n \"\"\"\n Example config file that extends the root config.\n \"\"\"\n package_id = \"CuraDrive\"\n package_sources_dir = \"/Users/chris/Code/Ultimaker/cura/CuraDrivePlugin/CuraDrive\"\n tags = [\"backups\", \"cloud\", \"restore\", \"configuration\", \"settings\", \"sync\"]\n website = \"https://ultimaker.com\"\n release_notes = \"Switched to the new Ultimaker Account functionality baked into Cura.\"\n access_token = \"THIS_IS_A_SECRET!\"\n\n\ndef main() -> int:\n config = ExampleConfig()\n deployer = CuraPackageDeployer(config)\n deployer.loadPluginSources()\n deployer.buildPlugin()\n deployer.deploy()\n time.sleep(3) # Give the API some time to build the package.\n deployer.requestReview()\n return 0\n\n\nif __name__ == \"__main__\":\n logging.getLogger().setLevel(logging.INFO)\n exit_code = main()\n sys.exit(exit_code)\n```\n\nThen execute this script in your CI/CD system of choice.\n\n### Docker\nWe recommend running the script in a Docker container to always have a suitable runtime environment.\nAn example Dockerfile could be:\n\n```Dockerfile\nFROM python:3.6-alpine AS base\nWORKDIR /usr/src/app\n\nRUN pip3 install CuraPackageDeployer\n\nCMD [\"python3\", \"example.py\"]\nADD . .\n```\n\n## Contribute\nTo help improve this project, feel free to make issues or pull requests via GitHub.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ChrisTerBeke/CuraPackageDeployer", "keywords": "", "license": "AGPL-3.0", "maintainer": "", "maintainer_email": "", "name": "CuraPackageDeployer", "package_url": "https://pypi.org/project/CuraPackageDeployer/", "platform": "", "project_url": "https://pypi.org/project/CuraPackageDeployer/", "project_urls": { "Homepage": "https://github.com/ChrisTerBeke/CuraPackageDeployer" }, "release_url": "https://pypi.org/project/CuraPackageDeployer/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Automatically build, deploy and distribute Ultimaker Cura Toolbox packages", "version": "1.1.0" }, "last_serial": 4329839, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "38b38bd23adc6fce276b20f001efa272", "sha256": "23f139a77cc5b0ddd7631f0b4f7cc9df690ee498c04825f2c2dc5972c254ae8b" }, "downloads": -1, "filename": "CuraPackageDeployer-1.0.0.tar.gz", "has_sig": false, "md5_digest": "38b38bd23adc6fce276b20f001efa272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6494, "upload_time": "2018-09-30T19:39:53", "url": "https://files.pythonhosted.org/packages/47/40/c31fd99cec4182d40a301e3905f26ae75f55ba46c2ded75e7582d02bcb3a/CuraPackageDeployer-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "bc78fec98ae51ff0bc8dab2b894f2c18", "sha256": "57cbbcae17af18d4bc7da0b86a733314fc4bc3a69094d11d6c59e7dec60be9bb" }, "downloads": -1, "filename": "CuraPackageDeployer-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bc78fec98ae51ff0bc8dab2b894f2c18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7206, "upload_time": "2018-10-01T19:35:40", "url": "https://files.pythonhosted.org/packages/d0/fa/912e5bec0cc3a127b69ae56bd978137678ffd5b9cb55f730f8a0bf5dc76c/CuraPackageDeployer-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc78fec98ae51ff0bc8dab2b894f2c18", "sha256": "57cbbcae17af18d4bc7da0b86a733314fc4bc3a69094d11d6c59e7dec60be9bb" }, "downloads": -1, "filename": "CuraPackageDeployer-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bc78fec98ae51ff0bc8dab2b894f2c18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7206, "upload_time": "2018-10-01T19:35:40", "url": "https://files.pythonhosted.org/packages/d0/fa/912e5bec0cc3a127b69ae56bd978137678ffd5b9cb55f730f8a0bf5dc76c/CuraPackageDeployer-1.1.0.tar.gz" } ] }