ietf-data - Access the IETF DataTracker and related resources ============================================================= This is a snapshot (commit `9b4c5f89350c6206a7c90a06602842756c01b7b4`) of an ongoing project hosted at https://github.com/glasgow-ipl/ietfdata, where future updates will also be found. Issues and pull requests opened on the GitHub project will be considered. This snapshot contains version 0.5.2 of the ietfdata library, which provides Python 3 libraries to interact with, and access, the [IETF Datatracker](https://datatracker.ietf.org), (RFC index)[https://www.rfc-editor.org], and related resources. This version can also be found in the [Python Package Index](https://pypi.org/project/ietfdata/). The ietfdata library requires Python 3.8, and can be used by following the `Getting Started` instructions below. Optionally, a MongoDB database can be used as a cache. This significantly reduces the number of requests made to the IETF and RFC Editor API endpoints and repositories, and is generally more performant. This database can be on the same machine as the tooling. If this is the case, and the server has no access restrictions, then no further setup is required. If the MongoDB server is on a different machine, or requires authentication, then environment variables can be set to enable access. These are: * IETFDATA_CACHE_HOST (defaults to `localhost`) * IETFDATA_CACHE_PORT (defaults to `27017`) * IETFDATA_CACHE_USER (optional) * IETFDATA_CACHE_PASSWORD (optional) When accessing the IETF mail archive (via mailarchive.py), a MongoDB instance is required. 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 installed. 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.