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)
Built Distribution
eips-0.2.0-py3-none-any.whl
(16.0 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
13a1273472d7e5afc9854f3c358b93d62bdbe4a318774808b944cb679f57bf9b
|
|
MD5 |
760e7d0843c1d870c4dcc6b6fe2e15ca
|
|
BLAKE2b-256 |
a32dc720c14580b0b5dc5564860f326d7783cefd60a829d81ad1c1636e336140
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
584d0b91d40dbecf84204383307869c73db6b60bcccb08f493fbd3d3d7ef30d1
|
|
MD5 |
0873fb36d9cfadac4015a57e26c67183
|
|
BLAKE2b-256 |
1257b4fafdc2f458166dde0fb586ff429c643db807338a69e49fc74ea1791ec6
|