{ "info": { "author": "Huddleoss", "author_email": "opensource@huddle.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3.7" ], "description": "\n# Octopose\n\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/octopose.svg)](https://pypi.org/project/octopose/)\n\n![](docs/img/Octopose.png)\n\n**Octopose** is a manifest / state driven deployment framework for [Octopus Deploy](https://octopus.com/). Octopose allows you to create a manifest file based on your releases or deployments that are in Octopus Deploy.\n\n## Why Octopose?\n\n## Installation\n\n```\npip install octopose\n```\n\n## Configuration\n\nRunning Octopose requires various configuration variables which can be found in `config.master.yaml`:\n\n```\nOCTOPUS_URI: \"\"\nOCTOPUS_HEADERS:\n \"x-octopus-apikey\": \"\"\nPROJECTS:\n - \"\"\nSTAGING: \"~\\\\StagingLocation\"\nPACKAGE_SOURCES:\n - \"\"\n```\n\nCreate a copy of this file called `config.yaml` with your desired variables and copy it to `~\\.octopose\\config.yaml`\n\n## Usage\n\n### Creating a Manifest File\n\nCreate a manifest file from the `projects` in `config.yaml`:\n\n```\noctopose generate\n```\n\nThis will output to stdout a manifest based on those projects and the packages within them:\n\n```\n{\n 'Projects':\n {\n 'Huddle.ABC':\n {\n 'Packages': ['Huddle.ABC']\n },\n 'Huddle.XYZ':\n {\n 'Packages': ['Huddle.XYZ1', 'Huddle.XYZ2']\n }\n },\n 'StagingLocation': 'D:\\\\dev\\\\huddle\\\\StagingLocation'\n}\n```\n\n### Generate a manifest based on packages in a given environment\n\n```\noctopose generate -e uklive\n```\n\nThis will add the specific versions of the releases that are currently deployed into that environment:\n\n```\n{\n 'Projects':\n {\n 'Huddle.ABC':\n {\n 'Packages': ['Huddle.ABC'],\n 'Version': '1.0.0'\n },\n 'Huddle.XYZ':\n {\n 'Packages': ['Huddle.XYZ1', 'Huddle.XYZ2'],\n 'Version': '2.3.0'\n }\n },\n 'StagingLocation': 'D:\\\\dev\\\\huddle\\\\StagingLocation'\n}\n```\n\n### Generate a manifest to only deploy certain packages\n\n```\noctopose generate -p Huddle.ABC Huddle.XYZ\n```\n\nThis will only add the specified projects to the manifest:\n\n```\n{\n 'Projects':\n {\n 'Huddle.ABC':\n {\n 'Packages': ['Huddle.ABC'],\n 'Version': '1.0.0'\n },\n 'Huddle.XYZ':\n {\n 'Packages': ['Huddle.XYZ1', 'Huddle.XYZ2']\n }\n },\n 'StagingLocation': 'D:\\\\dev\\\\huddle\\\\StagingLocation'\n}\n```\n\n### Generate a manifest and ignore certain packages\n```\noctopose generate -i Tasks Publishing\noctopose generate --ignore Tasks \n```\nThis will remove projects from the manfest.\n\n### Save manifest to a file\n\n```\noctopose generate > manifest.json\n```\n\n### Deploy to local environment\n\nDeploying to a local environment helps set up developers with the latest code or reproduce a given environment for debugging on your developer workstation.\n\nIt reads in the manifest file supplied that describes the state of the local environment.\n\n```\noctopose deploy .\\manifest.json\n```\n\nOr\n```\ncat .\\manifest.json | octopose deploy .\\octopose.py\n```\n\n\nThis will pull down releases (or given versions) from the NuGet package sources specified in `config.yaml`. The run through the `PreDeploy.ps1`, `Deploy.ps1`, and `PostDeploy.ps1` executing them for the given release.\n\nThe commands can also be piped together:\n\n```\noctopose generate | octopose deploy\n```\n\n### Deploy to a known Octopus Deploy environment\n\nOctopose can also be used to deployed to remote environments such as staging and production using the releases and versions specified in the `manifest.json` file.\n\nThe following command will deploy the state described in the supplied `manifest.json` to the environment `uklive`.\n\n```\noctopose deploy -e uklive .\\manifest.json\n```\n\n`--force` flag will ensure the package is re-downloaded even if it is already deployed into the target environment.\n\n`--wait` flag will cause **octopose** to continually poll the Octopus Deploy Tasks till they are complete.\n\n`--verbose` (or `-v`) flag will cause **octopose** to output all logs from the `*Deploy.ps1` files. Otherwise there will only be logs from a script if a non-zero exit code is returned.\n\n```\noctopose deploy -e staging --wait --force --verbose\n```\n\n\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/HuddleEng/octopose", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "octopose", "package_url": "https://pypi.org/project/octopose/", "platform": "", "project_url": "https://pypi.org/project/octopose/", "project_urls": { "Homepage": "https://github.com/HuddleEng/octopose" }, "release_url": "https://pypi.org/project/octopose/0.2.13/", "requires_dist": [ "requests (>=2.22.0)", "pyyaml (>=5.1.2)" ], "requires_python": ">=3.7.0", "summary": "Command line tools for managing local and remote octopus deploys using manifests.", "version": "0.2.13" }, "last_serial": 5995902, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "21321a71754743be0dbcbc8424f5b21a", "sha256": "c08bfaa4766b0797ee8c99851b0166a43204d0ef195762bfd1b1522881d27d44" }, "downloads": -1, "filename": "octopose-0.1.0-py3.5.egg", "has_sig": false, "md5_digest": "21321a71754743be0dbcbc8424f5b21a", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 26449, "upload_time": "2018-04-11T15:41:27", "url": "https://files.pythonhosted.org/packages/dc/9d/1a2f3379290022b81dc79916be20ee2106afe673b8d2dfad62a58b8cfcee/octopose-0.1.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "f3bef4c0ce0eac3190c7618823cf731d", "sha256": "79bc9e1aa2e4ed14237ccb9a7c89b4b5fed70d328c04ead75bf78b82095fe84c" }, "downloads": -1, "filename": "octopose-0.1.0.zip", "has_sig": false, "md5_digest": "f3bef4c0ce0eac3190c7618823cf731d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1156572, "upload_time": "2018-04-11T15:41:29", "url": "https://files.pythonhosted.org/packages/18/77/684ffa5b3f55cd7c28ecf6ffbd43e1fdef613a6fc2459c06bd0a08f7d0d0/octopose-0.1.0.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "85997e256c3365470424510733aadb12", "sha256": "f0112e6c43f15079e0fd705ac4e612b3231d48d4f20596d14a3f18a718819826" }, "downloads": -1, "filename": "octopose-0.1.1-py3.5.egg", "has_sig": false, "md5_digest": "85997e256c3365470424510733aadb12", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 1164783, "upload_time": "2018-04-11T16:28:50", "url": "https://files.pythonhosted.org/packages/79/06/86983b0b8d90da47443f099b9d981d8b411def218517499035902bc488d6/octopose-0.1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "b617cae463799912d1974582ba263088", "sha256": "29157ffe0003d3d22eb1bc1c48c62643d91197b949d01f2a75bade62cee412eb" }, "downloads": -1, "filename": "octopose-0.1.1.zip", "has_sig": false, "md5_digest": "b617cae463799912d1974582ba263088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1156580, "upload_time": "2018-04-11T15:46:56", "url": "https://files.pythonhosted.org/packages/2f/b2/63a7accf37ab94863c491a05090fb4eb59cedfeaa4788163220cb8a748e4/octopose-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6472f2300b908bc926a9e553c85da373", "sha256": "cf178dea1b4b7bfaf2e3aa555dea5afadce8b4fa373a297506c49958d2f37ec7" }, "downloads": -1, "filename": "octopose-0.1.2.zip", "has_sig": false, "md5_digest": "6472f2300b908bc926a9e553c85da373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1156669, "upload_time": "2018-04-11T16:29:26", "url": "https://files.pythonhosted.org/packages/8b/d6/271b56eea9cee2a1785c32fa1b47ffd64c2626165ab0b74fd4e1f548b0c9/octopose-0.1.2.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bfae2640c69122ee1db1055d3670f2f3", "sha256": "e1c8c5c986e9301f11be4597a17be9a4304a1533bb239033aec8846d4bf37faa" }, "downloads": -1, "filename": "octopose-0.2.0.zip", "has_sig": false, "md5_digest": "bfae2640c69122ee1db1055d3670f2f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1159459, "upload_time": "2018-04-12T16:17:49", "url": "https://files.pythonhosted.org/packages/1e/96/a5507686b8bdc521045f0a8175784779e0f85cc86dc1536769ab929b5a5e/octopose-0.2.0.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5277860a92e80c7675eeadf73ef44dbc", "sha256": "f90feea7c47a6110348c95d4cee4990255c2cf3e59a4ac424089f4da21a74923" }, "downloads": -1, "filename": "octopose-0.2.1.zip", "has_sig": false, "md5_digest": "5277860a92e80c7675eeadf73ef44dbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1160957, "upload_time": "2018-04-12T16:21:09", "url": "https://files.pythonhosted.org/packages/9f/bd/f8a1939c9dddf1f2cf9bc0486dda2cea47f8196bedd8cbe2e0964ef25916/octopose-0.2.1.zip" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "225f8d34860aefbaf40db623b3de101d", "sha256": "62a0607cd08349f0c5194a96bcc82e53482963924d1685095a01253bd3fe19b0" }, "downloads": -1, "filename": "octopose-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "225f8d34860aefbaf40db623b3de101d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814792, "upload_time": "2019-05-07T17:22:58", "url": "https://files.pythonhosted.org/packages/ab/25/55afff8ae9c069996003241c9cfd7024a7b3b9103d369b448158ff9e20be/octopose-0.2.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ce0abb4420a4be38ad94904a1a034f", "sha256": "a5aae75a6a71383d66f095a2e968992fbf55f291c779e1a3b25781d111bca248" }, "downloads": -1, "filename": "octopose-0.2.10.tar.gz", "has_sig": false, "md5_digest": "f7ce0abb4420a4be38ad94904a1a034f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802678, "upload_time": "2019-05-07T17:23:01", "url": "https://files.pythonhosted.org/packages/58/02/d4ff47a1a64cf74e7298fcece10087c7ace4c05e3184ba8fccdae666e52e/octopose-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "33b6dfda5ec2b3ed676e270d53d925b5", "sha256": "ca659772d3ba8c0b01824a206d7fd7665c41067522401b4732a3dfe9bde26bcb" }, "downloads": -1, "filename": "octopose-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33b6dfda5ec2b3ed676e270d53d925b5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814267, "upload_time": "2019-06-14T10:20:11", "url": "https://files.pythonhosted.org/packages/c4/d0/c9e71a4fbbb6284e621cfb46ada19d718a52be7a0a8fe268281d8b51f0b2/octopose-0.2.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e2527fd6a51b5e4dda8dda362444a81", "sha256": "2ebb7ccddbb37d49a1100688d1d65c2e2782368323d89de4120f800606d77118" }, "downloads": -1, "filename": "octopose-0.2.11.tar.gz", "has_sig": false, "md5_digest": "0e2527fd6a51b5e4dda8dda362444a81", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802066, "upload_time": "2019-06-14T10:20:15", "url": "https://files.pythonhosted.org/packages/07/4b/2789e7ca58f85792da44fcbb08bea72c1f327384531cebd4c86042e764a2/octopose-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "6c14bd19608fa7f18ba43381b5d74c4a", "sha256": "c4545c2c0f9d242ffdc4c1fc183a504693bb5fb180e2c930dc67e1b911645b0c" }, "downloads": -1, "filename": "octopose-0.2.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6c14bd19608fa7f18ba43381b5d74c4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814263, "upload_time": "2019-10-18T13:54:39", "url": "https://files.pythonhosted.org/packages/8e/a6/07056059f3ee93de706042e34c96c6ce390ebef0f5bf5f9030cda8a375de/octopose-0.2.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e08e07a937da05fc006a129e9d6f3f98", "sha256": "224ce028a983a39aaff00738990879a77a47abf5296905858f1980d3370d2a87" }, "downloads": -1, "filename": "octopose-0.2.12.tar.gz", "has_sig": false, "md5_digest": "e08e07a937da05fc006a129e9d6f3f98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802799, "upload_time": "2019-10-18T13:54:42", "url": "https://files.pythonhosted.org/packages/b0/d7/8f29b2071875c1d003ff27be22eec4fe0149a9274a6efffa7a41ab638756/octopose-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "8db08d929beb810245ce915f3f189773", "sha256": "5a9b174a4c554cb2267f44a1d75561cee97a85ea86029b3d9235f56d37919d10" }, "downloads": -1, "filename": "octopose-0.2.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8db08d929beb810245ce915f3f189773", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814326, "upload_time": "2019-10-18T14:23:36", "url": "https://files.pythonhosted.org/packages/ed/a1/2e588c64190be6a93d77ee63d55ee52e592205eac9a8d25562c5ae242ffd/octopose-0.2.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebddb5ff3b8031a226546f125032d4e4", "sha256": "a06f10828fca70e9643d33491b6666e647568d530e6f5eddda8e3f6fa21125bd" }, "downloads": -1, "filename": "octopose-0.2.13.tar.gz", "has_sig": false, "md5_digest": "ebddb5ff3b8031a226546f125032d4e4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802915, "upload_time": "2019-10-18T14:23:39", "url": "https://files.pythonhosted.org/packages/cd/44/c67fd356c4f028ebd95e1d5e653aa88c18d29f68cf371f46db37fbde1646/octopose-0.2.13.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "2f0a75cc0d31360db4d2d3032dc84477", "sha256": "d462090d0c3c777f3d3d7f5caf3cc013ef12a57fed956093ca4e9387fbf0b260" }, "downloads": -1, "filename": "octopose-0.2.2.zip", "has_sig": false, "md5_digest": "2f0a75cc0d31360db4d2d3032dc84477", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1161016, "upload_time": "2018-05-31T09:34:56", "url": "https://files.pythonhosted.org/packages/13/0d/5ba807c6a5860181c85c49da4f66d219dcc35d58d514f996d44d43d7ec27/octopose-0.2.2.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "e005d4ba95c905e418d0b49dc63263fd", "sha256": "b2707a384156466826c607ccd53835bc7f45c746a18930b471b903db5d19b190" }, "downloads": -1, "filename": "octopose-0.2.3.zip", "has_sig": false, "md5_digest": "e005d4ba95c905e418d0b49dc63263fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1161704, "upload_time": "2018-07-12T13:56:16", "url": "https://files.pythonhosted.org/packages/ce/a9/d1338f908f3348a09ab682dedf19b8d8b381ffd62c263d7f96373d747224/octopose-0.2.3.zip" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "eef8eb5b0aa3566ffd65f81fd3553c9f", "sha256": "d27148379540e1cc00ea26594bd6b06fe8ae08e30b97f14491f461ac3224dec4" }, "downloads": -1, "filename": "octopose-0.2.4.tar.gz", "has_sig": false, "md5_digest": "eef8eb5b0aa3566ffd65f81fd3553c9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1146047, "upload_time": "2018-08-14T11:26:42", "url": "https://files.pythonhosted.org/packages/75/3f/f4a4a4e83b34a71793d17f5d2421d2ffd1f2b5f0810f7b4233f6acd33514/octopose-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "fd9bf1367fc227ee9a7a1b261e9d465f", "sha256": "139e05758c416d2e14e815d12e3d35a4ad1a20227f81f9b0fb304baf3e0362a5" }, "downloads": -1, "filename": "octopose-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd9bf1367fc227ee9a7a1b261e9d465f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 1157234, "upload_time": "2018-08-15T14:22:33", "url": "https://files.pythonhosted.org/packages/40/94/a06d77fd9109ed3e9d1cd6e06c181486a190ed007179ea6348e4c33d8e0d/octopose-0.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12e52a8da60fcb3ef2afe7c7ddc253d8", "sha256": "8db8aaef005eb3b51ea253fa204fa5d298833f46d708dcfcaf11d84169f61b1a" }, "downloads": -1, "filename": "octopose-0.2.5.tar.gz", "has_sig": false, "md5_digest": "12e52a8da60fcb3ef2afe7c7ddc253d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 1147858, "upload_time": "2018-08-15T14:22:36", "url": "https://files.pythonhosted.org/packages/59/64/07fb0d930481c7774371d4a6068c627d18cfd52fad3fe812d8e953fe4313/octopose-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "d58ebc2e3d65a03ed28e284e53c1bbe7", "sha256": "90209e6d1e33d5d599231498064e8bdf28d23691ebea821883a9be4e74299a14" }, "downloads": -1, "filename": "octopose-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d58ebc2e3d65a03ed28e284e53c1bbe7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 1724902, "upload_time": "2018-10-03T18:00:57", "url": "https://files.pythonhosted.org/packages/52/83/388fd68c853ac18a86564f066043d3eb1531cc8ca5b57e045921dd8e01fb/octopose-0.2.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9830a0353a73de1c78149b6ff8de17d5", "sha256": "65ad0f8dd4aa50a251bfaad2072e46e1678dbfa04379d8f7bd737459e27bf746" }, "downloads": -1, "filename": "octopose-0.2.6.tar.gz", "has_sig": false, "md5_digest": "9830a0353a73de1c78149b6ff8de17d5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 1715205, "upload_time": "2018-10-03T18:00:59", "url": "https://files.pythonhosted.org/packages/74/09/e9735bba37df125bc3eeda6c7ad00968f57c87ef96ca5f7a8478c6298fd4/octopose-0.2.6.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "30655adbdbc9af044b2c23a92fc5ca4f", "sha256": "7faa38e9e0f45f304d6ad9e695987df65dc42e494555fd881360cf7aaf670a74" }, "downloads": -1, "filename": "octopose-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30655adbdbc9af044b2c23a92fc5ca4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6.0", "size": 1725238, "upload_time": "2018-10-29T16:52:04", "url": "https://files.pythonhosted.org/packages/b8/07/302948f09819bf454296fc13fb80ff54f45acc4269881624571eefb2a805/octopose-0.2.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1e0e176ec6499b98159c327c897565e", "sha256": "832ed8276061e385d8c2a6213bb4226b9f1bb2b25b25feb6abd1f18054d8241c" }, "downloads": -1, "filename": "octopose-0.2.8.tar.gz", "has_sig": false, "md5_digest": "b1e0e176ec6499b98159c327c897565e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 1715577, "upload_time": "2018-10-29T16:52:06", "url": "https://files.pythonhosted.org/packages/21/7f/66db94e80938dd0ad85a59f5cb5685824244025c9394fb7a6e4fa581c5f5/octopose-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "0276a8b4269cfef14d1ca7b5f28dc532", "sha256": "b6b1a38eedf5e1decd19857dfeff352dff30e0a44985114691bfedb5539c87b6" }, "downloads": -1, "filename": "octopose-0.2.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0276a8b4269cfef14d1ca7b5f28dc532", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814775, "upload_time": "2019-05-07T17:04:59", "url": "https://files.pythonhosted.org/packages/41/9f/7081c9cc9e001287c63b9861f51d64fb475d631160cfa14028356e62f962/octopose-0.2.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1b15074530f8f0e679e9dedfd239773", "sha256": "ef184f69186b7aa03ef79e91685e1fb4088730f38f4cfb8c42cb443dda3e2937" }, "downloads": -1, "filename": "octopose-0.2.9.tar.gz", "has_sig": false, "md5_digest": "d1b15074530f8f0e679e9dedfd239773", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802655, "upload_time": "2019-05-07T17:05:03", "url": "https://files.pythonhosted.org/packages/48/61/23b8aa87f6f1a8834b64ac2caf4a50e4ce547352851652856dc204ccba6c/octopose-0.2.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8db08d929beb810245ce915f3f189773", "sha256": "5a9b174a4c554cb2267f44a1d75561cee97a85ea86029b3d9235f56d37919d10" }, "downloads": -1, "filename": "octopose-0.2.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8db08d929beb810245ce915f3f189773", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 1814326, "upload_time": "2019-10-18T14:23:36", "url": "https://files.pythonhosted.org/packages/ed/a1/2e588c64190be6a93d77ee63d55ee52e592205eac9a8d25562c5ae242ffd/octopose-0.2.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ebddb5ff3b8031a226546f125032d4e4", "sha256": "a06f10828fca70e9643d33491b6666e647568d530e6f5eddda8e3f6fa21125bd" }, "downloads": -1, "filename": "octopose-0.2.13.tar.gz", "has_sig": false, "md5_digest": "ebddb5ff3b8031a226546f125032d4e4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 1802915, "upload_time": "2019-10-18T14:23:39", "url": "https://files.pythonhosted.org/packages/cd/44/c67fd356c4f028ebd95e1d5e653aa88c18d29f68cf371f46db37fbde1646/octopose-0.2.13.tar.gz" } ] }