| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- Metadata-Version: 2.4
- Name: eth-utils
- Version: 5.3.1
- Summary: eth-utils: Common utility functions for python code that interacts with Ethereum
- Home-page: https://github.com/ethereum/eth-utils
- Author: The Ethereum Foundation
- Author-email: snakecharmers@ethereum.org
- License: MIT
- Keywords: ethereum
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Natural Language :: English
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Classifier: Programming Language :: Python :: 3.13
- Requires-Python: >=3.8, <4
- Description-Content-Type: text/markdown
- License-File: LICENSE
- Requires-Dist: eth-hash>=0.3.1
- Requires-Dist: eth-typing>=5.0.0
- Requires-Dist: toolz>0.8.2; implementation_name == "pypy"
- Requires-Dist: cytoolz>=0.10.1; implementation_name == "cpython"
- Requires-Dist: pydantic<3,>=2.0.0
- Provides-Extra: dev
- Requires-Dist: build>=0.9.0; extra == "dev"
- Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
- Requires-Dist: eth-hash[pycryptodome]; extra == "dev"
- Requires-Dist: ipython; extra == "dev"
- Requires-Dist: mypy==1.10.0; extra == "dev"
- Requires-Dist: pre-commit>=3.4.0; extra == "dev"
- Requires-Dist: tox>=4.0.0; extra == "dev"
- Requires-Dist: twine; extra == "dev"
- Requires-Dist: wheel; extra == "dev"
- Requires-Dist: sphinx>=6.0.0; extra == "dev"
- Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
- Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
- Requires-Dist: towncrier<25,>=24; extra == "dev"
- Requires-Dist: hypothesis>=4.43.0; extra == "dev"
- Requires-Dist: mypy==1.10.0; extra == "dev"
- Requires-Dist: pytest>=7.0.0; extra == "dev"
- Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
- Provides-Extra: docs
- Requires-Dist: sphinx>=6.0.0; extra == "docs"
- Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
- Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
- Requires-Dist: towncrier<25,>=24; extra == "docs"
- Provides-Extra: test
- Requires-Dist: hypothesis>=4.43.0; extra == "test"
- Requires-Dist: mypy==1.10.0; extra == "test"
- Requires-Dist: pytest>=7.0.0; extra == "test"
- Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
- Dynamic: author
- Dynamic: author-email
- Dynamic: classifier
- Dynamic: description
- Dynamic: description-content-type
- Dynamic: home-page
- Dynamic: keywords
- Dynamic: license
- Dynamic: license-file
- Dynamic: provides-extra
- Dynamic: requires-dist
- Dynamic: requires-python
- Dynamic: summary
- # Ethereum Utilities
- [](https://discord.gg/GHryRvPB84)
- [](https://circleci.com/gh/ethereum/eth-utils)
- [](https://badge.fury.io/py/eth-utils)
- [](https://pypi.python.org/pypi/eth-utils)
- [](https://eth-utils.readthedocs.io/en/latest/?badge=latest)
- Common utility functions for python code that interacts with Ethereum
- Read the [documentation](https://eth-utils.readthedocs.io/).
- View the [change log](https://eth-utils.readthedocs.io/en/latest/release_notes.html).
- ## Installation
- ```sh
- python -m pip install eth-utils
- ```
- ## Developer Setup
- If you would like to hack on eth-utils, please check out the [Snake Charmers
- Tactical Manual](https://github.com/ethereum/snake-charmers-tactical-manual)
- for information on how we do:
- - Testing
- - Pull Requests
- - Documentation
- We use [pre-commit](https://pre-commit.com/) to maintain consistent code style. Once
- installed, it will run automatically with every commit. You can also run it manually
- with `make lint`. If you need to make a commit that skips the `pre-commit` checks, you
- can do so with `git commit --no-verify`.
- ### Development Environment Setup
- You can set up your dev environment with:
- ```sh
- git clone git@github.com:ethereum/eth-utils.git
- cd eth-utils
- virtualenv -p python3 venv
- . venv/bin/activate
- python -m pip install -e ".[dev]"
- pre-commit install
- ```
- ### Update Networks
- The list of networks resides in the JSON file under eth_utils/\_\_json/eth_networks.json.
- This file is used to initialize Networks, which can be used to obtain network
- information with a chain ID.
- Run the script to update the JSON file with the response from the remote list.
- ```sh
- python update_networks.py
- ```
- If there are new networks they will appear in the JSON file. After checking the updates,
- open a PR to make them available in a new release.
- ### Release setup
- To release a new version:
- ```sh
- 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
- main branch, except when releasing a beta (in which case the beta is released from main,
- 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"`
|