This repository provides documents, tools and PoC for the management of semantic assets in the context of the National Data Catalog for Semantic Interoperability.
This project is related to:
- 📝 Contributing
- ⚖️ License
The repository currently contains:
- a Python CLI for generating and validating vocabulary artifacts;
- an ASGI API for serving vocabulary catalogs, entries, and per-vocabulary OpenAPI specs;
- architecture and functional documentation in docs.
The core functional documentation is in Italian:
The core documentation for this project is in :flag-it: Italian. You can find it in the docs folder.
The project requires Python 3.12 or newer.
Build CLI:
tox -e build
dist/schema_gov_it_tools.bin --helpRun the root test suite:
tox --Run the API test suite:
tox -e apiRun the containerized test environment:
docker compose up testThe API implementation lives in apiv1.
It runs as an ASGI application on uvicorn.
Start the local API container:
docker compose up api-data --buildStart the local TLS reverse proxy used in tests:
docker compose up api-data-tlsThen open https://localhost/ui/.
Please, see CONTRIBUTING.md for more details on:
- using pre-commit;
- following the git flow and making good pull requests.
Repository layout is the following:
docs/ Project documentation and ADRs
assets/ Shared controlled vocabulary assets
tools/ CLI implementation
tests/ CLI and library tests
apiv1/ API implementation and API tests
scripts/ Helper scripts
See CONTRIBUTING.md for:
- pre-commit setup;
- branch and pull request workflow;
- CI expectations.
You can also test GitHub Actions locally with
act:
# Run a specific job in the pipeline
act -j test