{ "info": { "author": "Filip Pytloun", "author_email": "filip.pytloun@tcpcloud.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "============\npython-aptly\n============\n\nAptly REST API client and useful tooling\n\nPublisher\n=========\n\nPublisher is tooling for easier maintenance of complex repository management\nworkflows.\n\nThis is how workflow can look like and what publisher can do for you:\n\n.. image:: ./doc/aptly-publisher.png\n :align: center\n\nFeatures\n--------\n\n- Create or update publish from latest snapshots\n\n - it takes configuration in yaml format which defines what to publish and\n how\n - expected snapshot format is ``-``\n\n- Promote publish\n\n - use source publish snapshots to create or update another publish (eg.\n testing -> stable)\n\n- Cleanup unused snapshots\n\n- Purge publishes and repositories\n\n- Restore and dump publishes\n\n- Supports Python 3 (recommended) and Python 2\n\nCreate or update publish\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nFirst create configuration file where you define Aptly repositories, mirrors\nand target distributions for publishing.\n\n.. code-block:: yaml\n\n mirror:\n # Ubuntu upstream repository\n trusty-main:\n # Base for our main component\n component: main\n distributions:\n - nightly/trusty\n # Mirrored 3rd party repository\n aptly:\n # Merge into main component\n component: main\n distributions:\n - nightly/trusty\n\n repo:\n # Some repository with custom software\n cloudlab:\n # Publish as component cloudlab\n component: cloudlab\n # Use swift storage named myswift for publish storage\n storage: swift:myswift\n distributions:\n # We want to publish our packages (that can't break anything for\n # sure) immediately to both nightly and testing repositories\n - nightly/trusty\n - testing/trusty\n\nConfiguration above will create two publishes from latest snapshots of\ndefined repositories and mirrors:\n\n- ``nightly/trusty`` with component cloudlab and main\n\n - creates snapshot ``_main-`` by merging snapshots\n ``aptly-`` and ``trusty-main-``)\n\n- ``testing/trusty`` with component cloudlab, made of repository cloudlab\n\nIt expects that snapshots are already created (by mirror syncing script or by\nCI when new package is built) so it does following:\n\n- find latest snapshot (by creation date) for each defined mirror and\n repository\n\n - snapshots are recognized by name (eg. ``cloudlab-``,\n ``trusty-main-``)\n\n- create new snapshot by merging snapshots with same publish component\n\n - eg. create ``_main-`` from latest ``trusty-main-``\n and ``aptly-`` snapshots\n - merged snapshots are prefixed by ``_`` to avoid collisions with other\n snapshots\n - first it checks if merged snapshots already exists and if so, it will skip\n creation of duplicated snapshot. So it's tries to be fully idempotent.\n\n- create or update publish or publishes as defined in configuration\n\nIt can be executed like this:\n\n::\n\n aptly-publisher -c config.yaml -v --url http://localhost:8080 publish\n\nPromote publish\n~~~~~~~~~~~~~~~\n\nLet's assume you have following prefixes and workflow:\n\n- nightly\n\n - created by `publish` action when there's new snapshot or synced mirror\n - packages are always up to date\n\n- testing\n\n - freezed repository for testing and stabilization\n\n- stable\n\n - well tested package versions\n - well controlled update process\n\nThere can be more publishes under prefix, eg. ``nightly/trusty``,\n``nightly/vivid``\n\nThen you need to switch published snapshots from one publish to another one.\n\n::\n\n aptly-publisher -v --url http://localhost:8080 \\\n --source nightly/trusty --target testing/trusty \\\n publish\n\nYou can also specify list of components. When you have separate components for\nyour packages (eg. cloudlab) and security (mirror of trusty security\nrepository), you may need to release them faster.\n\n::\n\n aptly-publisher -v --url http://localhost:8080 \\\n --source nightly/trusty --target testing/trusty \\\n --components cloudlab security -- publish\n\nFinally you are also able to promote selected packages, eg.\n\n::\n\n aptly-publisher -v --url http://localhost:8080 \\\n --source nightly/trusty --target testing/trusty \\\n --packages python-aptly aptly -- publish\n\nShow differences between publishes\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can see differences between publishes with following command:\n\n::\n\n aptly-publisher -v --url http://localhost:8080 \\\n --source nightly/trusty --target testing/trusty \\\n promote --diff\n\nExample output can look like this:\n\n.. image:: ./doc/publisher_diff_example.png\n :align: center\n\nCleanup unused snapshots\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nWhen you are creating snapshots regularly, you need to delete old ones that\nare not used by any publish. It's wise to call such action every time when\npublish is updated (eg. nightly).\n\n::\n\n aptly-publisher -v --url http://localhost:8080 cleanup\n\nPurge unused packages from repo and publishes\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nWhen you are uploading a lot version of the same package, you may want to\nget rid of old packages version in your snapshots.\nBe careful, the option ``--hard`` will remove the packages from your repos.\n\n::\n\n aptly-publisher -v --url http://localhost:8080 --component extra --hard purge\n\nInstallation\n============\n\nYou can install directly using from local checkout or from pip:\n\n::\n\n python3 setup.py install\n pip3 install python-aptly\n\n\nOr better build Debian package with eg.:\n\n::\n\n dpkg-buildpackage -uc -us\n\nRead more\n=========\n\nFor usage informations, see ``aptly-publisher --help`` or generate and view\nman page.\n\n::\n\n PYTHONPATH=. help2man -n \"aptly-publisher - tool for easy creation of Aptly multi component publishes\" --version-string=$(grep version setup.py|cut -d '\"' -f 2) \"python3 aptly/publisher/__main__.py\" | sed -e s,__main__.py,aptly-publisher,g -e s,__MAIN__.PY,APTLY-PUBLISHER,g > aptly-publisher.1\n man aptly-publisher.1\n\nAlso see ``doc/examples`` directory.\n\nFor examples of jenkins jobs, have a look at `tcpcloud/jenkins-jobs `_ repository.\n\nKnown issues\n============\n\n- determine source snapshots correctly\n (`#271 `_)\n- cleanup merged snapshots before cleaning up source ones\n\n - before that it's needed to run cleanup action multiple times to get all\n unused snapshots cleaned\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tcpcloud/python-aptly", "keywords": "aptly debian repository", "license": "GPLv2", "maintainer": "", "maintainer_email": "", "name": "python-aptly", "package_url": "https://pypi.org/project/python-aptly/", "platform": "", "project_url": "https://pypi.org/project/python-aptly/", "project_urls": { "Homepage": "https://github.com/tcpcloud/python-aptly" }, "release_url": "https://pypi.org/project/python-aptly/0.12.12/", "requires_dist": null, "requires_python": "", "summary": "Aptly REST API client and tooling", "version": "0.12.12" }, "last_serial": 4401745, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "f30d5da0be9ace21c7e697c1be0a9bcd", "sha256": "8f35571f087d28e57214a0f8cf42f7d0f57e751644e7b35db2f48842e37efc43" }, "downloads": -1, "filename": "python-aptly-0.10.tar.gz", "has_sig": false, "md5_digest": "f30d5da0be9ace21c7e697c1be0a9bcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103521, "upload_time": "2017-08-17T13:26:51", "url": "https://files.pythonhosted.org/packages/09/36/4792785185b0362a411074e74e086effec3ccafd5bb7c776935b4d9d602f/python-aptly-0.10.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "1911830637803decac4d9c64b0ec8cf2", "sha256": "674b1bc5efa709646195a230912dea8a71371df86c429491aa9891082060f0e2" }, "downloads": -1, "filename": "python-aptly-0.10.1.tar.gz", "has_sig": false, "md5_digest": "1911830637803decac4d9c64b0ec8cf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 105510, "upload_time": "2017-10-16T11:35:28", "url": "https://files.pythonhosted.org/packages/cd/98/3b68bfad8837fce69cac8d47a388dbf3efeed01eefbc66c3314b1d099fa2/python-aptly-0.10.1.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "0efb522021b4f31f1729e46c87f57af7", "sha256": "746ab03ed3b9c1335c4597909fbc652ee47aa98d0a7a819f01fb33afbc60cf20" }, "downloads": -1, "filename": "python-aptly-0.11.tar.gz", "has_sig": false, "md5_digest": "0efb522021b4f31f1729e46c87f57af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16040, "upload_time": "2017-11-20T12:49:54", "url": "https://files.pythonhosted.org/packages/98/92/be2b0787a23001189c26604ecba39d598065c7f6d507b2ca82f63f5c42d3/python-aptly-0.11.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "516e881ed695e03a155b726c0412cb28", "sha256": "39573108eb789716a78d05d54368f12887b7ebdc08b1a97a7ce92c16ea5e592b" }, "downloads": -1, "filename": "python-aptly-0.11.1.tar.gz", "has_sig": false, "md5_digest": "516e881ed695e03a155b726c0412cb28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16062, "upload_time": "2017-11-21T14:16:00", "url": "https://files.pythonhosted.org/packages/2a/d0/dac71461fc0692776ccae030929451053f4e4a8815edee92267f4e6b5322/python-aptly-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "b88413380cf7f557defb60e1dbcda52a", "sha256": "823337a4155743b3c77c8ef65a25d20838d1bae5bf12c629c0267af31275d77b" }, "downloads": -1, "filename": "python-aptly-0.11.2.tar.gz", "has_sig": false, "md5_digest": "b88413380cf7f557defb60e1dbcda52a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16164, "upload_time": "2017-11-22T11:48:32", "url": "https://files.pythonhosted.org/packages/f9/9e/6d41c4e17fa19399e33a141f3147977fbb0e1f0cc4effc0264eaa9a331bd/python-aptly-0.11.2.tar.gz" } ], "0.11.3": [ { "comment_text": "", "digests": { "md5": "fb8d6672b411a83311077088633ab8b7", "sha256": "6e0f091bc95bad613e875aae69897e1fa11ba4f71ec99091270b7242d59565fa" }, "downloads": -1, "filename": "python-aptly-0.11.3.tar.gz", "has_sig": false, "md5_digest": "fb8d6672b411a83311077088633ab8b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16238, "upload_time": "2017-11-23T10:15:50", "url": "https://files.pythonhosted.org/packages/82/83/7bb31940e5136a710cd9ab35c4dbee9950200a8afa67fa46b6ce61eff17b/python-aptly-0.11.3.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "d591771fa474eac4e52606ac220e4225", "sha256": "dc6e661f11e2743d61de92445d8b898d913fc906639f4b511458fe9e0e0191a8" }, "downloads": -1, "filename": "python-aptly-0.12.tar.gz", "has_sig": false, "md5_digest": "d591771fa474eac4e52606ac220e4225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16765, "upload_time": "2017-12-04T14:07:42", "url": "https://files.pythonhosted.org/packages/cf/5d/130800d2c1dea9e96206a0201df65bd20245886016beb11368008ce21a99/python-aptly-0.12.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "67f93b84219b72fd83652c9113bb5639", "sha256": "51ce611e84870ab85ea6c5adbc86019875244b94f2587ac8858df2ca050d41bb" }, "downloads": -1, "filename": "python-aptly-0.12.1.tar.gz", "has_sig": false, "md5_digest": "67f93b84219b72fd83652c9113bb5639", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16800, "upload_time": "2017-12-05T13:56:12", "url": "https://files.pythonhosted.org/packages/65/cf/41cac2be5adfe1c72439ad7a19a3dc3f3c6417838c8942fc428b3b3a92be/python-aptly-0.12.1.tar.gz" } ], "0.12.10": [ { "comment_text": "", "digests": { "md5": "73be73a38b8962a6a9acb0b0f9887dbe", "sha256": "f3b8fa48d79bfde186197a253b8b135a54c00f62d1e23be53f5253232f4ca753" }, "downloads": -1, "filename": "python-aptly-0.12.10.tar.gz", "has_sig": false, "md5_digest": "73be73a38b8962a6a9acb0b0f9887dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17442, "upload_time": "2018-01-16T12:55:25", "url": "https://files.pythonhosted.org/packages/b2/cc/394f6ded1b68b24027a39b05b5808668f18e4401522edd1b7b3733fbb197/python-aptly-0.12.10.tar.gz" } ], "0.12.11": [ { "comment_text": "", "digests": { "md5": "0aab7fc72aad8bb061468f510b468c4c", "sha256": "edf83e370a2685ab95daca74e80736708b2d34ad256ced09526c4a205b51af46" }, "downloads": -1, "filename": "python-aptly-0.12.11.tar.gz", "has_sig": false, "md5_digest": "0aab7fc72aad8bb061468f510b468c4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17733, "upload_time": "2018-01-30T20:28:05", "url": "https://files.pythonhosted.org/packages/0a/37/1b3de73e9885d5ea53f36c9f1afd6d357ea5aec1c1a4053117372ffbc45a/python-aptly-0.12.11.tar.gz" } ], "0.12.12": [ { "comment_text": "", "digests": { "md5": "73e6c03146589cd4958333dd56c27a8e", "sha256": "dcf22a8f8b916632514175d26d9cbbfbcf010b51baabcac03c2ed444fd5ff4a6" }, "downloads": -1, "filename": "python-aptly-0.12.12.tar.gz", "has_sig": false, "md5_digest": "73e6c03146589cd4958333dd56c27a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15754, "upload_time": "2018-10-22T09:41:02", "url": "https://files.pythonhosted.org/packages/84/59/f24ef806bd2393b820ccff72f3f1d84e9c529d32f5a3bc48125a7bbed864/python-aptly-0.12.12.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "36bc45b38112de47d6ff1f6f2864a1be", "sha256": "445a19983c4aea33a58e982963745caa6544cb82e5e51f7ee01439a6897eb68b" }, "downloads": -1, "filename": "python-aptly-0.12.2.tar.gz", "has_sig": false, "md5_digest": "36bc45b38112de47d6ff1f6f2864a1be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16863, "upload_time": "2017-12-08T12:34:02", "url": "https://files.pythonhosted.org/packages/f4/57/4ba44cc80c2880a3183a0cfc1078b39c36c43f0e4d7f1ca7acb7fa8f31c6/python-aptly-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "4d44785e375eca915a676ddb5a0d3d26", "sha256": "4512022c430eea779f005a654f782b7a9257352d467748dc42453b335a99c42c" }, "downloads": -1, "filename": "python-aptly-0.12.3.tar.gz", "has_sig": false, "md5_digest": "4d44785e375eca915a676ddb5a0d3d26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16894, "upload_time": "2017-12-08T13:12:28", "url": "https://files.pythonhosted.org/packages/01/6b/f6d8f4252a62bb04a3f9c64522b7c05b50b7928428143f559dc9320d2744/python-aptly-0.12.3.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "d730515430d0366a2aba45474890e82d", "sha256": "fe18bc86021645ac164a20b1ae78479ad16d66d366cad7e2fa22df74f4fde921" }, "downloads": -1, "filename": "python-aptly-0.12.4.tar.gz", "has_sig": false, "md5_digest": "d730515430d0366a2aba45474890e82d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17013, "upload_time": "2017-12-11T14:56:50", "url": "https://files.pythonhosted.org/packages/e7/c2/07cb3d3e7899c05e1ace7429dbc5a21ffdb07b92697d869208d9239b78b4/python-aptly-0.12.4.tar.gz" } ], "0.12.5": [ { "comment_text": "", "digests": { "md5": "dbae8a7e689336b514375dde99ac7f70", "sha256": "67fa5b1de3d2b8c2efcfa5f88316d9e8904e42ee212238c1e1e8cd96f5ab0a3b" }, "downloads": -1, "filename": "python-aptly-0.12.5.tar.gz", "has_sig": false, "md5_digest": "dbae8a7e689336b514375dde99ac7f70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17020, "upload_time": "2018-01-04T11:56:00", "url": "https://files.pythonhosted.org/packages/39/50/56c6212eb12b71b812b2e06916ae3b608e6b3ab95b11f4c631a87358f472/python-aptly-0.12.5.tar.gz" } ], "0.12.6": [ { "comment_text": "", "digests": { "md5": "f1cf62af4969b19f043dbf6ed5df1ea2", "sha256": "e7bf30ed25c165e6f8653ca35ec0659448d387832043e6ea5ad2ae0a2746eeff" }, "downloads": -1, "filename": "python-aptly-0.12.6.tar.gz", "has_sig": false, "md5_digest": "f1cf62af4969b19f043dbf6ed5df1ea2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17035, "upload_time": "2018-01-09T15:47:09", "url": "https://files.pythonhosted.org/packages/49/e2/99e6c91bfdd32bfb54a438072c6f5e0959fe9c25dfeca82fdcbe72f19d6e/python-aptly-0.12.6.tar.gz" } ], "0.12.7": [ { "comment_text": "", "digests": { "md5": "5aaab04ce28dcc513961aaae57fd7f38", "sha256": "29db4831f54d89a9908fad94106765c3c7916b390a0f90a437c866bcd18f199d" }, "downloads": -1, "filename": "python-aptly-0.12.7.tar.gz", "has_sig": false, "md5_digest": "5aaab04ce28dcc513961aaae57fd7f38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17118, "upload_time": "2018-01-10T13:52:54", "url": "https://files.pythonhosted.org/packages/9d/23/1d964560bc87869a087224a72ac4eafbe2363116e9c774cc2fb3de1ab198/python-aptly-0.12.7.tar.gz" } ], "0.12.8": [ { "comment_text": "", "digests": { "md5": "f500f9385e801031574f7ca58df59cdf", "sha256": "5f3d909e471957514c342d4d661f1da8bcfa6c1a697e40f070b54e02345c06b0" }, "downloads": -1, "filename": "python-aptly-0.12.8.tar.gz", "has_sig": false, "md5_digest": "f500f9385e801031574f7ca58df59cdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17127, "upload_time": "2018-01-10T14:04:52", "url": "https://files.pythonhosted.org/packages/a3/40/c9f1ee936ac77b6259011def2d0824f7cc989711bc4b4c1f134e18a3d86c/python-aptly-0.12.8.tar.gz" } ], "0.12.9": [ { "comment_text": "", "digests": { "md5": "f9afcc57867dc161e10510fbb023ac30", "sha256": "ff7cc5f3a3859a2d5d68afd5f439426be53f36f2e644c74108eb7d45f362c4bb" }, "downloads": -1, "filename": "python-aptly-0.12.9.tar.gz", "has_sig": false, "md5_digest": "f9afcc57867dc161e10510fbb023ac30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17118, "upload_time": "2018-01-10T14:30:15", "url": "https://files.pythonhosted.org/packages/3f/17/7c453643630ffe18af63e6d1086c5edcfe1f452cb7a6813271460e09e2bd/python-aptly-0.12.9.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "59183d1960df83e97cf03b48bb1fbbfa", "sha256": "a83eb5af1b4a139e7500d4e3e2d95e23c191753f4cd416d57c75fd505276b4f7" }, "downloads": -1, "filename": "python-aptly-0.4.6.tar.gz", "has_sig": false, "md5_digest": "59183d1960df83e97cf03b48bb1fbbfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7757, "upload_time": "2015-08-20T18:36:26", "url": "https://files.pythonhosted.org/packages/ae/dc/1e868e9b9411edd65ccb29c1db7b7f4baba81c650b1bc9cd7b3f3b07927b/python-aptly-0.4.6.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "b443bfdf5a2e935155e090114b393952", "sha256": "b134657040da39bf21536fa3def17577e7af3e65154fa913378ff5094b4faf7a" }, "downloads": -1, "filename": "python-aptly-0.5.1.tar.gz", "has_sig": false, "md5_digest": "b443bfdf5a2e935155e090114b393952", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8581, "upload_time": "2015-08-21T12:36:00", "url": "https://files.pythonhosted.org/packages/91/2a/c78a8fd6cb6ad4d4bceeb0430cc9f680ba9eb2e035db3c244743b7231b13/python-aptly-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "720bbf048762d236a325631a69fb5236", "sha256": "b274c873c52ba678658c55b565a3aaa7bb3b5732e3d9fd2fefb2020c4c10afd2" }, "downloads": -1, "filename": "python-aptly-0.5.2.tar.gz", "has_sig": false, "md5_digest": "720bbf048762d236a325631a69fb5236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8578, "upload_time": "2015-08-21T12:45:24", "url": "https://files.pythonhosted.org/packages/21/28/74f749fb37ce75e645d2205862371a97083e45b88958678dd2acfb8fb9d0/python-aptly-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "1219ca729147dcf389b0f7219c1b46e2", "sha256": "4acac16427f03df67c251605aa8c507fab2861e82f3169a95455218a087e5d34" }, "downloads": -1, "filename": "python-aptly-0.5.3.tar.gz", "has_sig": false, "md5_digest": "1219ca729147dcf389b0f7219c1b46e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8708, "upload_time": "2015-08-24T12:05:29", "url": "https://files.pythonhosted.org/packages/3c/f3/c6ca841a50aff381217e63353a159a56575cff8c17bf98aabd4c67333a81/python-aptly-0.5.3.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "0c53f75b399ad07e3111e5c877e71c9e", "sha256": "7adc8fe1858d8e652ac31c9fbff1637a85854a433a73ec2fb13b4ca0a2c20dd5" }, "downloads": -1, "filename": "python-aptly-0.7.1.tar.gz", "has_sig": false, "md5_digest": "0c53f75b399ad07e3111e5c877e71c9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9390, "upload_time": "2016-02-08T10:15:46", "url": "https://files.pythonhosted.org/packages/16/d0/f03c13fd5a0ae03bcd8e61dcf3848bca7c81d08715fc9ef059f7ac07d437/python-aptly-0.7.1.tar.gz" } ], "0.7.11": [ { "comment_text": "", "digests": { "md5": "d4e6f0a4d771b4684cf112907f482be9", "sha256": "e62b117cd7504f84c8744aebbbd21f6b0ee5615d1ff635bd8ac4b3dcaaa74dad" }, "downloads": -1, "filename": "python-aptly-0.7.11.tar.gz", "has_sig": false, "md5_digest": "d4e6f0a4d771b4684cf112907f482be9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12403, "upload_time": "2016-11-25T11:16:57", "url": "https://files.pythonhosted.org/packages/31/ab/53cf69a12e99c2ae298c582218fbce175300b79cd0576c1ba7a802fd7cf8/python-aptly-0.7.11.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "c310cd532e2705df152d20683c326c3f", "sha256": "6eee5d4634cc584d5bd6cdb59061c40ea3fdcb4731b2b3bd5a9e5126fa92b976" }, "downloads": -1, "filename": "python-aptly-0.7.2.tar.gz", "has_sig": false, "md5_digest": "c310cd532e2705df152d20683c326c3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9518, "upload_time": "2016-02-24T08:47:16", "url": "https://files.pythonhosted.org/packages/f8/87/a784bc820005e7d03b576e72907f9df196c31df20a637a6bcc56e606a2dd/python-aptly-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "aedd706cb2e1ab920a69c5eee460071f", "sha256": "7baa9138d0b62b199a3d25a92fd15c880be01dbfb4406b7f71ff3f80447b3ec1" }, "downloads": -1, "filename": "python-aptly-0.7.3.tar.gz", "has_sig": false, "md5_digest": "aedd706cb2e1ab920a69c5eee460071f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9585, "upload_time": "2016-03-04T20:25:57", "url": "https://files.pythonhosted.org/packages/8a/fb/72bfa109a6d572458b797d0a2d2ea8c2a19f0de5260fffbb07fba68d054a/python-aptly-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "ba6bbeadca66786281c274a5480b7e79", "sha256": "72625d1727812fd46679f4cd720c63201f2cf4badd09da41adce51f1eeab5049" }, "downloads": -1, "filename": "python-aptly-0.7.4.tar.gz", "has_sig": false, "md5_digest": "ba6bbeadca66786281c274a5480b7e79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9598, "upload_time": "2016-03-17T16:50:12", "url": "https://files.pythonhosted.org/packages/35/4f/3678041856f9aa6a9ac7d7c3bff4e2fb69a7122d66c2d9dc9e52eaaf21df/python-aptly-0.7.4.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "5e07bbd2326b0af327244f5b71789064", "sha256": "f78b263c777079fcbcfb2e92ed6acfb7f729b5a721dfada1fe122b1b40816dc4" }, "downloads": -1, "filename": "python-aptly-0.8.tar.gz", "has_sig": false, "md5_digest": "5e07bbd2326b0af327244f5b71789064", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10201, "upload_time": "2016-12-02T13:28:52", "url": "https://files.pythonhosted.org/packages/10/c0/26a6fa1f311fe86ac8cf055d3fd73e0fc863932a65fcec69cf8686ba8304/python-aptly-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "be350931ce52c447f3ccb97b4b56b07a", "sha256": "fed50867ccb5ade8ab37123043570c05d007bcd0be866f1b9110bfd65f6a96ee" }, "downloads": -1, "filename": "python-aptly-0.8.1.tar.gz", "has_sig": false, "md5_digest": "be350931ce52c447f3ccb97b4b56b07a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104416, "upload_time": "2017-01-17T10:07:52", "url": "https://files.pythonhosted.org/packages/c7/16/d62a83d5fedd8fc2094228b25f96907b36bb2f2099ff74347e277a13d993/python-aptly-0.8.1.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "444e8a68a668a18d027be083ba8a646a", "sha256": "80d4f3c9bf40b8ee36b0a2536e1557cf49ba6ceb97e4762e24162b4d8c3725df" }, "downloads": -1, "filename": "python-aptly-0.9.tar.gz", "has_sig": false, "md5_digest": "444e8a68a668a18d027be083ba8a646a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 100189, "upload_time": "2017-04-21T15:50:29", "url": "https://files.pythonhosted.org/packages/ee/5f/8f4d42a355625f1d47044d795c2eb4fe298bf2b8d1c6e2e9584b03a7202a/python-aptly-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "221b67a830e8f4815b9202db11dd586b", "sha256": "89bff7cc75f1e0ed4ddca51453244a7846ccc39d9c8034048837e84a4590f150" }, "downloads": -1, "filename": "python-aptly-0.9.1.tar.gz", "has_sig": false, "md5_digest": "221b67a830e8f4815b9202db11dd586b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102362, "upload_time": "2017-04-21T15:57:37", "url": "https://files.pythonhosted.org/packages/61/ad/d9bce33692cff0cd6342ab76dbcc6b3eabbd971415b44a97f4fc837a96d7/python-aptly-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "73e6c03146589cd4958333dd56c27a8e", "sha256": "dcf22a8f8b916632514175d26d9cbbfbcf010b51baabcac03c2ed444fd5ff4a6" }, "downloads": -1, "filename": "python-aptly-0.12.12.tar.gz", "has_sig": false, "md5_digest": "73e6c03146589cd4958333dd56c27a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15754, "upload_time": "2018-10-22T09:41:02", "url": "https://files.pythonhosted.org/packages/84/59/f24ef806bd2393b820ccff72f3f1d84e9c529d32f5a3bc48125a7bbed864/python-aptly-0.12.12.tar.gz" } ] }