eth-utils provides common utility functions for codebases which interact with ethereum.

  • This library and repository was previously located at https://github.com/pipermerriam/ethereum-utils. It was transferred to the Ethereum foundation github in November 2017 and renamed to eth-utils. The PyPi package was also renamed from ethereum-utils to `eth-utils`.


python -m pip install eth-utils


Clone the repository and then run:

python -m pip install -e ".[dev]"


Building Sphinx docs locally:

python -m pip install -e ".[docs]"
cd docs
make html

Docs are written in reStructuredText and built using the Sphinx documentation generator.

Running the tests

You can run the tests with:

pytest tests

Or you can install tox to run the full test suite.


To release a new version:

make release bump=$$VERSION_PART_TO_BUMP$$

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, specify which part to bump, like make release bump=minor or make release bump=devnum.

If you are in a beta version, make release bump=stage will switch to a stable.

To issue an unstable version when the current version is stable, specify the new version explicitly, like make release bump="--new-version 4.0.0-alpha.1 devnum"