Skip to content
Utility functions for working with ethereum related codebases.
Python Makefile
Branch: master
Clone or download

Latest commit

reverendus Using regular expression matching in `is_hex()` and `is_hexstr()`
This yields significant performance improvement over the previous
approach, the new implementation can be about 40x faster according
to my tests.
Latest commit 8f771b7 Mar 19, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add python3.8 support Nov 4, 2019
.github Added TownCrier Sep 2, 2019
docs Update docs/utilities.rst Jan 13, 2020
eth_utils Using regular expression matching in `is_hex()` and `is_hexstr()` Mar 19, 2020
fixtures/mypy Add type hints to decorator Sep 17, 2018
newsfragments Using regular expression matching in `is_hex()` and `is_hexstr()` Mar 19, 2020
tests Remove deprecation warning on is_hex() Jan 12, 2020
.bumpversion.cfg Bump version: 1.8.3 → 1.8.4 Dec 5, 2019
.gitignore Added TownCrier Sep 2, 2019
LICENSE initial commit Feb 7, 2017
MANIFEST.in Missing asterisk in manifest Dec 5, 2019
Makefile Added TownCrier Sep 2, 2019
README.md Added TownCrier Sep 2, 2019
mypy.ini Add mypy config file and missing type hints Nov 21, 2019
pyproject.toml Added TownCrier Sep 2, 2019
pytest.ini flesh out test suite Feb 8, 2017
setup.py Bump version: 1.8.3 → 1.8.4 Dec 5, 2019
tox.ini Add mypy config file and missing type hints Nov 21, 2019

README.md

Ethereum Utils

Join the chat at https://gitter.im/ethereum/eth-utils

Build Status

Documentation hosted by ReadTheDocs

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.

Installation

pip install eth-utils

Development

Clone the repository and then run:

pip install -e .[dev] eth-hash[pycryptodome]

Documentation

Building Sphinx docs locally:

pip install -e .[doc]
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:

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:

make release bump=$$VERSION_PART_TO_BUMP$$

To preview the upcoming release notes:

towncrier --draft

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"

You can’t perform that action at this time.