$npx skillfedfor your agent

py-evm

Python implementation of the Ethereum Virtual Machine

SkipPyPI Software DevelopmentReleased May 2025280.2K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — py_evm-0.12.1b1-py3-none-any.whl
v0.12.1b1 · released 2025-05-14 · Python <4,>=3.8 · 10 runtime deps: cached-property, eth-bloom, eth-keys, eth-typing, eth-utils, lru-dict, py-ecc, rlp

No, not for new projects. While py-evm is well-designed and has low install friction, the repository is archived and abandoned—no maintenance, security patches, or bug fixes will be provided. Its 10 dependencies may themselves become stale. Install only if you are maintaining an existing codebase that already depends on it, or if you are conducting time-limited research where you accept the stability and security risks.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.8 or later; the package is in Alpha status (Development Status :: 3) and the repository is archived, so production use carries stability risk.
  • Installation is straightforward with low friction—a pure Python wheel with 10 runtime dependencies.
  • However, the repository is archived and marked as abandoned; the last commit was 2025-09-08 but no active maintenance is occurring.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you can use, modify, and distribute py-evm with minimal legal restriction, though you must retain the license notice.

last release 2025-05-14 (457 days) · last repo commit 2025-09-08 · 2,353 stars · archived

0 known vulnerabilities (OSV.dev, 2026-08-14) · 280,173 downloads/mo, #8,114 on PyPI

Verify before relying

pip install py-evm

from eth_utils import decode_hex
from py_evm.vm import VM
from py_evm.chains.mainnet import MainnetChain

# Create a chain instance and execute transactions
chain = MainnetChain()
# Use chain methods to process blocks and state
  • Current performance characteristics and whether it remains suitable for testing large transaction volumes.
  • Compatibility with recent Ethereum protocol upgrades post-abandonment.
  • Whether the 10 runtime dependencies (eth-bloom, eth-keys, eth-typing, eth-utils, lru-dict, py-ecc, rlp, trie, ckzg, cached-property) are themselves maintained.
Same gist for agents: .md · .json

What it is and what it does

Py-EVM is a Python-based reference implementation of the Ethereum Virtual Machine designed to be readable, flexible, and performant enough for testing and research. It executes Ethereum bytecode and processes transactions according to the protocol specification, with a focus on clarity and modifiability over raw speed.

The package is built on a stack of Ethereum-specific cryptographic and data-structure libraries (eth-bloom, eth-keys, eth-typing, eth-utils, py-ecc, rlp, trie, and ckzg) and provides chainable interfaces for constructing and simulating Ethereum execution. It is intended as a reference implementation and testing tool rather than a production execution client, and is suitable for developers building Python-based Ethereum applications, running protocol experiments, or validating smart contract behavior in isolation.

Use it for

  • Testing smart contracts and transaction logic in Python without deploying to a live network.
  • Building research prototypes and experimental Ethereum protocol implementations.
  • Validating bytecode execution and state transitions as part of a Python test suite.
  • Understanding Ethereum protocol mechanics through a readable, modifiable codebase.
  • Simulating blockchain state and transaction processing for educational or analytical purposes.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No, not for new projects.

While py-evm is well-designed and has low install friction, the repository is archived and abandoned—no maintenance, security patches, or bug fixes will be provided. Its 10 dependencies may themselves become stale. Install only if you are maintaining an existing codebase that already depends on it, or if you are conducting time-limited research where you accept the stability and security risks.

Install

py-evm on PyPI

Before you install

Installation is straightforward with low friction—a pure Python wheel with 10 runtime dependencies. However, the repository is archived and marked as abandoned; the last commit was 2025-09-08 but no active maintenance is occurring. Use only if you accept that security patches and bug fixes will not be forthcoming.

Requires Python 3.8 or later; the package is in Alpha status (Development Status :: 3) and the repository is archived, so production use carries stability risk.

License in practice

MIT license is permissive; you can use, modify, and distribute py-evm with minimal legal restriction, though you must retain the license notice.

Quickstart

pip install py-evm

from eth_utils import decode_hex
from py_evm.vm import VM
from py_evm.chains.mainnet import MainnetChain

# Create a chain instance and execute transactions
chain = MainnetChain()
# Use chain methods to process blocks and state

Verify before relying

  • Current performance characteristics and whether it remains suitable for testing large transaction volumes.
  • Compatibility with recent Ethereum protocol upgrades post-abandonment.
  • Whether the 10 runtime dependencies (eth-bloom, eth-keys, eth-typing, eth-utils, lru-dict, py-ecc, rlp, trie, ckzg, cached-property) are themselves maintained.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release <4,>=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
10 packages
cached-propertyeth-bloometh-keyseth-typingeth-utilslru-dictpy-eccrlptrieckzg
MaintenanceAbandoned 457 days since the last release
Last repo commit repository archived
First released
Downloads280,173 / month, #8,114 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Evidence: py_evm-0.12.1b1-py3-none-any.whl

Tags

Capabilities
ethereum virtual machine pythonevm implementationethereum bytecode executionsmart contract testing pythonethereum protocol referenceevm simulatorblockchain development python
Topics
ethereumblockchain-testingreference-implementation
PyPI keywords
ethereumblockchainevm

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “ethereum virtual machine python”

  • py-evmPy-EVM is a Python implementation of the Ethereum Virtual Machine…
  • pyevmasmpyevmasm assembles and disassembles Ethereum Virtual Machine…
  • vyperVyper is a Python-like programming language for writing smart…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also vyper · web3 · ethereum-dasm · evmdasm · pyevmasm · mythril · clvm-tools · eth-brownie · clvm · x402