{ "info": { "author": "The Ethereum Foundation", "author_email": "snakecharmers@ethereum.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "# py-lll\n\n[![Join the chat at https://gitter.im/ethereum/py-lll](https://badges.gitter.im/ethereum/py-lll.svg)](https://gitter.im/ethereum/py-lll?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![Build Status](https://circleci.com/gh/ethereum/py-lll.svg?style=shield)](https://circleci.com/gh/ethereum/py-lll)\n[![PyPI version](https://badge.fury.io/py/py-lll.svg)](https://badge.fury.io/py/py-lll)\n[![Python versions](https://img.shields.io/pypi/pyversions/py-lll.svg)](https://pypi.python.org/pypi/py-lll)\n[![Docs build](https://readthedocs.org/projects/py-lll/badge/?version=latest)](http://py-lll.readthedocs.io/en/latest/?badge=latest)\n\n\nAn LLL compiler for Python.\n\nRead more in the [documentation on ReadTheDocs](https://py-lll.readthedocs.io/). [View the change log](https://py-lll.readthedocs.io/en/latest/releases.html).\n\n## Quickstart\n\n```sh\npip install py-lll\n```\n\n## Developer Setup\n\nIf you would like to hack on py-lll, please check out the [Snake Charmers\nTactical Manual](https://github.com/ethereum/snake-charmers-tactical-manual)\nfor information on how we do:\n\n- Testing\n- Pull Requests\n- Code Style\n- Documentation\n\n### Development Environment Setup\n\nYou can set up your dev environment with:\n\n```sh\ngit clone git@github.com:ethereum/py-lll.git\ncd py-lll\nvirtualenv -p python3 venv\n. venv/bin/activate\npip install -e .[dev]\n```\n\n### Testing Setup\n\nDuring development, you might like to have tests run on every file save.\n\nShow flake8 errors on file change:\n\n```sh\n# Test flake8\nwhen-changed -v -s -r -1 lll/ tests/ -c \"clear; flake8 lll tests && echo 'flake8 success' || echo 'error'\"\n```\n\nRun multi-process tests in one command, but without color:\n\n```sh\n# in the project root:\npytest --numprocesses=4 --looponfail --maxfail=1\n# the same thing, succinctly:\npytest -n 4 -f --maxfail=1\n```\n\nRun in one thread, with color and desktop notifications:\n\n```sh\ncd venv\nptw --onfail \"notify-send -t 5000 'Test failure \u26a0\u26a0\u26a0\u26a0\u26a0' 'python 3 test on py-lll failed'\" ../tests ../lll\n```\n\n### Release setup\n\nFor Debian-like systems:\n```\napt install pandoc\n```\n\nTo release a new version:\n\n```sh\nmake release bump=$$VERSION_PART_TO_BUMP$$\n```\n\n#### How to bumpversion\n\nThe version format for this repo is `{major}.{minor}.{patch}` for stable, and\n`{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta).\n\nTo issue the next version in line, specify which part to bump,\nlike `make release bump=minor` or `make release bump=devnum`. This is typically done from the\nmaster branch, except when releasing a beta (in which case the beta is released from master,\nand the previous stable branch is released from said branch). To include changes made with each\nrelease, update \"docs/releases.rst\" with the changes, and apply commit directly to master \nbefore release.\n\nIf you are in a beta version, `make release bump=stage` will switch to a stable.\n\nTo issue an unstable version when the current version is stable, specify the\nnew version explicitly, like `make release bump=\"--new-version 4.0.0-alpha.1 devnum\"`\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/davesque/py-lll", "keywords": "ethereum", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "py-lll", "package_url": "https://pypi.org/project/py-lll/", "platform": "", "project_url": "https://pypi.org/project/py-lll/", "project_urls": { "Homepage": "https://github.com/davesque/py-lll" }, "release_url": "https://pypi.org/project/py-lll/0.1.0a1/", "requires_dist": [ "bumpversion (<1,>=0.5.3) ; extra == 'dev'", "pytest-watch (<5,>=4.1.0) ; extra == 'dev'", "wheel ; extra == 'dev'", "twine ; extra == 'dev'", "ipython ; extra == 'dev'", "pytest (==3.3.2) ; extra == 'dev'", "pytest-xdist ; extra == 'dev'", "tox (<3,>=2.9.1) ; extra == 'dev'", "flake8 (==3.4.1) ; extra == 'dev'", "isort (<5,>=4.2.15) ; extra == 'dev'", "mypy (==0.701) ; extra == 'dev'", "pydocstyle (<4,>=3.0.0) ; extra == 'dev'", "Sphinx (<2,>=1.6.5) ; extra == 'dev'", "sphinx-rtd-theme (>=0.1.9) ; extra == 'dev'", "Sphinx (<2,>=1.6.5) ; extra == 'doc'", "sphinx-rtd-theme (>=0.1.9) ; extra == 'doc'", "flake8 (==3.4.1) ; extra == 'lint'", "isort (<5,>=4.2.15) ; extra == 'lint'", "mypy (==0.701) ; extra == 'lint'", "pydocstyle (<4,>=3.0.0) ; extra == 'lint'", "pytest (==3.3.2) ; extra == 'test'", "pytest-xdist ; extra == 'test'", "tox (<3,>=2.9.1) ; extra == 'test'" ], "requires_python": ">=3.6, <4", "summary": "py-lll: An LLL compiler for Python.", "version": "0.1.0a1" }, "last_serial": 5483466, "releases": { "0.1.0a1": [ { "comment_text": "", "digests": { "md5": "e8531470944db72292e0a097f2b4a226", "sha256": "c87402849d2d00bc01896053ea673cfa3b4cc295e511c584856b450fdba8d910" }, "downloads": -1, "filename": "py_lll-0.1.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "e8531470944db72292e0a097f2b4a226", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 3835, "upload_time": "2019-07-03T21:03:37", "url": "https://files.pythonhosted.org/packages/13/7b/2df83844f3b33906f87a518560382b1d4a46a3be410e57e902801d165bc6/py_lll-0.1.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "298516cf2dcc37fd7b6bf0402018ef2d", "sha256": "98b8f7c6c0fc28df33c4c5b2b42016d8641196d4740b78230187dc3009c018f3" }, "downloads": -1, "filename": "py-lll-0.1.0a1.tar.gz", "has_sig": false, "md5_digest": "298516cf2dcc37fd7b6bf0402018ef2d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 3409, "upload_time": "2019-07-03T21:03:39", "url": "https://files.pythonhosted.org/packages/ec/d4/7d92013ed14e5a22c7c05b8cf72a22b1a58fdfc4a1f579d067731dbabc0f/py-lll-0.1.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e8531470944db72292e0a097f2b4a226", "sha256": "c87402849d2d00bc01896053ea673cfa3b4cc295e511c584856b450fdba8d910" }, "downloads": -1, "filename": "py_lll-0.1.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "e8531470944db72292e0a097f2b4a226", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 3835, "upload_time": "2019-07-03T21:03:37", "url": "https://files.pythonhosted.org/packages/13/7b/2df83844f3b33906f87a518560382b1d4a46a3be410e57e902801d165bc6/py_lll-0.1.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "298516cf2dcc37fd7b6bf0402018ef2d", "sha256": "98b8f7c6c0fc28df33c4c5b2b42016d8641196d4740b78230187dc3009c018f3" }, "downloads": -1, "filename": "py-lll-0.1.0a1.tar.gz", "has_sig": false, "md5_digest": "298516cf2dcc37fd7b6bf0402018ef2d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 3409, "upload_time": "2019-07-03T21:03:39", "url": "https://files.pythonhosted.org/packages/ec/d4/7d92013ed14e5a22c7c05b8cf72a22b1a58fdfc4a1f579d067731dbabc0f/py-lll-0.1.0a1.tar.gz" } ] }