The suggestion in the docs to subclass RepositoryData if you want to implement your own pipeline loading and caching logic doesn't really work - the constructor of RepositoryData makes a bunch of assumptions about caching. Instead, add a base class (essentially an interface, open to naming suggestions) with a bare-bones implemention of get_all_pipelines, and update the example to use it.
New test that verifies that you can use this RepositoryData to implement a repo that changes its definitions every time it is called
I don't think anything was using this (other than for the validation check which I kept)
ill give some time for @max to take a peak
maybe rename the existing one to CachingRepositoryData and keep RepositoryData as the base class
also we should add a top level export if there isnt one already and double check how this renders in the API docs
i like alex's renaming suggestion
can we be sure to expose this in the docs