METADATA 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. Metadata-Version: 2.4
  2. Name: eth-utils
  3. Version: 5.3.1
  4. Summary: eth-utils: Common utility functions for python code that interacts with Ethereum
  5. Home-page: https://github.com/ethereum/eth-utils
  6. Author: The Ethereum Foundation
  7. Author-email: snakecharmers@ethereum.org
  8. License: MIT
  9. Keywords: ethereum
  10. Classifier: Intended Audience :: Developers
  11. Classifier: License :: OSI Approved :: MIT License
  12. Classifier: Natural Language :: English
  13. Classifier: Programming Language :: Python :: 3
  14. Classifier: Programming Language :: Python :: 3.8
  15. Classifier: Programming Language :: Python :: 3.9
  16. Classifier: Programming Language :: Python :: 3.10
  17. Classifier: Programming Language :: Python :: 3.11
  18. Classifier: Programming Language :: Python :: 3.12
  19. Classifier: Programming Language :: Python :: 3.13
  20. Requires-Python: >=3.8, <4
  21. Description-Content-Type: text/markdown
  22. License-File: LICENSE
  23. Requires-Dist: eth-hash>=0.3.1
  24. Requires-Dist: eth-typing>=5.0.0
  25. Requires-Dist: toolz>0.8.2; implementation_name == "pypy"
  26. Requires-Dist: cytoolz>=0.10.1; implementation_name == "cpython"
  27. Requires-Dist: pydantic<3,>=2.0.0
  28. Provides-Extra: dev
  29. Requires-Dist: build>=0.9.0; extra == "dev"
  30. Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
  31. Requires-Dist: eth-hash[pycryptodome]; extra == "dev"
  32. Requires-Dist: ipython; extra == "dev"
  33. Requires-Dist: mypy==1.10.0; extra == "dev"
  34. Requires-Dist: pre-commit>=3.4.0; extra == "dev"
  35. Requires-Dist: tox>=4.0.0; extra == "dev"
  36. Requires-Dist: twine; extra == "dev"
  37. Requires-Dist: wheel; extra == "dev"
  38. Requires-Dist: sphinx>=6.0.0; extra == "dev"
  39. Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "dev"
  40. Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "dev"
  41. Requires-Dist: towncrier<25,>=24; extra == "dev"
  42. Requires-Dist: hypothesis>=4.43.0; extra == "dev"
  43. Requires-Dist: mypy==1.10.0; extra == "dev"
  44. Requires-Dist: pytest>=7.0.0; extra == "dev"
  45. Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
  46. Provides-Extra: docs
  47. Requires-Dist: sphinx>=6.0.0; extra == "docs"
  48. Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
  49. Requires-Dist: sphinx_rtd_theme>=1.0.0; extra == "docs"
  50. Requires-Dist: towncrier<25,>=24; extra == "docs"
  51. Provides-Extra: test
  52. Requires-Dist: hypothesis>=4.43.0; extra == "test"
  53. Requires-Dist: mypy==1.10.0; extra == "test"
  54. Requires-Dist: pytest>=7.0.0; extra == "test"
  55. Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
  56. Dynamic: author
  57. Dynamic: author-email
  58. Dynamic: classifier
  59. Dynamic: description
  60. Dynamic: description-content-type
  61. Dynamic: home-page
  62. Dynamic: keywords
  63. Dynamic: license
  64. Dynamic: license-file
  65. Dynamic: provides-extra
  66. Dynamic: requires-dist
  67. Dynamic: requires-python
  68. Dynamic: summary
  69. # Ethereum Utilities
  70. [![Join the conversation on Discord](https://img.shields.io/discord/809793915578089484?color=blue&label=chat&logo=discord&logoColor=white)](https://discord.gg/GHryRvPB84)
  71. [![Build Status](https://circleci.com/gh/ethereum/eth-utils.svg?style=shield)](https://circleci.com/gh/ethereum/eth-utils)
  72. [![PyPI version](https://badge.fury.io/py/eth-utils.svg)](https://badge.fury.io/py/eth-utils)
  73. [![Python versions](https://img.shields.io/pypi/pyversions/eth-utils.svg)](https://pypi.python.org/pypi/eth-utils)
  74. [![Docs build](https://readthedocs.org/projects/eth-utils/badge/?version=latest)](https://eth-utils.readthedocs.io/en/latest/?badge=latest)
  75. Common utility functions for python code that interacts with Ethereum
  76. Read the [documentation](https://eth-utils.readthedocs.io/).
  77. View the [change log](https://eth-utils.readthedocs.io/en/latest/release_notes.html).
  78. ## Installation
  79. ```sh
  80. python -m pip install eth-utils
  81. ```
  82. ## Developer Setup
  83. If you would like to hack on eth-utils, please check out the [Snake Charmers
  84. Tactical Manual](https://github.com/ethereum/snake-charmers-tactical-manual)
  85. for information on how we do:
  86. - Testing
  87. - Pull Requests
  88. - Documentation
  89. We use [pre-commit](https://pre-commit.com/) to maintain consistent code style. Once
  90. installed, it will run automatically with every commit. You can also run it manually
  91. with `make lint`. If you need to make a commit that skips the `pre-commit` checks, you
  92. can do so with `git commit --no-verify`.
  93. ### Development Environment Setup
  94. You can set up your dev environment with:
  95. ```sh
  96. git clone git@github.com:ethereum/eth-utils.git
  97. cd eth-utils
  98. virtualenv -p python3 venv
  99. . venv/bin/activate
  100. python -m pip install -e ".[dev]"
  101. pre-commit install
  102. ```
  103. ### Update Networks
  104. The list of networks resides in the JSON file under eth_utils/\_\_json/eth_networks.json.
  105. This file is used to initialize Networks, which can be used to obtain network
  106. information with a chain ID.
  107. Run the script to update the JSON file with the response from the remote list.
  108. ```sh
  109. python update_networks.py
  110. ```
  111. If there are new networks they will appear in the JSON file. After checking the updates,
  112. open a PR to make them available in a new release.
  113. ### Release setup
  114. To release a new version:
  115. ```sh
  116. make release bump=$$VERSION_PART_TO_BUMP$$
  117. ```
  118. #### How to bumpversion
  119. The version format for this repo is `{major}.{minor}.{patch}` for stable, and
  120. `{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta).
  121. To issue the next version in line, specify which part to bump,
  122. like `make release bump=minor` or `make release bump=devnum`. This is typically done from the
  123. main branch, except when releasing a beta (in which case the beta is released from main,
  124. and the previous stable branch is released from said branch).
  125. If you are in a beta version, `make release bump=stage` will switch to a stable.
  126. To issue an unstable version when the current version is stable, specify the
  127. new version explicitly, like `make release bump="--new-version 4.0.0-alpha.1 devnum"`