The NASA Thesaurus contains the authorized NASA subject terms used to index and retrieve materials in the STI Repository. The scope of this controlled vocabulary includes not only aerospace engineering, but all supporting areas of engineering and physics, the natural space sciences (astronomy, astrophysics, and planetary science), Earth sciences, and the biological sciences. The NASA Thesaurus contains over 18,400 subject terms, 4,300 definitions, and more than 4,500 USE cross references.
invenio-subjects-nasa for InvenioRDM is an extension that provides the NASA thesaurus subject terms used to index and retrieve materials in the STI Repository into your instance.
Please read: Invenio subjects documentation
Install the package in your InvenioRDM instance:
pip install invenio-subjects-nasaAdd the subjects to your instance:
invenio rdm-records fixturesThis will add the NASA subjects to your instance. After completion, you can access the subjects in the deposit page under Keywords and subjects.
- Python >=3.12
- uv (recommended) or pip
# Clone the repository
git clone https://github.com/Samk13/invenio-subjects-nasa.git
cd invenio-subjects-nasa
# Install dependencies with uv (recommended)
uv pip install -e ".[tests]"# Run all tests
make test
# Format code
make format
# Check code quality
make lintCheck for updates at the NASA Thesaurus.
To update the data:
- Download the new CSV file to
invenio_subjects_nasa/downloads/ - Update the filename in
invenio_subjects_nasa/config.py(NASA_THESAURUS_CSV_FILENAME) - Run the conversion:
make runReleases are automated via GitHub Actions. To create a new release:
# Update version in invenio_subjects_nasa/__init__.py
# Update CHANGES.md with release notes
git tag v2.1.0
git push origin v2.1.0The package will be automatically built and published to PyPI.