Closed dougollerenshaw closed 3 years ago
Hi @dougollerenshaw ,
Here is a summary of changes made in the refactor
allensdk.brain_observatory.behavior.internal
has been removed in favor of an organization that emphasizes "session" vs. "project" and "abstract base class" vs. "data featcher" related functionalityallensdk.internal.api.behavior_data_lims_api
and allensdk.internal.api.behavior_lims_api
have been mergedallensdk.brain_observatory.behavior.session_apis.data_transforms
) and 'data IO' components (allensdk.brain_observatory.behavior.session_apis.data_io
) to make code easier to follow and future maintenance easier to perform.Changed imports:
from allensdk.brain_observatory.behavior.internal import BehaviorBase, BehaviorOphysBase
--> from allensdk.brain_observatory.behavior.session_apis.abc import BehaviorBase, BehaviorOphysBase
from allensdk.brain_observatory.behavior.internal.behavior_project_base import BehaviorProjectBase
--> from allensdk.brain_observatory.behavior.project_apis.abcs.behavior_project_base import BehaviorProjectBase
from allensdk.brain_observatory.behavior.behavior_project_lims_api import BehaviorProjectLimsApi
--> from allensdk.brain_observatory.behavior.project_apis.data_io import BehaviorProjectLimsApi
from allensdk.brain_observatory.behavior.behavior_ophys_api.behavior_ophys_nwb_api import BehaviorOphysNwbApi
--> from allensdk.brain_observatory.behavior.session_apis.data_io import BehaviorOphysNwbApi
from allensdk.internal.api.behavior_ophys_api import BehaviorOphysLimsApi
--> allensdk.brain_observatory.behavior.session_apis.data_io import BehaviorOphysLimsApi
from allensdk.internal.api.ophys_lims_api import OphysLimsApi
--> from allensdk.brain_observatory.behavior.session_apis.data_io.ophys_lims_api import OphysLimsApi
from allensdk.internal.api.behavior_lims_api import BehaviorLimsApi
--> from allensdk.brain_observatory.behavior.session_apis.data_io import BehaviorLimsApi
I would be happy to go through these changes with you in a teams meeting if there are any other questions and/or comments.
Thanks @njmei! That's extremely helpful!
Is there a timeline for when 2.4.0 will become the default pip version? We may need to pin the SDK at <=2.3.2 to avoid trouble until we're sure we've accounted for all of these import changes.
@dougollerenshaw 2.4.0 will probably be merged into master and released on pypi in the next week or two.
I've left a comment in the associated issue (https://github.com/AllenInstitute/AllenSDK/issues/1745) so that the dev who takes that on will contact you.
Thanks @njmei!
fixed in #701
AllenSDK rc2.4.0 has what appears to be some fairly substantial refactoring that breaks VBA.
So far, I've noted:
@wbwakeman or @njmei : do you know if there is (or will be) documentation of these changes in the release notes? That'd make fixes here more tractable. Also, any suggestions on how to implement changes to adapt to the new import syntax and still allow backward compatibility for older versions of the AllenSDK?
For reference, here's a screenshot of allensdk/internal/api in rc/2.3.2:
And the same in rc/2.4.0:
@matchings, @alexpiet, @yavorska-iryna: This will require some attention relatively soon to allow VBA users to stay up to date on the AllenSDK