Biodivine standard library defines some basic traits and utility methods which often arise when dealing with models from computational biology and when writing formal verification tools in general.
Because Rust currently does not have a Set
trait (and even if it had, its use case would probably differ from outs),
we introduce our own Set
trait. A struct that implements Set
is assumed to hold a collection of values, however
the collection itself does not have to be explicit. Items of a Set
can be even uncountable:
This is a template project for a general Rust based Biodivine library. It comes with a few useful features pre-enabled.
Provided features:
- Travis integration pre-configured with Codecov code coverage.
LICENSE
and.gitignore
files.- Run
cargo make rich-doc
andcargo make rich-doc-dev
to generate documentation with Mermaid and KaTeX enabled (dev
variant includes also internal functions). - Run
cargo make
to run standard test process and compile basic docs, but also run automatic formatting tool of source code (make sure you apply formatting every time before commit). - There is a
shields_up
feature flag that can be used to include extra safety checks (invariants, pre-/post-conditions) that should not be needed but may be useful for testing. For usage examples, see the Biodivine Rust developer guide. The flag is off by default, but is enabled during tests on Travis. We provide variants of basic commands with the
To fully initialize the template, perform the following steps:
- In
Cargo.toml
, specify package name, author, dependencies (if needed, use dev-dependencies for dependencies used only for tests). - Enable continuous builds on Travis and code coverage on Codecov. Remember to set Codecov token environment variable to enable coverage reports.
- Rewrite this readme (including shield urls) :)
- Add basic info and shilds to the root readme of the biodivine repo.