This release is a pre-release and may not be stable for production use.
Documentation hosted by ReadTheDocs
Introducing Py-EVM
Py-EVM is a new implementation of the Ethereum Virtual Machine written in python. It is currently in active development but is quickly progressing through the test suite provided by ethereum/tests. I have Vitalik, and the existing PyEthereum code to thank for the quick progress I’ve made as many design decisions were inspired, or even directly ported from the PyEthereum codebase.
Py-EVM aims to eventually become the defacto python implementation of the EVM, enabling a wide array of use cases for both public and private chains. Development will focus on creating an EVM with a well defined API, friendly and easy to digest documentation which can be run as a fully functional mainnet node.
Step 1: Alpha Release
The plan is to begin with an MVP, alpha-level release that is suitable for testing purposes. We’ll be looking for early adopters to provide feedback on our architecture and API choices as well as general feedback and bug finding.
Blog posts:
Development
Py-EVM depends on a submodule of the common tests across all clients, so you need to clone the repo with the --recursive flag. Example:
git clone --recursive git@github.com:ethereum/py-evm.git
Then install the required python packages via:
pip install -e . -r requirements-dev.txt
Running the tests
You can run the tests with:
py.test tests
Or you can install tox to run the full test suite.
Releasing
Pandoc is required for transforming the markdown README to the proper format to render correctly on pypi.
For Debian-like systems:
apt install pandoc
Or on OSX:
brew install pandoc
To release a new version:
bumpversion $$VERSION_PART_TO_BUMP$$
git push && git push --tags
make release
How to bumpversion
The version format for this repo is {major}.{minor}.{patch} for stable, and {major}.{minor}.{patch}-{stage}.{devnum} for unstable (stage can be alpha or beta).
To issue the next version in line, use bumpversion and specify which part to bump, like bumpversion minor or bumpversion devnum.
If you are in a beta version, bumpversion stage will switch to a stable.
To issue an unstable version when the current version is stable, specify the new version explicitly, like bumpversion --new-version 4.0.0-alpha.1 devnum
Release files for py-evm 0.2.0a9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| py-evm-0.2.0a9.tar.gz | 132.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_evm-0.2.0a9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 314.4 kB
Release files / py-evm-0.2.0a9.tar.gz
| Download URL | py-evm-0.2.0a9.tar.gz |
|---|---|
| Size | 132.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55f12699c9c04199944f9267c751493eb4f302c4fde4ef282c24f58e34c76f26
|
|
BLAKE2b-256 checksum How to use checksums |
0fe981eeea9d9bff5822955341ceaca901a0479b3009c17b889d3685478af419
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / py_evm-0.2.0a9-py3-none-any.whl
| Download URL | py_evm-0.2.0a9-py3-none-any.whl |
|---|---|
| Size | 181.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
573c3a0daaee78faa7bece0dd25e89558e7bf65fdca5c3b2a7df799d91d4a514
|
|
BLAKE2b-256 checksum How to use checksums |
fc29a82e5542f7d4e6d51010d67e589cbb4425d6cc8a8bd3dde891b4a9b331e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |