Onyo is a text-based inventory system built on top of git. It uses the filesystem as the index and git to track history. This allows much of Onyo's functionality to be just a thin wrapper around git commands.
See the documentation for installation instructions and general information about Onyo.
For general feedback, bug reports, and comments, please open an issue.
In addition to Python >= 3.7, Onyo depends on a few system utilities.
Debian/Ubuntu:
apt-get install git tig tree
macOS:
brew install git tig tree
python -m venv ~/.venvs/onyo
source ~/.venvs/onyo/bin/activate
git clone https://github.com/psyinfra/onyo.git
cd onyo
pip install -e ".[tests, docs]"
Tests are run from the top-level of the repository.
pytest -vv
Generating code coverage reports requires some small gymnastics due to Onyo's tests running in different working directories.
REPO_ROOT=$PWD COVERAGE_PROCESS_START=${REPO_ROOT}/.coveragerc pytest -vv --cov
Build the docs.
make -C docs clean html