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.35
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inspire_schemas-61.6.35.tar.gz | 177.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inspire_schemas-61.6.35-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 427.2 kB
Release files / inspire_schemas-61.6.35.tar.gz
| Download URL | inspire_schemas-61.6.35.tar.gz |
|---|---|
| Size | 177.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b2159abac407395b90afde9addabe8062b706fb24a05cc8f5bff4c459db9194e
|
|
BLAKE2b-256 checksum How to use checksums |
084aa1a4d73e2907bbfe32defb15b1726553efe9b76e8f51862c0d6aabff795e
|
| 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.35-py3-none-any.whl
| Download URL | inspire_schemas-61.6.35-py3-none-any.whl |
|---|---|
| Size | 249.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01c63506044c782d7e0fddb32c42b1afd72697bd64d80a63be937dbe95aaef81
|
|
BLAKE2b-256 checksum How to use checksums |
d919a5a06b51d7a1d944b7d32ca09c049beeab0aaae9021e98eb5340e6ebe194
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|