inspire-schemas
INSPIRE JSON schemas and related tools.
Installation
Requires Python 3.11 or newer. Install from PyPI:
pip install inspire-schemas
Docker
Install Docker, then build the image from the repository root:
docker build -t inspire-schemas .
Start a shell inside the container, then run the tests:
docker run -it inspire-schemas
pytest tests/
The image build already installs dependencies and generates the schema JSON files, so the container is ready to test as soon as it starts.
Contributing
Bug fixes, features, and documentation improvements are welcome. Use the issue tracker to report bugs or suggest features. For bugs, include your operating system, relevant setup details, and steps to reproduce. For features, explain the proposed behavior and keep the scope focused.
Development setup
Fork inspire-schemas, then clone your fork. Install Python 3.11 or newer and Poetry, and run:
git clone git@github.com:your_name_here/inspire-schemas.git
cd inspire-schemas
poetry install --with test,docs
poetry run python -m scripts.generate_schemas
git checkout -b name-of-your-bugfix-or-feature
The generate_schemas script resolves the .yml schema sources under
inspire_schemas/records into the .json files the library loads at
runtime; it must be re-run after pulling changes to any schema.
Run the test suite:
poetry run pytest
The test run reports coverage, including missing lines. Code style is checked separately by pre-commit in CI.
Pull requests
- Include tests and avoid decreasing test coverage.
- Update documentation and add docstrings for new functionality.
- Ensure GitHub Actions passes on all supported Python versions, starting with Python 3.11.
Commit with a sign-off and a descriptive message, push your branch, and open a pull request on GitHub:
git add .
git commit -s -m "component: describe your change"
git push origin name-of-your-bugfix-or-feature
When applicable, include Sem-Ver: new feature or Sem-Ver: breaks api in
the commit message body.
Metadata
Release files for inspire-schemas 61.6.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| inspire_schemas-61.6.37.tar.gz | 178.0 kB | Without provenance | Details for inspire_schemas-61.6.37.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| inspire_schemas-61.6.37-py3-none-any.whl | Python 3 | none | any | Details for inspire_schemas-61.6.37-py3-none-any.whl |
Total release size: 427.3 kB
Release files / inspire_schemas-61.6.37.tar.gz
| Download URL | inspire_schemas-61.6.37.tar.gz |
|---|---|
| Size | 178.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1beff12753b46e99e0a6e15f166a4b8c51d9bd815b03b9c89213691ea5d2c523
|
|
BLAKE2b-256 checksum How to use checksums |
98bacced9e950cb886c915a3267c037e859141c553a89f527dec421202a22459
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / inspire_schemas-61.6.37-py3-none-any.whl
| Download URL | inspire_schemas-61.6.37-py3-none-any.whl |
|---|---|
| Size | 249.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65addec187f7d18d9f448a8e30d4e512666bcb757a748c179240d6a700d1339c
|
|
BLAKE2b-256 checksum How to use checksums |
72e224a586fe1c01d3f125192289430b1c296d094e8056a3f3295476513be777
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for inspire-schemas 61.6.37
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.