Plow - Ontology package manager
Plow is package management solution for OWL ontologies, with support for specifying dependencies between packages via SemVer ranges.
Getting started - Installation
GUI
To install, run:
cargo install plow_gui
Prebuilt binaries are coming soon!
CLI
To install, run:
cargo install plow_cli
Prebuilt binaries are coming soon!
Repository contents
plow_cli
- CLIplow_gui
- GUIplow_linter
- Linter library (included in CLI/GUI)plow_package_management
- Core logic of the package managementplow_ontology
- Representation of an ontology package and related helpersplow_graphify
- Bridge to parse ontologies based on harrietplow_backend_reference
- Reference implementation of the registry service
registry.field33.com
Reference implementation andWe provide a reference implementation of the registry service under plow_backend_reference
. The implementation documents and showcases all the REST API endpoints required for package management, but some of the functionality is only implemented in a limited fashio. E.g. it does not persist any data between process restarts, and doesn't include any authentication/authorization, making it unfit for production usage.
For production usage, we provide a hosted registry with a web UI at registry.field33.com. As the underlying codebase is strongly connected to other parts of our products, it is currently not viable for us to maintain the registry publicly, but that may change in the future.
Citing
If you use Plow in the context of a published academic piece of work, please consider citing:
TODO: Add citation upon publication
Contributing
We are happy about any contributions!
To get started you can take a look at our Github issues.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as below, without any additional terms or conditions.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)