Skip to main content

Ethereum Improvement Proposal (EIP) ETL library

Project description

Ethereum Improvement Proposal (EIP) Processor

CLI tools and Python library for interacting with EIPs from the source EIPs GitHub repository.

Features/TODO

Frontend

  • CLI tools
  • Library API
  • Documentation

Data processing:

  • EIP Metadata processing
  • EIP relationships and references
  • Automated tagging
  • File history, changelog
  • Aggregate data, statistics, and error detection

Usage

Show EIP

eips show 20

Show EIP Headers

eips show -i 4626

API Usage

Get an EIP

>>> from eips import EIPs
>>> eips = EIPs()
>>> eip_20 = eips.get(20)[0]
>>> eip_20.title
'Token Standard'

Get all EIPs

>>> from eips import EIPs
>>> eips = EIPs()
>>> for e in eips.get():
...   print(e.eip_id)
... 
2018
5216
999
606
[...]

Get count of EIPs

>>> from eips import EIPs
>>> eips = EIPs()
>>> eips.len()
687

Get EIPs aggregate stats

>>> from eips import EIPs
>>> eips = EIPs()
>>> eips.stats().total
687
>>> eips.stats().errors
0
>>> [c.value for c in eips.stats().categories]
['ERC', 'Core', 'Interface', 'Networking']
>>> [s.value for s in eips.stats().statuses]
['Stagnant', 'Last Call', 'Withdrawn', 'Final', 'Review', 'Draft', 'Living']
>>> [t.value for t in eips.stats().types]
['Standards Track', 'Meta', 'Informational']

Development

Run Tests

hatch run test

Linting

hatch run lint

Release

# Bump the version major/minor/patch
hatch version patch
# Tag the git commit with the version
git tag -a "v$(hatch version)" -m "v$(hatch version)"
# Push it up to GH, don't forget the tag
git push --follow-tags

Now create a GitHub release and CI will do the rest.

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

eips-0.0.2.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

eips-0.0.2-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file eips-0.0.2.tar.gz.

File metadata

  • Download URL: eips-0.0.2.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for eips-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3b8be6aa81d624cbe8a1642a3b5dc65c1eabbb050131096eef2a6b3c9622f7e3
MD5 b20b396e4aec007e631deaea4c054bc1
BLAKE2b-256 81a84148873fa5bc9d00222fd5b8a1c522a4e803aa653704f7076fdcc1493242

See more details on using hashes here.

File details

Details for the file eips-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: eips-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for eips-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7cd9255e96065f1f902ca800f8499ec93f0e6770402899d603dac402aaf52d3f
MD5 05f1a357ec4f2f22c4e78d88e844ac65
BLAKE2b-256 3b5433707c8263532369650bc043ecc496f0325a50a255a4f4311f487e11d4fe

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