Skip to main content

eth-utils: Common utility functions for python code that interacts with Ethereum

Project description

Ethereum Utilities

Join the chat at https://gitter.im/ethereum/eth-utils Build Status PyPI version Python versions Docs build

Common utility functions for python code that interacts with Ethereum

Read more in the documentation on ReadTheDocs. View the change log.

Quickstart

pip install eth-utils

Developer Setup

If you would like to hack on eth-utils, please check out the Snake Charmers Tactical Manual for information on how we do:

  • Testing
  • Pull Requests
  • Code Style
  • Documentation

Development Environment Setup

You can set up your dev environment with:

git clone git@github.com:ethereum/eth-utils.git
cd eth-utils
virtualenv -p python3 venv
. venv/bin/activate
pip install -e .[dev]
pip install -e eth-hash[pycryptodome]

Testing Setup

During development, you might like to have tests run on every file save.

Show flake8 errors on file change:

# Test flake8
when-changed -v -s -r -1 eth_utils/ tests/ -c "clear; flake8 eth_utils tests && echo 'flake8 success' || echo 'error'"

Run multi-process tests in one command, but without color:

# in the project root:
pytest --numprocesses=4 --looponfail --maxfail=1
# the same thing, succinctly:
pytest -n 4 -f --maxfail=1

Run in one thread, with color and desktop notifications:

cd venv
ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on eth-utils failed'" ../tests ../eth_utils

Release setup

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. This is typically done from the master branch, except when releasing a beta (in which case the beta is released from master, and the previous stable branch is released from said branch).

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"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eth-utils-2.1.0.tar.gz (470.8 kB view details)

Uploaded Source

Built Distribution

eth_utils-2.1.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file eth-utils-2.1.0.tar.gz.

File metadata

  • Download URL: eth-utils-2.1.0.tar.gz
  • Upload date:
  • Size: 470.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.28.1 setuptools/65.5.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.11.0

File hashes

Hashes for eth-utils-2.1.0.tar.gz
Algorithm Hash digest
SHA256 fcb4c3c1b32947ba92970963f9aaf40da73b04ea1034964ff8c0e70595127138
MD5 ca474f7b960970aaa1d1edf680ff5e1f
BLAKE2b-256 3ece5d8df4d0862c256fd140f7e3f93e8c192e13aef53c2ca8d3e9809382a522

See more details on using hashes here.

File details

Details for the file eth_utils-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: eth_utils-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.28.1 setuptools/65.5.0 requests-toolbelt/0.10.1 tqdm/4.64.1 CPython/3.11.0

File hashes

Hashes for eth_utils-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63901e54ec9e4ac16ae0a0d28e1dc48b968c20184d22f2727e5f3ca24b6250bc
MD5 9e279921c91aaa753d10c1e937029986
BLAKE2b-256 f60ef764539995186b032581473a537c3fe2f4cb7e8f4b722397be8410fbb769

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page