single-cell-data / SOMA

A flexible and extensible API for annotated 2D matrix data stored in multiple underlying formats.
MIT License
70 stars 9 forks source link

Split apart experiment and measurement to break import cycle #94

Closed thetorpedodog closed 1 year ago

thetorpedodog commented 1 year ago

To eliminate a troublesome import cycle between query and composed, this breaks those two into separate parts. query now defines the subset of Experiment that it uses in the form of a Protocol, to avoid depending directly on experiment.py.

thetorpedodog commented 1 year ago

@johnkerl Please take another look; I added one more minor reorg here.

Neither of these changes affect the public API or the namespace available in somacore.