Skip to content
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

[Docs] Add Jupyter Notebook illustrating entityTraits #69

Merged
merged 2 commits into from
May 10, 2024

Conversation

feltech
Copy link
Member

@feltech feltech commented Nov 17, 2023

Add a notebook illustrating the usage of entityTraits, as specified in OpenAssetIO/OpenAssetIO#31.

Add another notebook illustrating advanced usage of entityTraits in a generic resolve-and-republish workflow.

The idea in the first instance is to provoke discussion and provide a reference as the feature is further refined.

An ideal outcome is that this document continues to be iterated as the feature(s) is developed, incorporating changes in design as well as new corner cases that need defining.

Eventually this should lead to an executable specification of the feature, which also serves as example documentation.

Dependencies

The notebook has dependencies on work in other repos, in particular

@feltech feltech force-pushed the work/entityTraitsNotebook branch 2 times, most recently from 7d906b2 to 9f1619e Compare November 17, 2023 18:28
Copy link
Contributor

@foundrytom foundrytom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fantastic doc 👍 great way to flesh out and stabilize the design before implementation. A few random comments fwiw.

examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
examples/querying_entity_traits.ipynb Outdated Show resolved Hide resolved
@foundrytom
Copy link
Contributor

Btw - a nice thing here is by the time the work is done and this is passing we should have some usefull specifcations from #22

@feltech feltech force-pushed the work/entityTraitsNotebook branch from 37246ed to 9a9acd0 Compare November 28, 2023 17:05
feltech added a commit to feltech/OpenAssetIO-Manager-BAL that referenced this pull request Feb 23, 2024
Discovered whilst updating OpenAssetIO/OpenAssetIO-MediaCreation#69
after OpenAssetIO/OpenAssetIO#1217. The API docs for `resolve` say

> Only traits that are applicable to each entity, and for which the
  manager has data, will be imbued in the result.

However, if an entity in the JSON library has a trait as part of its
trait set, but that trait has no properties (either because that trait
has no associated properties, or because it's not set in the JSON), then
it was imbued in the `TraitsData` regardless.

Signed-off-by: David Feltell <david.feltell@foundry.com>
@feltech feltech force-pushed the work/entityTraitsNotebook branch from f67eac0 to cf630c3 Compare February 23, 2024 16:17
@feltech
Copy link
Member Author

feltech commented Mar 7, 2024

Update on this rather long-running notebook(s).

It's updated to use the changes in OpenAssetIO/OpenAssetIO-Manager-BAL#90 and is working nicely.

CI still targets PyPI releases for dependencies however, so either we need to retarget it, or wait til the next release, before this PR can be merged.

@feltech feltech force-pushed the work/entityTraitsNotebook branch from 6df8e78 to e94f7c9 Compare March 13, 2024 08:29
@feltech feltech force-pushed the work/entityTraitsNotebook branch from e94f7c9 to 66703d4 Compare April 10, 2024 10:47
@feltech feltech marked this pull request as ready for review April 16, 2024 14:06
@feltech feltech requested a review from a team as a code owner April 16, 2024 14:06
@feltech feltech force-pushed the work/entityTraitsNotebook branch from 66703d4 to 5788493 Compare April 16, 2024 14:08
@feltech feltech added the documentation Improvements or additions to documentation label Apr 16, 2024
examples/generic_republish.ipynb Outdated Show resolved Hide resolved
examples/generic_republish.ipynb Outdated Show resolved Hide resolved
examples/generic_republish.ipynb Outdated Show resolved Hide resolved
examples/generic_republish.ipynb Outdated Show resolved Hide resolved
@feltech feltech force-pushed the work/entityTraitsNotebook branch from 5788493 to 7422704 Compare May 7, 2024 13:37
@feltech feltech requested a review from elliotcmorris May 7, 2024 13:40
feltech added 2 commits May 10, 2024 09:49
Part of OpenAssetIO/OpenAssetIO#31. This notebook was originally used to
sketch out the design of the `entityTraits` API method, elicit
discussion, and come to a shared understanding of the feature as a team.

Being an executable document, the notebook now functions as tested
documentation and an e2e test suite for the feature, utilising the
OpenAssetIO ecosystem beyond the core `entityTraits` API method
(i.e. convenience signatures, BAL, `managementPolicy`).

Signed-off-by: David Feltell <david.feltell@foundry.com>
Part of OpenAssetIO/OpenAssetIO#31. This notebook came as an appendix
to illustrating usage of `entityTraits` in the original design notebook
for that API method (see previous commit).

However, during review it became apparent that a generic resolve and
republish workflow is a distinct use-case, and not specific to
`entityTraits`. So it was moved to its own notebook.

Signed-off-by: David Feltell <david.feltell@foundry.com>
@feltech feltech force-pushed the work/entityTraitsNotebook branch from 7422704 to 0530d4b Compare May 10, 2024 08:50
@feltech feltech merged commit f20a2c4 into main May 10, 2024
27 checks passed
@feltech feltech deleted the work/entityTraitsNotebook branch May 10, 2024 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants