eips


Nameeips JSON
Version 0.0.2 PyPI version JSON
download
home_page
SummaryEthereum Improvement Proposal (EIP) ETL library
upload_time2023-10-03 03:37:23
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT License
keywords eip ethereum etl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # Ethereum Improvement Proposal (EIP) Processor

CLI tools and Python library for interacting with EIPs from the [source EIPs GitHub repository](https://github.com/ethereum/EIPs).

## Features/TODO

Frontend

- [X] CLI tools
- [X] Library API
- [ ] Documentation

Data processing:

- [X] EIP Metadata processing
- [ ] EIP relationships and references
- [ ] Automated tagging
- [ ] File history, changelog
- [X] Aggregate data, statistics, and error detection

## Usage

### Show EIP

```bash
eips show 20
```

### Show EIP Headers

```bash
eips show -i 4626
```

## API Usage

### Get an EIP

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

### Get all EIPs

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

### Get count of EIPs

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

### Get EIPs aggregate stats

```python
>>> 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

```bash
hatch run test
```

### Linting

```bash
hatch run lint
```

### Release

```bash
# 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](https://github.com/mikeshultz/python-eips/releases/new) and CI will do the rest.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "eips",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "eip,ethereum,etl",
    "author": "",
    "author_email": "Mike Shultz <mike@mikeshultz.com>",
    "download_url": "https://files.pythonhosted.org/packages/81/a8/4148873fa5bc9d00222fd5b8a1c522a4e803aa653704f7076fdcc1493242/eips-0.0.2.tar.gz",
    "platform": null,
    "description": "# Ethereum Improvement Proposal (EIP) Processor\n\nCLI tools and Python library for interacting with EIPs from the [source EIPs GitHub repository](https://github.com/ethereum/EIPs).\n\n## Features/TODO\n\nFrontend\n\n- [X] CLI tools\n- [X] Library API\n- [ ] Documentation\n\nData processing:\n\n- [X] EIP Metadata processing\n- [ ] EIP relationships and references\n- [ ] Automated tagging\n- [ ] File history, changelog\n- [X] Aggregate data, statistics, and error detection\n\n## Usage\n\n### Show EIP\n\n```bash\neips show 20\n```\n\n### Show EIP Headers\n\n```bash\neips show -i 4626\n```\n\n## API Usage\n\n### Get an EIP\n\n```python\n>>> from eips import EIPs\n>>> eips = EIPs()\n>>> eip_20 = eips.get(20)[0]\n>>> eip_20.title\n'Token Standard'\n```\n\n### Get all EIPs\n\n```python\n>>> from eips import EIPs\n>>> eips = EIPs()\n>>> for e in eips.get():\n...   print(e.eip_id)\n... \n2018\n5216\n999\n606\n[...]\n```\n\n### Get count of EIPs\n\n```python\n>>> from eips import EIPs\n>>> eips = EIPs()\n>>> eips.len()\n687\n```\n\n### Get EIPs aggregate stats\n\n```python\n>>> from eips import EIPs\n>>> eips = EIPs()\n>>> eips.stats().total\n687\n>>> eips.stats().errors\n0\n>>> [c.value for c in eips.stats().categories]\n['ERC', 'Core', 'Interface', 'Networking']\n>>> [s.value for s in eips.stats().statuses]\n['Stagnant', 'Last Call', 'Withdrawn', 'Final', 'Review', 'Draft', 'Living']\n>>> [t.value for t in eips.stats().types]\n['Standards Track', 'Meta', 'Informational']\n```\n\n## Development\n\n### Run Tests\n\n```bash\nhatch run test\n```\n\n### Linting\n\n```bash\nhatch run lint\n```\n\n### Release\n\n```bash\n# Bump the version major/minor/patch\nhatch version patch\n# Tag the git commit with the version\ngit tag -a \"v$(hatch version)\" -m \"v$(hatch version)\"\n# Push it up to GH, don't forget the tag\ngit push --follow-tags\n```\n\nNow [create a GitHub release](https://github.com/mikeshultz/python-eips/releases/new) and CI will do the rest.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Ethereum Improvement Proposal (EIP) ETL library",
    "version": "0.0.2",
    "project_urls": {
        "Source code": "https://github.com/mikeshultz/eips"
    },
    "split_keywords": [
        "eip",
        "ethereum",
        "etl"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3b5433707c8263532369650bc043ecc496f0325a50a255a4f4311f487e11d4fe",
                "md5": "05f1a357ec4f2f22c4e78d88e844ac65",
                "sha256": "7cd9255e96065f1f902ca800f8499ec93f0e6770402899d603dac402aaf52d3f"
            },
            "downloads": -1,
            "filename": "eips-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "05f1a357ec4f2f22c4e78d88e844ac65",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 11323,
            "upload_time": "2023-10-03T03:37:22",
            "upload_time_iso_8601": "2023-10-03T03:37:22.110317Z",
            "url": "https://files.pythonhosted.org/packages/3b/54/33707c8263532369650bc043ecc496f0325a50a255a4f4311f487e11d4fe/eips-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81a84148873fa5bc9d00222fd5b8a1c522a4e803aa653704f7076fdcc1493242",
                "md5": "b20b396e4aec007e631deaea4c054bc1",
                "sha256": "3b8be6aa81d624cbe8a1642a3b5dc65c1eabbb050131096eef2a6b3c9622f7e3"
            },
            "downloads": -1,
            "filename": "eips-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b20b396e4aec007e631deaea4c054bc1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 10655,
            "upload_time": "2023-10-03T03:37:23",
            "upload_time_iso_8601": "2023-10-03T03:37:23.732010Z",
            "url": "https://files.pythonhosted.org/packages/81/a8/4148873fa5bc9d00222fd5b8a1c522a4e803aa653704f7076fdcc1493242/eips-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-03 03:37:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mikeshultz",
    "github_project": "eips",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "lcname": "eips"
}
        
Elapsed time: 0.12519s