{ "info": { "author": "Gogo DevOps", "author_email": "ps-devops-tooling@example.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "|Build Status| |Doc Status| |PyPi Badge|\n\n\nLavatory\n========\n\nTooling to define repository specific retention policies in Artifactory.\nAllows highly customizable retention policies via Python plugins.\n\nSee `Lavatory Documentation`_ for the full docs.\n\nRequirements\n------------\n\n- Python 3.5+\n- Artifactory user with API permissions\n\nAuthentication\n--------------\n\nThis tool looks for 3 enviroment variables in order to authenticate:\n\n``ARTIFACTORY_URL`` - Base URL to use for Artifactory connections\n\n``ARTIFACTORY_USERNAME`` - Username to Artifactory\n\n``ARTIFACTORY_PASSWORD`` - Password for Artifactory\n\nThese will be loaded in at the beginning of a run and raise an exception\nif missing.\n\nInstalling\n----------\n\nFrom pypi:\n\n``pip install lavatory``\n\nOr install directly from the code:\n\n::\n\n git clone https://github.com/gogoair/lavatory\n cd lavatory\n pip install -U .\n\nRunning\n-------\n\n::\n\n $ lavatory --help\n Usage: lavatory [OPTIONS] COMMAND [ARGS]...\n\n Lavatory is a tool for managing Artifactory Retention Policies.\n\n Options:\n -v, --verbose Increases logging level.\n --help Show this message and exit.\n\n Commands:\n purge Deletes artifacts based on retention policies.\n stats Get statistics of a repo.\n version Print version information.\n\nPurging Artifacts\n~~~~~~~~~~~~~~~~~\n\n``lavatory purge --policies-path=/path/to/policies``\n\n::\n\n $ lavatory purge --help\n Usage: lavatory purge [OPTIONS]\n\n Deletes artifacts based on retention policies.\n\n Options:\n --policies-path TEXT Path to extra policies directory.\n --dryrun / --nodryrun Dryrun does not delete any artifacts.\n [default: True]\n --default / --no-default Applies default retention policy. [default:\n True]\n --repo TEXT Name of specific repository to run against.\n Can use --repo multiple times. If not\n provided, uses all repos.\n --repo-type [local|virtual|cache|any]\n The types of repositories to search for.\n [default: local]\n --help Show this message and exit.\n\n\nIf you want to run Lavatory against a specific repository, you can use ``--repo ``.\nYou can specify ``--repo`` as multiple times to run against multiple repos. If ``--repo`` is not\nprovided, Lavatory will run against all repos in Artifactory.\n\nGetting Statistics\n~~~~~~~~~~~~~~~~~~\n``lavatory stats --repo test-local``\n\n::\n\n $ lavatory stats --help\n Usage: lavatory stats [OPTIONS]\n\n Get statistics of a repo.\n\n Options:\n --repo TEXT Name of specific repository to run against. Can\n use --repo multiple times. If not provided, uses\n all repos.\n --help Show this message and exit.\n\nPolicies\n--------\n\nSee the `Creating Retention Policies`_ docs for more details on how\nto create and use retention policies with Lavatory.\n\nListing Policies\n~~~~~~~~~~~~~~~~\n\nLavatory looks at a policy functions docstring in order to get a description. You can list all repos and a description\nof the policy that would apply to them with the ``lavatory policies`` command.\n\n::\n\n $ lavatory policies --help\n Usage: lavatory policies [OPTIONS]\n\n Prints out a JSON list of all repos and policy descriptions.\n\n Options:\n --policies-path TEXT Path to extra policies directory.\n --repo TEXT Name of specific repository to run against.\n Can use --repo multiple times. If not\n provided, uses all repos.\n --repo-type [local|virtual|cache|any]\n The types of repositories to search for.\n [default: local]\n --help Show this message and exit.\n\nTesting\n-------\n\n::\n\n pip install -r requirements-dev.txt\n tox\n\n.. |Build Status| image:: https://travis-ci.org/gogoair/lavatory.svg?branch=master\n :target: https://travis-ci.org/gogoair/lavatory\n\n.. |Doc Status| image:: https://readthedocs.org/projects/lavatory/badge/?version=latest\n :target: http://lavatory.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. |PyPi Badge| image:: https://badge.fury.io/py/lavatory.svg\n :target: https://badge.fury.io/py/lavatory\n\n.. _`Lavatory Documentation`: http://lavatory.readthedocs.io/en/latest/index.html\n.. _`Creating Retention Policies`: http://lavatory.readthedocs.io/en/latest/policies/index.html\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/gogoair/lavatory", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gogoair/lavatory", "keywords": "gogo infrastructure python artifactory jfrog", "license": "Apache License (2.0)", "maintainer": "", "maintainer_email": "", "name": "lavatory", "package_url": "https://pypi.org/project/lavatory/", "platform": "OS Independent", "project_url": "https://pypi.org/project/lavatory/", "project_urls": { "Download": "https://github.com/gogoair/lavatory", "Homepage": "https://github.com/gogoair/lavatory" }, "release_url": "https://pypi.org/project/lavatory/1.2.2/", "requires_dist": [ "pip", "click", "coloredlogs", "certifi", "requests", "humanfriendly", "party", "pluginbase" ], "requires_python": "", "summary": "Run retention policies against Artifactory repositories", "version": "1.2.2" }, "last_serial": 4765637, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "482191987651f3e1f6fe49f3881c4993", "sha256": "3eadd74d3b5139cccf52783f10b53a551aeb2fdb4e5b50c896a9dfb04d00edb6" }, "downloads": -1, "filename": "lavatory-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "482191987651f3e1f6fe49f3881c4993", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9060, "upload_time": "2017-10-27T20:03:15", "url": "https://files.pythonhosted.org/packages/76/3b/34f4e7307cf55e8905cbae893d81223bd3a78235cc54c2eb0eb8cd05597f/lavatory-0.0.1-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "e62f8c56841eba690ca49d4153d5eae0", "sha256": "690be058e776e31af15331a0f0d83938396bba873ec5348def098d3327edf41f" }, "downloads": -1, "filename": "lavatory-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e62f8c56841eba690ca49d4153d5eae0", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 10771, "upload_time": "2017-10-27T21:06:58", "url": "https://files.pythonhosted.org/packages/01/85/5b8cc6e924fe7ec90917503178ee7c7f5de0260f4b3a1abd437d53903d1e/lavatory-0.0.2-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0dd8f5d98ec156882de4395f54c10e3d", "sha256": "a830bfc4e66a07e0ec972d5cfb527e2511bdaec6e9d882151163d0e980000422" }, "downloads": -1, "filename": "lavatory-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0dd8f5d98ec156882de4395f54c10e3d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14009, "upload_time": "2017-11-06T19:42:22", "url": "https://files.pythonhosted.org/packages/a2/c5/65416466f576cf41d2edec073679ebc090fbeb308d6d3122072ee691ec71/lavatory-0.2.0-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1f4543d0c5f86b919e2e4070a7c625c8", "sha256": "963eb83e029dfcbd88b4a7346d24feebff70ed14889b7d4516d9ba0d2cd4404b" }, "downloads": -1, "filename": "lavatory-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1f4543d0c5f86b919e2e4070a7c625c8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14847, "upload_time": "2017-11-07T18:56:55", "url": "https://files.pythonhosted.org/packages/02/6d/0f9510f95e8c925f92614c003f0aea672ed271d7963b8b114c35af0e3fed/lavatory-0.3.0-py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "6eb263b009a01afc44adc18dac5700eb", "sha256": "2bee5535404a6e85cfc8fe0164a5ab8abb985650ac56440693a2d3e9d3942efc" }, "downloads": -1, "filename": "lavatory-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6eb263b009a01afc44adc18dac5700eb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14865, "upload_time": "2017-11-07T19:38:16", "url": "https://files.pythonhosted.org/packages/5f/2e/ccd28c814db00dee7c013b227758f82e4830291566bb063e31eebc7779f5/lavatory-0.3.1-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "bf311eb3dde8d25ce16a37dcc6fa46d2", "sha256": "8862ffb63c8f4985607396066ea20b890e5a9e6034569dbdae2f87490b1fda90" }, "downloads": -1, "filename": "lavatory-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bf311eb3dde8d25ce16a37dcc6fa46d2", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16060, "upload_time": "2017-11-08T16:32:44", "url": "https://files.pythonhosted.org/packages/5a/c6/08c01cc5f48b6d38129f80784e4c253e2d344ffeba5bb444da24ffd2226b/lavatory-0.4.0-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b0ebc7b0ddf271992ef045c15161c8ad", "sha256": "b1caf944da977d920ca5e5e678f94999d64db9f7329a2b449af0c79d306f98d9" }, "downloads": -1, "filename": "lavatory-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b0ebc7b0ddf271992ef045c15161c8ad", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16801, "upload_time": "2017-11-09T18:30:17", "url": "https://files.pythonhosted.org/packages/d6/d6/95fedf5a547441b192f505c0eef830ddc7cdeaf2173fa2e68f0ca56ed3aa/lavatory-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "13b49c3f0a37162e6c17fdd97211bbfd", "sha256": "522746f1522984e07b37c17f6e9cdc4c40f1897d9ac8077db63c0a916c293937" }, "downloads": -1, "filename": "lavatory-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "13b49c3f0a37162e6c17fdd97211bbfd", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16788, "upload_time": "2017-11-10T19:33:47", "url": "https://files.pythonhosted.org/packages/01/84/694733534de2ab093c3257b65155f7b40e199ace57e7f9a4e18c04748689/lavatory-1.0.1-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "297ea6b3b90411d584fb517e17aaf80a", "sha256": "c7a3b52ab3113e934bf67e2d8056d86b95ba606236fb1bdae1be870d1ce17eaa" }, "downloads": -1, "filename": "lavatory-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "297ea6b3b90411d584fb517e17aaf80a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16893, "upload_time": "2017-11-16T18:20:21", "url": "https://files.pythonhosted.org/packages/b4/db/8efeb82125ec8a4746fb5d3add48781a32f694112f836b431757beeaa58f/lavatory-1.1.0-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "5970f402b1d469cf73dc0c2033734be9", "sha256": "3da8791acb394fb30017532a6762fe3790173b95a3ccf2ea91640ccf7af511ec" }, "downloads": -1, "filename": "lavatory-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5970f402b1d469cf73dc0c2033734be9", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16883, "upload_time": "2017-11-16T19:52:06", "url": "https://files.pythonhosted.org/packages/1d/42/4ee371bc06d1f01bf241b51b56f12a7657dad1b61e67d2cc49c4a7bf9583/lavatory-1.1.1-py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "98ca0899b9e2c61faa16e2927ae80470", "sha256": "d8430832a8efc98219aeda279fb63fa68506460a612b5c2f07812cd1254f3fa9" }, "downloads": -1, "filename": "lavatory-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "98ca0899b9e2c61faa16e2927ae80470", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 14343, "upload_time": "2018-08-20T13:24:54", "url": "https://files.pythonhosted.org/packages/b2/9a/f4a3da757a339f763e1e334537924b2aab90c516be1a1016bd3b7bc00386/lavatory-1.1.2-py3-none-any.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3c7473b651e7dda6aa47b494bbda9017", "sha256": "0f405a487302a52ec2760bfc0fc7f75937cbe936ae487b8022918bb1314243ab" }, "downloads": -1, "filename": "lavatory-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3c7473b651e7dda6aa47b494bbda9017", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18642, "upload_time": "2019-01-29T22:40:09", "url": "https://files.pythonhosted.org/packages/4a/0b/d8babbec229390dd7cdba40d37bbb2d6d0a77325928e7de5c2a843d73526/lavatory-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40c940b9234704c6fac9cdfbf8b011d2", "sha256": "45ba57b8b85ff4227d0f0be866e53c453e7fbef48bb4d6f419be86fc46af98ad" }, "downloads": -1, "filename": "lavatory-1.2.0.tar.gz", "has_sig": false, "md5_digest": "40c940b9234704c6fac9cdfbf8b011d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25543, "upload_time": "2019-01-29T22:40:10", "url": "https://files.pythonhosted.org/packages/22/a0/80d4879c262f3b452e8b2ea8e9861d55551b75fe2c54387c3d937008fc3c/lavatory-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "0a1072e7a4d4ecbf21440ee0f8ac99f9", "sha256": "2b00b401ec63ca1fc0237f41181e82036bddf1fc87df1c69efa81c45485462f3" }, "downloads": -1, "filename": "lavatory-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0a1072e7a4d4ecbf21440ee0f8ac99f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18935, "upload_time": "2019-01-31T16:59:55", "url": "https://files.pythonhosted.org/packages/bf/73/88cf476e3a1274bb255449e877fef73481bad1a9444f91368c4bca445708/lavatory-1.2.1-py3-none-any.whl" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "2d0ea632107f08768b7a8a2e076a6e39", "sha256": "7b5b462a73ffb8e80ed0bc7d44584f77b5cc556afed13950b9a2605b1ab3740e" }, "downloads": -1, "filename": "lavatory-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2d0ea632107f08768b7a8a2e076a6e39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18798, "upload_time": "2019-01-31T21:49:54", "url": "https://files.pythonhosted.org/packages/fa/ce/8b0b091bffd4effab075b102f83313b39465f09b55cf287b00c85f0dd9b7/lavatory-1.2.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2d0ea632107f08768b7a8a2e076a6e39", "sha256": "7b5b462a73ffb8e80ed0bc7d44584f77b5cc556afed13950b9a2605b1ab3740e" }, "downloads": -1, "filename": "lavatory-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2d0ea632107f08768b7a8a2e076a6e39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18798, "upload_time": "2019-01-31T21:49:54", "url": "https://files.pythonhosted.org/packages/fa/ce/8b0b091bffd4effab075b102f83313b39465f09b55cf287b00c85f0dd9b7/lavatory-1.2.2-py3-none-any.whl" } ] }