OpenAssetIO / OpenAssetIO-Manager-BAL

A contrived "asset management system" for OpenAssetIO integration test cases.
Apache License 2.0
5 stars 4 forks source link
openassetio openassetio-manager

The Basic Asset Library (BAL) example manager

The BasicAssetLibrary provides a basic "librarian" asset management system.

It serves to provide a minimum level of functionality to allow simple, repeatable demonstrations and end-to-end tests to be realized with as little supporting infrastructure as possible.

It is not intended to be any kind of comprehensive example of the breadth of functionality exposed though the OpenAssetIO API. See the SampleAssetManager for a more concrete example of canonical manager behavior.

Note: This code is a sketch to facilitate testing and sample workflows. It should never be considered in any way a "good example of how to write an asset management system". Consequently, it omits a plethora of "good engineering practice".

Features

Installation

To use the plugin in an OpenAssetIO host, install via pip, or set (or append) the OPENASSETIO_PLUGIN_PATH env var to include the plugin directory in a checkout of the source repository.

The plugin provides a manager with the identifier org.openassetio.examples.manager.bal.

python -m pip install openassetio-manager-bal

Library file format

A JSON Schema is provided here that validates a BAL library file.

Testing

The test fixtures take care of providing a suitable host environment and configuring the OpenAssetIO plugin search paths for you. Assuming your working directory is set to a checkout of the source repository:

python -m venv .venv
. .venv/bin/activate
python -m pip install -r tests/requirements.txt
python -m pip install .
python -m pytest ./tests