Skip to main content

Subject terms tooling for InvenioRDM

Project description

galter-subjects-utils

Subjects tooling for InvenioRDM.

This distribution package provides an invenio subcommand group to manage controlled vocabulary subjects.

In particular, it provides functionality to

  • generate and update the initial list of subject terms for a vocabulary distribution package.
  • update a running instance's subjects by analyzing the delta between the instance and the updated target list of terms.

Although it contributes MeSH and LCSH terms functionality (those may be extracted out in the future), the goal is for this package to provide a framing for any subjects operations/CLI tooling. See https://github.com/galterlibrary/invenio-subjects-mesh for an example of how it fits in the ecosystem.

Installation

pip install galter-subjects-utils

Versions

This repository follows semantic versioning indexed on invenio-app-rdm compatibility according to the table below:

galter-subjects-utils invenio-app-rdm version
0.7.X 13.X
0.5.X, 0.6.x 12.X

This just means for example that version 0.7 guarantees generation of subjects files and subject manipulation compatible with invenio-app-rdm v13. When there is a break in subjects format, this tool will bump its major version.

Usage

In virtualenv ((venv) denotes that going forward):

(venv) invenio galter-subjects --help

Development

Install the project in editable mode with dev dependencies in an isolated virtualenv:

(venv) pip install -e .[dev]

Run tests:

(venv) invoke test
# or shorter
(venv) inv test

Check manifest:

(venv) inv check-manifest

To check compatibility with the pre-release version of InvenioRDM (invenio-app-rdm):

# Step 1 - install the pre-release dependencies
(venv) pip install --pre -e .[dev_pre]
# Step 2 - Run the pre-release tests
(venv) inv test
# if using uv run:
uv run --extra dev_pre --prerelease=allow inv test

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

galter_subjects_utils-0.9.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

galter_subjects_utils-0.9.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file galter_subjects_utils-0.9.0.tar.gz.

File metadata

  • Download URL: galter_subjects_utils-0.9.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for galter_subjects_utils-0.9.0.tar.gz
Algorithm Hash digest
SHA256 5703a763f756e59a1f06dd22b3e504a35aee70870f9f37ffe074c408ba01fd33
MD5 752dafc57689dad437c8d36cd7780eda
BLAKE2b-256 db3e7012c26b4cf9c4d088ea863137083bf191ae3fdf41d464ffd2e8a810c5a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for galter_subjects_utils-0.9.0.tar.gz:

Publisher: publish-to-pypi.yml on galterlibrary/galter-subjects-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file galter_subjects_utils-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for galter_subjects_utils-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cb14ce65d46486f9cb391079d7f9895999f61823184195ff29c20a17ad92444
MD5 11280216716b181712e2529e1933bddc
BLAKE2b-256 12494b1cf91c5f8b49ff15c881e6c67c3de095136fb42c2ea6b390858ffc90d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for galter_subjects_utils-0.9.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on galterlibrary/galter-subjects-utils

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page