{ "info": { "author": "Marcel Rieger", "author_email": "github.riga@icloud.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: System :: Monitoring" ], "description": ".. figure:: https://raw.githubusercontent.com/riga/law/master/logo.png\n :target: https://github.com/riga/law\n :align: center\n :alt: law logo\n\n.. image:: https://github.com/riga/law/workflows/Lint%20and%20test/badge.svg\n :target: https://github.com/riga/law/actions?query=workflow%3A%22Lint+and+test%22\n :alt: Build status\n\n.. image:: https://github.com/riga/law/workflows/Deploy%20images/badge.svg\n :target: https://github.com/riga/law/actions?query=workflow%3A%22Deploy+images%22\n :alt: Docker images\n\n.. image:: https://readthedocs.org/projects/law/badge/?version=latest\n :target: http://law.readthedocs.io/en/latest\n :alt: Documentation status\n\n.. image:: https://img.shields.io/pypi/v/law.svg?style=flat\n :target: https://pypi.python.org/pypi/law\n :alt: Package version\n\n.. image:: https://img.shields.io/github/license/riga/law.svg\n :target: https://github.com/riga/law/blob/master/LICENSE\n :alt: License\n\n.. image:: https://zenodo.org/badge/75482295.svg\n :target: https://zenodo.org/badge/latestdoi/75482295\n :alt: DOI\n\n\n**Note**: This project is currently under development.\nVersion 1.0.0 will be the first, fully documented beta release, targetted for mid 2022.\n\nUse law to build complex and large-scale task workflows.\nIt is build on top of `luigi `__ and adds abstractions for **run locations**, **storage locations** and **software environments**.\nLaw strictly disentangles these building blocks and ensures they remain interchangeable and resource-opportunistic.\n\nKey features:\n\n- CLI with auto-completion and interactive status and dependency inspection.\n- Remote targets with automatic retries and local caching\n - WebDAV, HTTP, Dropbox, SFTP, all WLCG protocols (srm, xrootd, rfio, dcap, gsiftp, ...)\n- Automatic submission to batch systems from within tasks\n - HTCondor, LSF, gLite, ARC, Slurm\n- Environment sandboxing, configurable on task level\n - Docker, Singularity, Sub-Shells, Python-venv\n\n\n.. marker-after-header\n\n\nFirst steps\n===========\n\nInstallation and Dependencies\n-----------------------------\n\nInstall via `pip `__:\n\n.. code-block:: bash\n\n pip install law\n\nThis command also installs `luigi `__ and `six `__.\n\nThe (default) remote target implementation also requires `gfal2 `__ and `gfal2-python `__ (optional, also via pip) to be installed.\n\n\nDocker Images\n-------------\n\nTo run and test law, there are three docker images available on the `DockerHub `__, corresponding to Python versions 2.7, and 3.7 to 3.10.\nThey are based on CentOS 7 and ship with the dependencies listed above, including gfal2.\n\n.. code-block:: bash\n\n docker run -ti riga/law:latest\n\n\nTags:\n\n- ``py310``: Latest Python 3.10\n- ``py39``, ``py3``, ``latest``: Latest Python 3.9\n- ``py38``: Latest Python 3.8\n- ``py37``: Latest Python 3.7\n- ``py2``, ``py27``: Python 2.7\n- ``example``: Example runner, based on ``latest`` (see `below <#examples>`__)\n\n\n`Usage at CERN `__\n------------------------------------------------------------------\n\n\n`Overcomplete example config `__\n-----------------------------------------------------------------------------------------\n\n\nExamples\n========\n\nAll examples can be run either in a Jupyter notebook or a dedicated docker container.\nFor the latter, do\n\n.. code-block:: bash\n\n docker run -ti riga/law:example \n\n- `loremipsum `__: The *hello world* example of law.\n- `workflows `__: Law workflows.\n- `dropbox_targets `__: Working with targets that are stored on Dropbox.\n- `wlcg_targets `__: Working with targets that are stored on WLCG storage elements (dCache, EOS, ...). TODO.\n- `htcondor_at_vispa `__: HTCondor workflows at the `VISPA service `__.\n- `htcondor_at_cern `__: HTCondor workflows at the CERN batch infrastructure.\n- `htcondor_at_naf `__: HTCondor workflows at German `National Analysis Facility (NAF) `__.\n- `slurm_at_maxwell `__: Slurm workflows at the `Desy Maxwell cluster `__.\n- `grid_at_cern `__: Workflows that run jobs and store data on the WLCG.\n- `lsf_at_cern `__: LSF workflows at the CERN batch infrastructure.\n- `docker_sandboxes `__: Environment sandboxing using Docker. TODO.\n- `singularity_sandboxes `__: Environment sandboxing using Singularity. TODO.\n- `subshell_sandboxes `__: Environment sandboxing using Subshells. TODO.\n- `parallel_optimization `__: Parallel optimization using `scikit optimize `__.\n- `notifications `__: Demonstration of slack and telegram task status notifications..\n- `CMS Single Top Analysis `__: Simple physics analysis using law.\n\n\nAuto completion on the command-line\n===================================\n\nbash\n----\n\n.. code-block:: shell\n\n source \"$( law completion )\"\n\n\nzsh\n---\n\nzsh is able to load and evaluate bash completion scripts via ``bashcompinit``.\nIn order for ``bashcompinit`` to work, you should run ``compinstall`` to enable completion scripts:\n\n.. code-block:: shell\n\n autoload -Uz compinstall && compinstall\n\nAfter following the instructions, these lines should be present in your ~/.zshrc:\n\n.. code-block:: shell\n\n # The following lines were added by compinstall\n zstyle :compinstall filename '~/.zshrc'\n\n autoload -Uz compinit\n compinit\n # End of lines added by compinstall\n\nIf this is the case, just source the law completion script (which internally enables ``bashcompinit``) and you're good to go:\n\n.. code-block:: shell\n\n source \"$( law completion )\"\n\n\nDevelopment\n===========\n\n- Source hosted at `GitHub `__\n- Report issues, questions, feature requests on `GitHub Issues `__\n\n\n.. marker-after-body", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/riga/law", "keywords": "luigi workflow pipeline remote gfal submission cluster grid condor lsf glite arc sandboxing docker singularity", "license": "BSD-3-Clause", "maintainer": "", "maintainer_email": "", "name": "law", "package_url": "https://pypi.org/project/law/", "platform": null, "project_url": "https://pypi.org/project/law/", "project_urls": { "Homepage": "https://github.com/riga/law" }, "release_url": "https://pypi.org/project/law/0.1.7/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "summary": "Build large-scale task workflows using luigi, remote job submission, remote targets, and environment", "version": "0.1.7", "yanked": false, "yanked_reason": null }, "last_serial": 13581201, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "e07079ca21880070fae892cd43741f44", "sha256": "318ebf2fdac11fa740eea4620b2f3f49c7cf7bfbfbadb4db189843b3a6a9ff90" }, "downloads": -1, "filename": "law-0.0.1.tar.gz", "has_sig": false, "md5_digest": "e07079ca21880070fae892cd43741f44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2450, "upload_time": "2016-12-03T15:25:58", "upload_time_iso_8601": "2016-12-03T15:25:58.003024Z", "url": "https://files.pythonhosted.org/packages/00/82/05dbbcc0cf783d33ce8ff1025b621fb49de94579636aa9f8b94e080aa225/law-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "c8036318e0d0f4e85c7ba5215fee260f", "sha256": "737371be12ed3412aa7eb94c8d6beab011c7429e4db33cc765baec9b1ecd514d" }, "downloads": -1, "filename": "law-0.0.10.tar.gz", "has_sig": false, "md5_digest": "c8036318e0d0f4e85c7ba5215fee260f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77125, "upload_time": "2018-02-03T13:34:18", "upload_time_iso_8601": "2018-02-03T13:34:18.150260Z", "url": "https://files.pythonhosted.org/packages/ff/1a/d3f0983c4a4f3a2817192bbe9708cb3896f845ac521a8eafbcfbceb30c20/law-0.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "518ef235fb93dd7c3e4e921bf33881c9", "sha256": "2dd64e1f8d25bba9562bec9647265491c2ae71bb8aac1231220e33adec6efa9d" }, "downloads": -1, "filename": "law-0.0.11.tar.gz", "has_sig": false, "md5_digest": "518ef235fb93dd7c3e4e921bf33881c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81584, "upload_time": "2018-02-13T20:47:52", "upload_time_iso_8601": "2018-02-13T20:47:52.775387Z", "url": "https://files.pythonhosted.org/packages/53/00/b5b53034e15ae744b114437d3e59cf86b6d64b68659db11a74e0c7d1f845/law-0.0.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "b19b06f86be66d22066a67ff47b17707", "sha256": "6765f81b3e22effa298f3e115c62f6ec5d76a2ca6c7fccd91aaf07ae64555dc6" }, "downloads": -1, "filename": "law-0.0.12.tar.gz", "has_sig": false, "md5_digest": "b19b06f86be66d22066a67ff47b17707", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158982, "upload_time": "2018-02-13T21:57:22", "upload_time_iso_8601": "2018-02-13T21:57:22.098406Z", "url": "https://files.pythonhosted.org/packages/29/d0/cf437e99c607a4a9a518cc46d69750f62cb3f814e1f532fb448c9a58481d/law-0.0.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "ade3da23067aa01b642475710a2fd272", "sha256": "1308822c362329ae5987c10a015a661d6f37a0ca4e43f1562e46e4d9601fac9d" }, "downloads": -1, "filename": "law-0.0.13.tar.gz", "has_sig": false, "md5_digest": "ade3da23067aa01b642475710a2fd272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 159008, "upload_time": "2018-02-13T22:00:11", "upload_time_iso_8601": "2018-02-13T22:00:11.219029Z", "url": "https://files.pythonhosted.org/packages/87/5a/08b7c840ee937109c6bc67623fa631a6a3c14af5f87b47f0f9376bdf138f/law-0.0.13.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "ba46a0cb92c64f21948c699bbb8e6bbe", "sha256": "6d28ba0c2e7f5f92278421ab79620d9f0756b61e3b0fd277845a6f06d30f4cfa" }, "downloads": -1, "filename": "law-0.0.14.tar.gz", "has_sig": false, "md5_digest": "ba46a0cb92c64f21948c699bbb8e6bbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 159129, "upload_time": "2018-02-13T22:13:24", "upload_time_iso_8601": "2018-02-13T22:13:24.118353Z", "url": "https://files.pythonhosted.org/packages/0e/6d/bf7b875a33318b36decfafd62745f26df05ff9e63c2613f20f15413837fb/law-0.0.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "f23576c9ccf0e8460ac6aa5b9b88c101", "sha256": "b5056e551837930b1803fdebdcef2dacb836529d16a8264664a8842f04bab505" }, "downloads": -1, "filename": "law-0.0.15.tar.gz", "has_sig": false, "md5_digest": "f23576c9ccf0e8460ac6aa5b9b88c101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 159751, "upload_time": "2018-02-15T09:26:06", "upload_time_iso_8601": "2018-02-15T09:26:06.464002Z", "url": "https://files.pythonhosted.org/packages/5e/08/a1287efc0f43489e2074ddd1b03d92aa215c3b2a590cebd9155eb43836bf/law-0.0.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "0d2b9f0d8159d69145b627278b3921d9", "sha256": "251d8359a964fd250cc3ad67c152530349270ec4d885b08f43b5e105e8f4c4c9" }, "downloads": -1, "filename": "law-0.0.16.tar.gz", "has_sig": false, "md5_digest": "0d2b9f0d8159d69145b627278b3921d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 163187, "upload_time": "2018-02-17T14:43:20", "upload_time_iso_8601": "2018-02-17T14:43:20.793497Z", "url": "https://files.pythonhosted.org/packages/0c/bb/4df21855aa2278a4b5cd385d82d6df7955a550829e9290372bcd3b8d7275/law-0.0.16.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "46b41b8ad7b9052a55ac991d24d54108", "sha256": "0c76775312dd57eae444c0c7057b5f94af185d9773060814d2a073ba7d0c2d08" }, "downloads": -1, "filename": "law-0.0.17.tar.gz", "has_sig": false, "md5_digest": "46b41b8ad7b9052a55ac991d24d54108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 272890, "upload_time": "2018-02-18T17:28:35", "upload_time_iso_8601": "2018-02-18T17:28:35.677746Z", "url": "https://files.pythonhosted.org/packages/97/25/cc3d99bd3c825cf75a8830923d399a0a688011c6eddd0649a89ffc9f129f/law-0.0.17.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "fba8503b74977ac72d1502f6d6f615d3", "sha256": "bc25a188aad7155fb65c17688ce569478ac00e2c1d6c993e34dbf5a7b735b1b8" }, "downloads": -1, "filename": "law-0.0.18.tar.gz", "has_sig": false, "md5_digest": "fba8503b74977ac72d1502f6d6f615d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 275147, "upload_time": "2018-02-22T12:30:51", "upload_time_iso_8601": "2018-02-22T12:30:51.072418Z", "url": "https://files.pythonhosted.org/packages/fd/ad/c1f484bdf3f7de4b08f8a469f5e6370e0875faae03fbff7ee31a31a320b3/law-0.0.18.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "3923384fd43c6b9096f3ab49ee9b71f8", "sha256": "6f25cf5d556806caf87032c44995812decd782b8610c1587e2f9ebae42eeeeb7" }, "downloads": -1, "filename": "law-0.0.19.tar.gz", "has_sig": false, "md5_digest": "3923384fd43c6b9096f3ab49ee9b71f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 276213, "upload_time": "2018-02-22T19:47:01", "upload_time_iso_8601": "2018-02-22T19:47:01.087590Z", "url": "https://files.pythonhosted.org/packages/14/3f/c628e232b7aa1c9f8a837bd6c32872a892073e0b87407cbbab1b71bec76f/law-0.0.19.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b0aa1b9edb57ac619ea39e2fc49ba1f3", "sha256": "ccf05f8e9cfc1487aa6c72ff3c25497db1cca336bb63afc44346dfd5250071a5" }, "downloads": -1, "filename": "law-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b0aa1b9edb57ac619ea39e2fc49ba1f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2438, "upload_time": "2016-12-03T15:49:58", "upload_time_iso_8601": "2016-12-03T15:49:58.442817Z", "url": "https://files.pythonhosted.org/packages/cb/8c/15a1e344563041a0f48f4521a0ecb2cf1011149847162e056262d14a645b/law-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "87a2fc6e4d2a7b5799b1e96e7152556f", "sha256": "3fe4d8b1b61e2e3075077b752073fbb5ab22b8bc5cb4d0819be1339821050f17" }, "downloads": -1, "filename": "law-0.0.20.tar.gz", "has_sig": false, "md5_digest": "87a2fc6e4d2a7b5799b1e96e7152556f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 279419, "upload_time": "2018-03-06T10:48:23", "upload_time_iso_8601": "2018-03-06T10:48:23.031062Z", "url": "https://files.pythonhosted.org/packages/b4/24/f51bdd55c669104019199d02440d2746f021bcea626a9738ca6b13e5b356/law-0.0.20.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "faf6231df0994a8d3777c828cf430a68", "sha256": "aa2e53267156ae2938530bb1e1779ca177adb107ba5c647814db36b363ed362e" }, "downloads": -1, "filename": "law-0.0.21.tar.gz", "has_sig": false, "md5_digest": "faf6231df0994a8d3777c828cf430a68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227659, "upload_time": "2018-03-14T17:36:33", "upload_time_iso_8601": "2018-03-14T17:36:33.018861Z", "url": "https://files.pythonhosted.org/packages/2d/18/108a5ec02e6b02146275e10b12c7f9913e93fb88857566631b0d8ef11ced/law-0.0.21.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "0622ee78a8743d7a7fb859c2076d3f4b", "sha256": "17d567ba12e158300ec4cb24e3275c2127808e61b5fd99bd46767c148a31cee5" }, "downloads": -1, "filename": "law-0.0.22.tar.gz", "has_sig": false, "md5_digest": "0622ee78a8743d7a7fb859c2076d3f4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 246512, "upload_time": "2018-04-23T09:35:29", "upload_time_iso_8601": "2018-04-23T09:35:29.236247Z", "url": "https://files.pythonhosted.org/packages/a1/fa/8ed60154ca1f2a534e7d5177c99735b644b61886e6c136c3724276a8710c/law-0.0.22.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.24": [ { "comment_text": "", "digests": { "md5": "d20eaba5e39fd49a07d061dba1cb0ad2", "sha256": "7138a066624e8d8c7194aa73cbb00645cf865fecbb34dfa817b7139f9bd13b59" }, "downloads": -1, "filename": "law-0.0.24.tar.gz", "has_sig": false, "md5_digest": "d20eaba5e39fd49a07d061dba1cb0ad2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 247629, "upload_time": "2018-04-26T16:13:12", "upload_time_iso_8601": "2018-04-26T16:13:12.494238Z", "url": "https://files.pythonhosted.org/packages/df/30/805211bf639d0544fe6eb70eba5bd299e8f920c277f8986fa75adcf84a2c/law-0.0.24.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.25": [ { "comment_text": "", "digests": { "md5": "5f5b5339815bba10861c7524b7f2f82c", "sha256": "660551b5d9d2ae9552af2fc43f6df9ddf289db2338f3b41d62c0de3f98326e16" }, "downloads": -1, "filename": "law-0.0.25.tar.gz", "has_sig": false, "md5_digest": "5f5b5339815bba10861c7524b7f2f82c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 328220, "upload_time": "2018-06-13T10:29:50", "upload_time_iso_8601": "2018-06-13T10:29:50.480419Z", "url": "https://files.pythonhosted.org/packages/8d/35/b179e50c8943a0ffc68eaf3f27f71f9b0d8e1f099739788ebc270afb3d21/law-0.0.25.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.26": [ { "comment_text": "", "digests": { "md5": "00cbabde7bb1c0896cd5d673211fa74e", "sha256": "1f25c553535adc5c1e36d2cee40dcc52ec6059c44787d2d8b244e37535260f07" }, "downloads": -1, "filename": "law-0.0.26.tar.gz", "has_sig": false, "md5_digest": "00cbabde7bb1c0896cd5d673211fa74e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 340188, "upload_time": "2018-06-21T10:45:40", "upload_time_iso_8601": "2018-06-21T10:45:40.271285Z", "url": "https://files.pythonhosted.org/packages/d1/b0/623b134ff71a5bb5e826cf598f88ec7d59e328d353fea8845160a695a492/law-0.0.26.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.27": [ { "comment_text": "", "digests": { "md5": "0fa08ee2af33e0e7755511086fa1d6dd", "sha256": "bbd02f335a545cc3fc2e434e6c79a93027f4cf1d7bd9c025f9b817a7c10e00d2" }, "downloads": -1, "filename": "law-0.0.27.tar.gz", "has_sig": false, "md5_digest": "0fa08ee2af33e0e7755511086fa1d6dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 347602, "upload_time": "2018-07-13T16:30:41", "upload_time_iso_8601": "2018-07-13T16:30:41.335762Z", "url": "https://files.pythonhosted.org/packages/5e/f2/02c2668f7b350d56e74195b344a30df99d562ddc58c823578c86c007bdc9/law-0.0.27.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.28": [ { "comment_text": "", "digests": { "md5": "1f5a2d14c5870a4571bc9b002e37aead", "sha256": "7a6085fad8e7e94b81a07ef7037f75c9fcd563bab17c949a5779f2352b17add8" }, "downloads": -1, "filename": "law-0.0.28.tar.gz", "has_sig": false, "md5_digest": "1f5a2d14c5870a4571bc9b002e37aead", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 354950, "upload_time": "2018-11-23T10:11:30", "upload_time_iso_8601": "2018-11-23T10:11:30.501128Z", "url": "https://files.pythonhosted.org/packages/8f/bb/f213959bfbd8995a88a7894b71996aacc12936678175f21badbf568412de/law-0.0.28.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.29": [ { "comment_text": "", "digests": { "md5": "1ea6b0db7c6f350c82ab15e93fdd558c", "sha256": "d35f372bfd546c69aff4d29ebf5c47bd59607800980db378e0e05b3745ba508d" }, "downloads": -1, "filename": "law-0.0.29.tar.gz", "has_sig": false, "md5_digest": "1ea6b0db7c6f350c82ab15e93fdd558c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 360766, "upload_time": "2019-01-04T14:00:47", "upload_time_iso_8601": "2019-01-04T14:00:47.516672Z", "url": "https://files.pythonhosted.org/packages/ef/b3/4d4663b25fa985b141f0c087f68cea8b9279be6aed9b04abb2f770e20489/law-0.0.29.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "653962700cb02fc72c795e0b3254cbbf", "sha256": "4da3af795107935aa4782ef885794203bb644fd8eb4c65859172916afa14e325" }, "downloads": -1, "filename": "law-0.0.3.tar.gz", "has_sig": false, "md5_digest": "653962700cb02fc72c795e0b3254cbbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15821, "upload_time": "2016-12-04T12:03:20", "upload_time_iso_8601": "2016-12-04T12:03:20.259092Z", "url": "https://files.pythonhosted.org/packages/9e/4c/d53ced9de2c55f263b1861b184d7faf156ab72d3d219969cc33d54114e68/law-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.30": [ { "comment_text": "", "digests": { "md5": "329a8ba414b674e9227c910e275d990c", "sha256": "8d8a79e26de2c8b4d772c1e76c3f307a16fcfdf81e61bfcf65fd00a4e46fe7cd" }, "downloads": -1, "filename": "law-0.0.30.tar.gz", "has_sig": false, "md5_digest": "329a8ba414b674e9227c910e275d990c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 120548, "upload_time": "2019-03-14T13:39:20", "upload_time_iso_8601": "2019-03-14T13:39:20.365408Z", "url": "https://files.pythonhosted.org/packages/fd/3d/d068051c732e64f5146bff78f9cd9eb6534e05df415603b1d3c07b3966a2/law-0.0.30.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.31": [ { "comment_text": "", "digests": { "md5": "7698159fb7065ee508d99dac8ad2628d", "sha256": "88b7da47405664717548c377f9f21fef3a8e9acfee82c0f937893945e611e306" }, "downloads": -1, "filename": "law-0.0.31.tar.gz", "has_sig": false, "md5_digest": "7698159fb7065ee508d99dac8ad2628d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 132159, "upload_time": "2019-09-17T14:32:04", "upload_time_iso_8601": "2019-09-17T14:32:04.598788Z", "url": "https://files.pythonhosted.org/packages/d8/99/e593067be2aa838ccbed990357663225fe6e50d1fea126ef12ae3cb7cddb/law-0.0.31.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.32": [ { "comment_text": "", "digests": { "md5": "628c616524baa578169fcc99a5cb5983", "sha256": "c8218e13f909613b7f68c93d72084a350a822be5b7a8d0af95ce4c903a247142" }, "downloads": -1, "filename": "law-0.0.32.tar.gz", "has_sig": false, "md5_digest": "628c616524baa578169fcc99a5cb5983", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 132749, "upload_time": "2019-10-21T12:19:00", "upload_time_iso_8601": "2019-10-21T12:19:00.754792Z", "url": "https://files.pythonhosted.org/packages/c1/46/6b3a2704a67844360605de9a656d59bb45bdd5cd4ad2df012d769bd13463/law-0.0.32.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.33": [ { "comment_text": "", "digests": { "md5": "388c50caec0cf70c30f4c82ee28ef224", "sha256": "6807dd9da08f1a4d300e19d8f04f1093fd72679a5c6d6488d9929f55a03d8686" }, "downloads": -1, "filename": "law-0.0.33.tar.gz", "has_sig": false, "md5_digest": "388c50caec0cf70c30f4c82ee28ef224", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 143312, "upload_time": "2020-01-10T16:53:25", "upload_time_iso_8601": "2020-01-10T16:53:25.456446Z", "url": "https://files.pythonhosted.org/packages/51/d2/6db40275d368dcd7165e74068aa21fe55f5285463ec60c2c0cbf66b3c807/law-0.0.33.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.34": [ { "comment_text": "", "digests": { "md5": "11b9e61fa4655818c3fc421395cb01ed", "sha256": "4c1786e27339ca7fb29cd6030435103b27969e3f0eb70e00f5e3cd6fed7cc171" }, "downloads": -1, "filename": "law-0.0.34.tar.gz", "has_sig": false, "md5_digest": "11b9e61fa4655818c3fc421395cb01ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 143611, "upload_time": "2020-01-13T15:55:06", "upload_time_iso_8601": "2020-01-13T15:55:06.696084Z", "url": "https://files.pythonhosted.org/packages/a3/38/af09947a990f3ebf9109ff2b019ecc882225f50051331dd5df557a07c6e1/law-0.0.34.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.35": [ { "comment_text": "", "digests": { "md5": "de839a013ada3f1b59c73c6244aa59ba", "sha256": "dced0f94d37093325da5da778bf81834dc9a7089331cfabf89106fe3ce1a3960" }, "downloads": -1, "filename": "law-0.0.35.tar.gz", "has_sig": false, "md5_digest": "de839a013ada3f1b59c73c6244aa59ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 146564, "upload_time": "2020-01-16T16:21:28", "upload_time_iso_8601": "2020-01-16T16:21:28.415764Z", "url": "https://files.pythonhosted.org/packages/d8/d9/df7a37372869b1498ec5f19ac1b1877f84da06b5cb9683ed263239e458f9/law-0.0.35.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.36": [ { "comment_text": "", "digests": { "md5": "a9cf20828eff1e44098a3ad1beeb35b8", "sha256": "9503b1f7ae286bdce0ca9cb982824e9db215098cd732f7ec8d5e38c59b2948ff" }, "downloads": -1, "filename": "law-0.0.36.tar.gz", "has_sig": false, "md5_digest": "a9cf20828eff1e44098a3ad1beeb35b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 161624, "upload_time": "2020-02-08T10:36:12", "upload_time_iso_8601": "2020-02-08T10:36:12.130633Z", "url": "https://files.pythonhosted.org/packages/d0/67/9ce1fe1b31c8465d896d79456d64abab9b970181be1cd17edfdac56db8fc/law-0.0.36.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.37": [ { "comment_text": "", "digests": { "md5": "7a94014c3ec9a368274a3fdf696696f7", "sha256": "5cbd907268eb34c91beeb5332fab8df1f96dbafbffe062628a12227f01de106c" }, "downloads": -1, "filename": "law-0.0.37.tar.gz", "has_sig": false, "md5_digest": "7a94014c3ec9a368274a3fdf696696f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 167090, "upload_time": "2020-03-10T17:51:36", "upload_time_iso_8601": "2020-03-10T17:51:36.393847Z", "url": "https://files.pythonhosted.org/packages/21/d0/234d7a87ce8873483c049f41aac128addb1f4cb3162cf0a035f36b96ac79/law-0.0.37.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.38": [ { "comment_text": "", "digests": { "md5": "c4dcf4e0e260c085911ca6d5cee7e17e", "sha256": "2990134f25503779195dd8059f6056f4bbfe5a6bfea26a06740006e62f27b6e7" }, "downloads": -1, "filename": "law-0.0.38.tar.gz", "has_sig": false, "md5_digest": "c4dcf4e0e260c085911ca6d5cee7e17e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 175858, "upload_time": "2020-05-15T12:51:16", "upload_time_iso_8601": "2020-05-15T12:51:16.678487Z", "url": "https://files.pythonhosted.org/packages/c8/f1/0505f37b1d78fb8563f6f88a204093a287930f60972230a746bbdc99c203/law-0.0.38.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.39": [ { "comment_text": "", "digests": { "md5": "eab39b824a28d946706b235ae06089f3", "sha256": "17bdde1e6c8251881bb695950304cf3ef7d23a3ece34718714ce3d17b81302eb" }, "downloads": -1, "filename": "law-0.0.39.tar.gz", "has_sig": false, "md5_digest": "eab39b824a28d946706b235ae06089f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 176762, "upload_time": "2020-06-02T22:03:55", "upload_time_iso_8601": "2020-06-02T22:03:55.119713Z", "url": "https://files.pythonhosted.org/packages/77/e1/be85fbb5159cf9041c4fd1b663035b8333f2679180fb2cb21c0a33465257/law-0.0.39.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "cf207196c9f78de32dfb2e5095cdb0a8", "sha256": "0dd60e5b663771cdd28e871997784a9e019bd88c4a1a3fb5c6a9839fa7c181d3" }, "downloads": -1, "filename": "law-0.0.4.tar.gz", "has_sig": false, "md5_digest": "cf207196c9f78de32dfb2e5095cdb0a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43964, "upload_time": "2018-01-15T16:25:03", "upload_time_iso_8601": "2018-01-15T16:25:03.455109Z", "url": "https://files.pythonhosted.org/packages/de/6e/92b597747b16612b46e4be48bde1480f352db4a4b8942c8805ec68836087/law-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.40": [ { "comment_text": "", "digests": { "md5": "c30568fae375e8cc87e98d2fc433c931", "sha256": "338c528f7f91545eab0b6990bbb84768c608773e2bc40b7f08e134cc603540ca" }, "downloads": -1, "filename": "law-0.0.40.tar.gz", "has_sig": false, "md5_digest": "c30568fae375e8cc87e98d2fc433c931", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 184932, "upload_time": "2020-08-05T13:47:28", "upload_time_iso_8601": "2020-08-05T13:47:28.903842Z", "url": "https://files.pythonhosted.org/packages/32/bd/4685d3ec55bf4a792311e3ea750485c4aef43aa3cbc399a660d67c4f21eb/law-0.0.40.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.41": [ { "comment_text": "", "digests": { "md5": "c107d1b9bcce015e11f2e537da47a0f3", "sha256": "3b6e457bb99da69ddab03e91a80057958ee9477dba7bb6f8823059b2cbce19b3" }, "downloads": -1, "filename": "law-0.0.41.tar.gz", "has_sig": false, "md5_digest": "c107d1b9bcce015e11f2e537da47a0f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 185063, "upload_time": "2020-08-05T14:31:59", "upload_time_iso_8601": "2020-08-05T14:31:59.081190Z", "url": "https://files.pythonhosted.org/packages/ae/3a/4102556fe5e15d716040a935d925e314a6856e67929cd34060a9b76ccfd6/law-0.0.41.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "7e461e9e8f7937820abf5535809c89af", "sha256": "45d5a502a9258e8c87edd233b78e901b09aea0cbb521c544b9cb1fdf0f26733f" }, "downloads": -1, "filename": "law-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7e461e9e8f7937820abf5535809c89af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55471, "upload_time": "2018-01-15T17:07:16", "upload_time_iso_8601": "2018-01-15T17:07:16.362136Z", "url": "https://files.pythonhosted.org/packages/cb/d7/0ce4968f6d152fe7969f04214a9a03c502d622c587277db29e933e893e7b/law-0.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c921b1582bdba98c98d6cc09f397f98f", "sha256": "1b651f9cf42954ffadcf117bc3c02b2bf67ea139f55cab34050e8542d8dc328c" }, "downloads": -1, "filename": "law-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c921b1582bdba98c98d6cc09f397f98f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58958, "upload_time": "2018-01-18T18:01:18", "upload_time_iso_8601": "2018-01-18T18:01:18.027716Z", "url": "https://files.pythonhosted.org/packages/f2/34/623e8291c35b0f2636bb6736346a907d9c2c1860dee3b71ae8fa71b9a223/law-0.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "0038614303b6b88016653b3e7006e100", "sha256": "e6b7fe5685081b4a51655dc9d202116c2a9c8df9fdac7732147f37bdf63f81c7" }, "downloads": -1, "filename": "law-0.0.7.tar.gz", "has_sig": false, "md5_digest": "0038614303b6b88016653b3e7006e100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58917, "upload_time": "2018-01-18T18:21:54", "upload_time_iso_8601": "2018-01-18T18:21:54.308802Z", "url": "https://files.pythonhosted.org/packages/47/49/22957373077a3bd5c98d3e69e023cdd217bfc2bedcf9edbc030ec2dc66a2/law-0.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "9613e3a2a7ec26a0d1e04d2c820ba815", "sha256": "3cc694e2a2f839b9a7365d66160de231d0d55d406d242015dc029940afc2df06" }, "downloads": -1, "filename": "law-0.0.8.tar.gz", "has_sig": false, "md5_digest": "9613e3a2a7ec26a0d1e04d2c820ba815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 61384, "upload_time": "2018-01-20T14:52:54", "upload_time_iso_8601": "2018-01-20T14:52:54.539041Z", "url": "https://files.pythonhosted.org/packages/de/a5/acc5deebca6db1de00a4c4ccaa01ebea3c19600700c8465d47748488f09c/law-0.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "dea7a481b584fea4651d17c3579acad6", "sha256": "fd26e863c321518b30027a80fa424d3b35ee6c832f7b28751f0f98c88d5ee0eb" }, "downloads": -1, "filename": "law-0.0.9.tar.gz", "has_sig": false, "md5_digest": "dea7a481b584fea4651d17c3579acad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62516, "upload_time": "2018-01-29T19:28:59", "upload_time_iso_8601": "2018-01-29T19:28:59.108158Z", "url": "https://files.pythonhosted.org/packages/55/18/b6d63bc22d81944219368813b6b4bf44594c577dc1477fd3a028794758c3/law-0.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "c3105da692d6261fc6305678bda28c86", "sha256": "a22d86baeeb27321497034f3c57e407bec687f36fa880c37500a594c15c2f7de" }, "downloads": -1, "filename": "law-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c3105da692d6261fc6305678bda28c86", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 181438, "upload_time": "2020-10-19T12:32:02", "upload_time_iso_8601": "2020-10-19T12:32:02.074808Z", "url": "https://files.pythonhosted.org/packages/66/b8/11347e44a28b799b50a15780e069eac1e2c7b6c7f7f6e8ca4d1cf388fb57/law-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4279b691263364825e2fb0f897e879b1", "sha256": "cd7c37902342ccea20ec1b288bf5a06a8405591c0e773de78c8c988d8f740236" }, "downloads": -1, "filename": "law-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4279b691263364825e2fb0f897e879b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 188184, "upload_time": "2020-12-08T20:09:23", "upload_time_iso_8601": "2020-12-08T20:09:23.719967Z", "url": "https://files.pythonhosted.org/packages/e3/c0/5b4a24d19af538d28eae2999f5fc1070c22dbf0024c7d9cf41a70d74f213/law-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a682f2b1fbf8791ffeae1c9f57227c52", "sha256": "7f665f0fc0ce8ae6b78a8a26e0474c19af12a6fa2ed4050018b1b633d3ab9492" }, "downloads": -1, "filename": "law-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a682f2b1fbf8791ffeae1c9f57227c52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 187879, "upload_time": "2020-12-09T22:33:26", "upload_time_iso_8601": "2020-12-09T22:33:26.917707Z", "url": "https://files.pythonhosted.org/packages/04/78/890ee76b1c5f36c05b84017b1eec6810f50c1147ad31665e7286f143cffd/law-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "468f627799f42794f492a63c7beb2bb9", "sha256": "4e90f3069c932e91d8e64e97d4219c42ffe47b423a70e0d6a0e11a257b7868d7" }, "downloads": -1, "filename": "law-0.1.3.tar.gz", "has_sig": false, "md5_digest": "468f627799f42794f492a63c7beb2bb9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 186409, "upload_time": "2021-02-12T19:33:12", "upload_time_iso_8601": "2021-02-12T19:33:12.339011Z", "url": "https://files.pythonhosted.org/packages/89/ed/b0fefe542ec0c543a09e83f80e2b6bb53559643ef5d0c278a5b0443d2138/law-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ccce75f79a2531ae2d3430b96bffe0e4", "sha256": "4fa89c053279cc38f3f6d70ece99ddc055575819ca1f67f8c5307a50d3e3d71d" }, "downloads": -1, "filename": "law-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ccce75f79a2531ae2d3430b96bffe0e4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 203690, "upload_time": "2021-05-15T11:36:40", "upload_time_iso_8601": "2021-05-15T11:36:40.600820Z", "url": "https://files.pythonhosted.org/packages/7c/ed/4619aaa501d6441e0c0239a8c8452f7086fe08903dbb110b420eb9f79edd/law-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7223b603c712207f71c3ab1b77bbf4cd", "sha256": "3fd073107a53c76432f685aa6e256a99e33e72e2c0113377c018b882dd3ae2e9" }, "downloads": -1, "filename": "law-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7223b603c712207f71c3ab1b77bbf4cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 205671, "upload_time": "2021-09-02T17:03:14", "upload_time_iso_8601": "2021-09-02T17:03:14.544946Z", "url": "https://files.pythonhosted.org/packages/04/82/3ff8c04cf82c047fc19bec4817eb6d8da0d12a7b9ad6c9af8dcc80c39924/law-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "217d242a2aaf9cfc8a7a110dd2fee233", "sha256": "17c2c1837080590bff4d2e7228bfb418733f11b60e2bac8f589e68da78cf2ab8" }, "downloads": -1, "filename": "law-0.1.6.tar.gz", "has_sig": false, "md5_digest": "217d242a2aaf9cfc8a7a110dd2fee233", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 206094, "upload_time": "2021-11-23T15:14:06", "upload_time_iso_8601": "2021-11-23T15:14:06.017365Z", "url": "https://files.pythonhosted.org/packages/8c/12/83118ab31cabffa65ef7756d53f36e6f1f26d6e653c6d730c918d58936af/law-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6e437f0e075309e69ae6419397901299", "sha256": "1907989263087baaae652f00b8f196ed31df57cf749d2583d90c6e6af18fb2c3" }, "downloads": -1, "filename": "law-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6e437f0e075309e69ae6419397901299", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 217981, "upload_time": "2022-04-21T16:28:11", "upload_time_iso_8601": "2022-04-21T16:28:11.954445Z", "url": "https://files.pythonhosted.org/packages/b0/f5/aeb84bdfea45ff0f5b8d97a9a9ab07b584f5c06bdb7f1657b1267b5753e8/law-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e437f0e075309e69ae6419397901299", "sha256": "1907989263087baaae652f00b8f196ed31df57cf749d2583d90c6e6af18fb2c3" }, "downloads": -1, "filename": "law-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6e437f0e075309e69ae6419397901299", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4'", "size": 217981, "upload_time": "2022-04-21T16:28:11", "upload_time_iso_8601": "2022-04-21T16:28:11.954445Z", "url": "https://files.pythonhosted.org/packages/b0/f5/aeb84bdfea45ff0f5b8d97a9a9ab07b584f5c06bdb7f1657b1267b5753e8/law-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }