Skip to main content

A contrived "asset management system" for OpenAssetIO integration test cases.

Project description

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

  • Resolves references with the bal:/// prefix to data from a pre-configured library of assets stored in a .json file.

  • The library file to be used is controlled by the library_path setting, and this should point to a library file with valid content.

  • If no library_path has been specified, the BAL_LIBRARY_PATH env var will be checked to see if it points to a valid library file.

  • Persists newly registered data in-memory (the original library JSON is not updated).

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.

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 .
python -m pip install -r tests/requirements.txt
python -m pytest ./tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file openassetio_manager_bal-1.0.0a3-py3-none-any.whl.

File metadata

File hashes

Hashes for openassetio_manager_bal-1.0.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 1a52d2ecc21283a1a64f919b780bad3e8abcb17a537ba831f80d7e1cdf7a1500
MD5 13b7fac7d674cf4004ef18d701af4470
BLAKE2b-256 99e75719b0337c38a95df5b66d9eaaa8d8e5397f9e888dc6c4ea0be3351e1b94

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page