You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #814, bids.reports is being moved out of pybids and into a separate pybids-reports package. Ideally it would still be importable through bids.reports, but the problem is that third-party "namespace packages" are only well defined in an empty module.
In particular, if either pybids or pybids-reports is installed in editable mode (pip install -e), then import resolution of modules in bids.* is ill-defined and needs some hacks to make work that then interfere with our default imports like bids.BIDSLayout.
If we create bids.ext as a defined location for namespace packages, then we can configure both pybids and any extensions to properly handle any installation setup (i.e., any configuration of editable and full installations). This is at the cost of making these extensions a little less integrated, but maybe that's a good thing. And we could consider having a registry of extensions such that, if bids.ext.reports exists, then it is imported into bids as bids.reports.
The text was updated successfully, but these errors were encountered:
I like this idea. I would also like to propose moving analysis to an extension package. I don't think this on its own will reduce pybids all that much, but if we also work on streamlining BIDSLayout (e.g., via proposals in bids-standard/pybids-light#1), then it could be a useful step.
I'm okay with moving analysis out, but I suspect it will be hard to graft onto an alternative BIDSLayout object, so we'll probably have multiple layout APIs around, including a legacy one that maybe only FitLins uses. Just a guess, though.
In #814,
bids.reports
is being moved out of pybids and into a separate pybids-reports package. Ideally it would still be importable throughbids.reports
, but the problem is that third-party "namespace packages" are only well defined in an empty module.In particular, if either
pybids
orpybids-reports
is installed in editable mode (pip install -e
), then import resolution of modules inbids.*
is ill-defined and needs some hacks to make work that then interfere with our default imports likebids.BIDSLayout
.If we create
bids.ext
as a defined location for namespace packages, then we can configure both pybids and any extensions to properly handle any installation setup (i.e., any configuration of editable and full installations). This is at the cost of making these extensions a little less integrated, but maybe that's a good thing. And we could consider having a registry of extensions such that, ifbids.ext.reports
exists, then it is imported intobids
asbids.reports
.The text was updated successfully, but these errors were encountered: