Skip to main content

Access the IETF Data Tracker and RFC Index

Project description

ietfdata - Access the IETF Datatracker and related resources

This project contains Python 3 libraries to interact with, and access, the IETF datatracker, RFC index, and related resources.

Getting started

The project uses Pipenv for dependency management. To begin, run:

pipenv install --dev -e .

to create a Python virtual environment with appropriate packages install. Then, run:

pipenv shell

to start the virtual environment, within which you can run the scripts.

Once the virtual environment is started, running:

python3 tests/test_datatracker.py 

will run the test suite for the datatracker module. Running:

python3 tests/test_rfcindex.py

Will test the rfcindex module.

Caching

The ietfdata library can use a MongoDB instance as a cache. Using a cache reduces the number of requests that are made directly to the Datatracker, improving performance, and reducing the impact on the IETF's infrastructure. While using a cache is optional when accessing the Datatracker, it is required when accessing the mail archive.

The hostname, port, username, and password for the MongoDB instance that is to be used as the cache can be set when instantiated the DataTracker or MailArchive objects. Alternatively, the following environment variables can be set:

  • IETFDATA_CACHE_HOST (defaults to localhost when accessing the mail archive)
  • IETFDATA_CACHE_PORT (defaults to 27017)
  • IETFDATA_CACHE_USER (optional)
  • IETFDATA_CACHE_PORT (optional)

Release Process

  • Edit CHANGELOG.md and ensure up-to-date
  • Edit setup.py to ensure the correct version number is present
  • Edit ietfdata/datatracker.py to fix version number in DataTracker::ua
  • Run make test to run the test suite. If any tests fail, fix then restart the release process
  • Commit changes and push to GitHub
  • Check that the GitHub Continuous Integration run succeeds, and fix any problems (this runs with a fresh cache, so can sometimes catch problems that aren't found by local tests).
  • Run python3 setup.py sdist bdist_wheel to prepare the package
  • Run python3 -m twine upload dist/* to upload the package
  • Commit the packages files in dist/* push to GitHub
  • Tag the release in GitHub

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

ietfdata-0.5.7.tar.gz (55.7 kB view details)

Uploaded Source

Built Distribution

ietfdata-0.5.7-py3-none-any.whl (80.9 kB view details)

Uploaded Python 3

File details

Details for the file ietfdata-0.5.7.tar.gz.

File metadata

  • Download URL: ietfdata-0.5.7.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.3

File hashes

Hashes for ietfdata-0.5.7.tar.gz
Algorithm Hash digest
SHA256 8424d156a87ac67ff46e26c631a6d68b9c7409370bc57d6e7b0c691e8888e999
MD5 3d9076fa33ae5d152aa4b073fcaa48e8
BLAKE2b-256 0de7f0f6ab0135e024a35903ab747d7492a393d00a1d977767b759ed7d48cc6a

See more details on using hashes here.

File details

Details for the file ietfdata-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: ietfdata-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 80.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.3

File hashes

Hashes for ietfdata-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a9eb68b7234580750e11d87adf648b20634e22841f7a9d9c972e1050fd8c022a
MD5 45cbbba2529378cf801f20d2c3be11db
BLAKE2b-256 2fb70bcdf430f111062658b1bbbfdd644d30c93ca0d7ec8b7e6f52938620d4b0

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