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
  • Indicate document deletion in some fashion (file flag, and empty props?)

Usage

Show EIP

eips show 712

Show EIP Headers

eips show -i 4626

Show ERC

eips show 20

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

To release, create and publish a GitHub package 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.2.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

eips-0.2.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eips-0.2.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for eips-0.2.0.tar.gz
Algorithm Hash digest
SHA256 13a1273472d7e5afc9854f3c358b93d62bdbe4a318774808b944cb679f57bf9b
MD5 760e7d0843c1d870c4dcc6b6fe2e15ca
BLAKE2b-256 a32dc720c14580b0b5dc5564860f326d7783cefd60a829d81ad1c1636e336140

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eips-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for eips-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 584d0b91d40dbecf84204383307869c73db6b60bcccb08f493fbd3d3d7ef30d1
MD5 0873fb36d9cfadac4015a57e26c67183
BLAKE2b-256 1257b4fafdc2f458166dde0fb586ff429c643db807338a69e49fc74ea1791ec6

See more details on using hashes here.

Supported by

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