Metadata-Version: 2.4
Name: invenio-subjects-mesh-common
Version: 0.2.0
Summary: Common MeSH subject terms functionality
Author-email: Northwestern University <DL_FSM_GDS@e.northwestern.edu>
License-Expression: MIT
Project-URL: Repository, https://github.com/galter-dmt/invenio-subjects-mesh-common
Keywords: invenio,inveniordm,subjects,MeSH
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: galter-subjects-utils<2.0,>=0.7.0
Requires-Dist: requests>=2.32.5
Provides-Extra: dev
Requires-Dist: check-manifest>=0.49; extra == "dev"
Requires-Dist: invenio-search[opensearch2]<4.0.0,>=3.0.0; extra == "dev"
Requires-Dist: invoke<3.0,>=2.2; extra == "dev"
Requires-Dist: pyyaml>=5.4.1; extra == "dev"
Requires-Dist: pytest-invenio<4.0.0,>=3.3.0; extra == "dev"
Provides-Extra: dev-pre
Requires-Dist: check-manifest>=0.49; extra == "dev-pre"
Requires-Dist: invenio-search[opensearch2]<4.0.0,>=3.0.0; extra == "dev-pre"
Requires-Dist: invoke<3.0,>=2.2; extra == "dev-pre"
Requires-Dist: pyyaml>=5.4.1; extra == "dev-pre"
Requires-Dist: pytest-invenio<4.0.0,>=3.3.0; extra == "dev-pre"
Dynamic: license-file

# invenio-subjects-mesh-common

*Common features surrounding MeSH subject terms for InvenioRDM*

<a href="https://pypi.org/project/invenio-subjects-mesh-common/">
  <img src="https://img.shields.io/pypi/v/invenio-subjects-mesh-common.svg">
</a>

This groups common MeSH features and lets downstream distribution packages (e.g., invenio-subjects-mesh-lite)
provide vocabulary fixtures with targeted filtering. This distribution package is meant to be
a dependency to those downstream distribution packages.


## Installation

```bash
pip install invenio-subjects-mesh-common
```


## Development

Install the project in editable mode with `dev` dependencies in an isolated virtualenv. We recommend using `uv`:

```bash
uv pip install -e .[dev]
# or if using pipenv
pipenv run pip install -e .[dev]
```

Run tests:

```bash
uv run invoke test
# or shorter
uv run inv test
# or if using pipenv
pipenv run inv test
```

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

```bash
uv run --extra dev_pre --prerelease=allow inv test
```

Check manifest:

```bash
uv run inv check-manifest
# or if using pipenv
pipenv run inv check-manifest
```

Clean out artefacts:

```bash
uv run inv clean
# or if using pipenv
pipenv run inv clean
```
