skillfed

eth-tester

eth-tester: Tools for testing Ethereum applications.

eth-tester v0.13.0b1 287.3K downloads/30d#8,034 on PyPI376
Permissive license MIT AGING released

What it is and what it does

eth-tester is an in-memory Ethereum blockchain simulator that lets you test Ethereum applications and smart contracts locally without connecting to a live network. It provides a complete EthereumTester API for account management, transaction submission, block mining, and state queries—all running in Python with deterministic, reproducible behavior.

The library enforces strict input/output formats (hexadecimal strings for hashes and addresses, integers for numeric values) and includes features like auto-mining of transactions, time travel, and manual block mining. It depends on eth-abi, eth-account, eth-keys, eth-utils, rlp, and semantic_version to handle cryptographic operations and data encoding.

Use it for:

  • Unit testing smart contracts during development before deployment to testnet or mainnet
  • Integration testing Ethereum dApps that interact with multiple accounts and contract state
  • Prototyping blockchain logic and validating transaction flows without external dependencies
  • Educational projects and tutorials demonstrating Ethereum mechanics in a controlled environment
  • Simulating account operations and balance queries in isolation

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

eth-tester provides an in-memory Ethereum blockchain simulator for testing smart contracts and Ethereum applications without needing a live network or node.

Yes, if you are testing Ethereum applications locally. eth-tester is the standard in-memory simulator for the Ethereum Python ecosystem and has low install friction. However, be aware that maintenance is aging (last release 2025-04-23, no recent commits visible) and the pre-alpha classifier suggests it may not be production-hardened; verify test coverage and reliability for your specific use case before relying on it for critical contract validation.

Install

eth-tester on PyPI

pip

pip install eth-tester

uv

uv add eth-tester

poetry

poetry add eth-tester

Installing eth-tester

Before you install

Low install friction with a pure-Python wheel and six runtime dependencies. Maintenance status is aging—last release was 2025-04-23 and the repository shows no recent activity, though it remains unarchived and receives modest community attention (376 stars).

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install eth-tester

from eth_tester import EthereumTester

t = EthereumTester()
accounts = t.get_accounts()
balance = t.get_balance(accounts[0])
tx_hash = t.send_transaction({
    'from': accounts[0],
    'to': accounts[1],
    'value': 1,
    'gas': 30000
})

Verify before relying

  • Whether the pre-alpha status (Development Status :: 2) indicates active development or dormancy relative to the aging maintenance signal
  • Current test coverage and reliability for production-grade contract testing workflows
  • Support for specific transaction types and fee mechanisms beyond basic transaction submission

Package facts

License MIT (permissive)
Python support supports the current Python release (<4,>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 6 — eth-abi, eth-account, eth-keys, eth-utils, rlp, semantic_version
Maintenance aging — 478 days since the last release
Last repo commit
First released
Downloads 287,304/month — #8,034 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: eth_tester-0.13.0b1-py3-none-any.whl

Keywords: ethereum

Development Status :: 2 - Pre-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

Tags

ethereum testing librarylocal blockchain simulatorethereum smart contract testingmock ethereum nodeethereum dapp testing
ethereumblockchain-testingsmart-contracts

More Testing packages