Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Join the chat at https://gitter.im/ethereum/py-evm Documentation Status

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)

Source distribution for py-evm 0.2.0a9
File Size Uploaded
py-evm-0.2.0a9.tar.gz 132.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-evm 0.2.0a9
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0a9 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page