-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add hybrid plugin system notebook #99
Add hybrid plugin system notebook #99
Conversation
8fb3600
to
7949ef5
Compare
b2c830e
to
f3f929f
Compare
Unit tests and Jupyter notebooks use the latest release of OpenAssetIO (see `examples/resources/requirements.txt` and `pyproject.toml`). However, C++ tests, which currently must build OpenAssetIO from source, were using the latest `main`. So ensure we test against a consistent version of OpenAssetIO for both C++ and Python tests by pinning the checkout of OpenAssetIO to the latest release. Note that we cannot specify a semver range, so this will get out of date on the next release. Future CI work is required to design a more well-thought testing policy e.g. testing against supported version ranges vs. `main` and nightlies. Signed-off-by: David Feltell <[email protected]>
f3f929f
to
044c31f
Compare
7131c51
to
f17f72c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor questions, but if I'm reading the code correctly, the code in these notebooks get run in the CI, so they _have to be correct or the CI will fail?
examples/resources/hybrid_plugin_system/openassetio_config.toml
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome to see this ❤️ this is going to be mega.
Sorry a little short on time, so fairly high-level comments and written somewhat hurriedly so please forgive any brevity!
Mostly wondering if it might be worth keeping focused on the common use case vs technically how it works at a lower level. I know the API has quite a steep learning curve for people already, so being more practical-outcome based instead of covering the basic mechanism might help less experience OpenAssetIO-ers get up to speed?
Yeah exactly. Unfortunately, since we don't publish SimpleCppManager, this notebook only runs in CI on Linux (Docker). I added OpenAssetIO/OpenAssetIO#1408 as a consequence. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read the changes in the commits mentioned in the threads, and I'm fine with these. Can't speak on behalf of Tom, but I'll put my approval on this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the tweaks @feltech 🙏 - sorry I cant close that comment.
I struggle to find a setting in GitHub to allow users to resolve their own comments 😞 . Perhaps a 👍 is sufficient for now to signal you're happy for the comment to be resolved? |
Added thumbs up -thanks! |
1c5f72d
to
179e1f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had prior approved, but read through the changes GitHub tells me have been made since my last review, and LGTM
Part of OpenAssetIO/OpenAssetIO#1202. Add a Jupyter Notebook illustrating the design and usage of the hybrid plugin system. Bump the minimum versions of OpenAssetIO and BAL in `requirements.txt` to support the required features for the notebook to run. Use a custom hybrid plugin created especially for the notebook, rather than attempting to sellotape existing managers together (e.g. BAL and SimpleCppManager). This allows the notebook to avoid potentially confusing readers with misleading text about configuring two completely independent plugins to work together. For the custom plugin sources, use linter config lifted from the main OpenAssetIO repo, with little modification. Signed-off-by: David Feltell <[email protected]>
669f143
to
0f3d4bb
Compare
Add notebook for the design, documentation and e2e testing of the Hybrid Plugin System introduced in OpenAssetIO/OpenAssetIO#1202
Current rendered version
Notebook Driven Development 😉