Skip to main content

Informational Badges:

PyPI version PyPy PyPI - Python Version Tests Linux macOS Intel macOS ARM

Some Linting Badges (Where I could find them):

Ruff Code style: black Checked with mypy Imports: isort Pylint try/except style: tryceratops

roa_collector

If you like the repo, it would be awesome if you could add a star to it! It really helps out the visibility. Also for any questions at all we'd love to hear from you at jfuruness@gmail.com

Package Description

Downloads ROAs from https://rpki-validator.ripe.net/api/export.json, inserts them in a CSV, and returns them as a list of ROA dataclasses (containing asn, prefix, max_length, and ta properties, where ta is RIPE, afrinic, etc)

Usage

from a script:

from pathlib import Path

from roa_collector import ROACollector

csv_path = Path("/tmp/my_csv_path.csv")  # or set to None to avoid writing
roas = ROACollector(csv_path).run()

Installation

Install python and pip if you have not already.

Then run:

# Needed for graphviz and Pillow
pip3 install pip --upgrade
pip3 install wheel

For production:

pip3 install roa_collector

This will install the package and all of it's python dependencies.

If you want to install the project for development:

git clone https://github.com/jfuruness/roa_collector.git
cd roa_collector
pip3 install -e .[test]
pre-commit install

To test the development package: Testing

Testing

To test the package after installation:

cd roa_collector
pytest roa_collector
ruff check roa_collector
ruff format roa_collector
mypy roa_collector

If you want to run it across multiple environments, and have python 3.10 and 3.11 installed:

cd roa_collector
tox --skip-missing-interpreters

Development/Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Test it
  4. Run tox
  5. Commit your changes: git commit -am 'Add some feature'
  6. Push to the branch: git push origin my-new-feature
  7. Ensure github actions are passing tests
  8. Email me at jfuruness@gmail.com if it's been a while and I haven't seen it

License

BSD License (see license file)

Metadata

Release files for roa-collector 2.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roa-collector 2.0.9
File Size Uploaded Provenance Actions
roa_collector-2.0.9.tar.gz 12.1 kB Without provenance Details for roa_collector-2.0.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for roa-collector 2.0.9
File Interpreter ABI Platform Actions
roa_collector-2.0.9-py3-none-any.whl Python 3 none any Details for roa_collector-2.0.9-py3-none-any.whl

Total release size: 19.9 kB

Release files / roa_collector-2.0.9.tar.gz

Download URL roa_collector-2.0.9.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
541cdcf234c874944c4f2b75dc09b6cf0b084351388dce92140dd5a02092d870
BLAKE2b-256 checksum
How to use checksums
d63a75e233da403a43cef695d9590a4dbc63be1e2368ba438b65eb45f06cbd4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / roa_collector-2.0.9-py3-none-any.whl

Download URL roa_collector-2.0.9-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b6dfb5bfbe9861e9414780e1190aa836c6d8c1ea7c8a7f818f41418ed938503
BLAKE2b-256 checksum
How to use checksums
773ddddf8b9dfb46162232c61ab02e33840dad84bf7fe2358bd33b018f2cc284
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for roa-collector 2.0.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page