py-evm0.12.1b1
py-evm0.12.1b1
Published
Python implementation of the Ethereum Virtual Machine
pip install py-evm
Package Downloads
Authors
Project URLs
Requires Python
<4,>=3.8
Dependencies
- cached-property
>=1.5.1
- eth-bloom
>=1.0.3
- eth-keys
>=0.4.0
- eth-typing
>=5.2.0
- eth-utils
>=2.0.0
- lru-dict
>=1.1.6
- py-ecc
>=8.0.0
- rlp
>=3.0.0
- trie
>=2.0.0
- ckzg
>=2.0.0
- termcolor
>=1.1.0; extra == "benchmark"
- web3
>=6.0.0; extra == "benchmark"
- build
>=0.9.0; extra == "dev"
- bump_my_version
>=0.19.0; extra == "dev"
- ipython
; extra == "dev"
- mypy
==1.10.0; extra == "dev"
- pre-commit
>=3.4.0; extra == "dev"
- tox
>=4.0.0; extra == "dev"
- twine
; extra == "dev"
- wheel
; extra == "dev"
- py-evm
>=0.8.0b1; extra == "dev"
- sphinx
>=6.0.0; extra == "dev"
- sphinx-autobuild
>=2021.3.14; extra == "dev"
- sphinx_rtd_theme
>=1.0.0; extra == "dev"
- sphinxcontrib-asyncio
>=0.2.0; extra == "dev"
- towncrier
<25,>=24; extra == "dev"
- cached-property
>=1.5.1; extra == "dev"
- eth-bloom
>=1.0.3; extra == "dev"
- eth-keys
>=0.4.0; extra == "dev"
- eth-typing
>=5.2.0; extra == "dev"
- eth-utils
>=2.0.0; extra == "dev"
- lru-dict
>=1.1.6; extra == "dev"
- py-ecc
>=8.0.0; extra == "dev"
- rlp
>=3.0.0; extra == "dev"
- trie
>=2.0.0; extra == "dev"
- ckzg
>=2.0.0; extra == "dev"
- factory-boy
>=3.0.0; extra == "dev"
- hypothesis
<7,>=6; extra == "dev"
- pytest
>=7.0.0; extra == "dev"
- pytest-asyncio
>=0.20.0; extra == "dev"
- pytest-cov
>=4.0.0; extra == "dev"
- pytest-timeout
>=2.0.0; extra == "dev"
- pytest-xdist
>=3.0; extra == "dev"
- py-evm
>=0.8.0b1; extra == "docs"
- sphinx
>=6.0.0; extra == "docs"
- sphinx-autobuild
>=2021.3.14; extra == "docs"
- sphinx_rtd_theme
>=1.0.0; extra == "docs"
- sphinxcontrib-asyncio
>=0.2.0; extra == "docs"
- towncrier
<25,>=24; extra == "docs"
- cached-property
>=1.5.1; extra == "eth"
- eth-bloom
>=1.0.3; extra == "eth"
- eth-keys
>=0.4.0; extra == "eth"
- eth-typing
>=5.2.0; extra == "eth"
- eth-utils
>=2.0.0; extra == "eth"
- lru-dict
>=1.1.6; extra == "eth"
- py-ecc
>=8.0.0; extra == "eth"
- rlp
>=3.0.0; extra == "eth"
- trie
>=2.0.0; extra == "eth"
- ckzg
>=2.0.0; extra == "eth"
- blake2b-py
>=0.2.0; extra == "eth-extra"
- coincurve
>=18.0.0; extra == "eth-extra"
- factory-boy
>=3.0.0; extra == "test"
- hypothesis
<7,>=6; extra == "test"
- pytest
>=7.0.0; extra == "test"
- pytest-asyncio
>=0.20.0; extra == "test"
- pytest-cov
>=4.0.0; extra == "test"
- pytest-timeout
>=2.0.0; extra == "test"
- pytest-xdist
>=3.0; extra == "test"
Python Implementation of the Ethereum protocol
Py-EVM
Py-EVM is an implementation of the Ethereum Virtual Machine (EVM) in Python.
Goals
Py-EVM aims to be a readable yet generally performant version of the EVM in Python.
In particular Py-EVM aims to:
- be easy to understand and modifiable
- be highly flexible to support research and experimentation
- be performant enough to be used in testing for Python projects
- be a reference implementation of the Ethereum execution layer specifications
Ethereum consensus today is achieved via Proof of Stake, involving a consensus layer that is beyond the scope of this repository.
Installation
python -m pip install py-evm
Documentation
Check out the documentation on our official website
View the change log.