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

[Feature]: Update deprecations for pynwb 3.0 #2008

Open
3 of 20 tasks
stephprince opened this issue Nov 27, 2024 · 3 comments · Fixed by #2011
Open
3 of 20 tasks

[Feature]: Update deprecations for pynwb 3.0 #2008

stephprince opened this issue Nov 27, 2024 · 3 comments · Fixed by #2011
Assignees
Labels
category: enhancement improvements of code or code behavior priority: high impacts proper operation or use of feature important to most users
Milestone

Comments

@stephprince
Copy link
Contributor

stephprince commented Nov 27, 2024

What would you like to see added to PyNWB?

For the pynwb 3.0 major release, we plan to raise errors instead of warnings when creating new objects using deprecated classes or using deprecated methods. Deprecated types will still be able to be read.

What solution would you like?

This issue compiles a list of the classes and methods to update:

  • ProcessingModule.add_container will be replaced by ProcessingModule.add
  • ProcessingModule.get_container will be replaced by ProcessingModule.get
  • ProcessingModule.add_data_interface will be replaced by ProcessingModule.add
  • ProcessingModule.get_data_interface will be replaced by ProcessingModule.get
  • ScratchData.notes will be replaced by ScratchData.description
  • Clustering will raise an error when creating a new object.
  • ClusterWaveforms will raise an error when creating a new object.
  • /intracellular_ephys/filtering will raise an error when creating a new object.
  • NWBFile arg ic_electrodes will be replaced by arg icephys_electrodes
  • NWBFile.add_ic_electrode, NWBFile.create_ic_electrode, and NWBFile.get_ic_electrode will be removed
  • NWBFile.add_epoch_metadata_column will be removed
  • SweepTable will raise an error when creating a new object and functions that interacted with the SweepTable will be modified
  • ImageSeries.bits_per_pixel will be removed
  • ImageSeries.format changed to external, default value for format should raise Value error
  • ImagingPlane.manifold will raise an error when creating a new object
  • IndexSeries.unit is fixed
  • Indexed_timeseries replaced by indexed_images

Do you have any interest in helping implement the feature?

Yes.

Code of Conduct

@stephprince stephprince self-assigned this Nov 27, 2024
@stephprince stephprince added category: enhancement improvements of code or code behavior priority: high impacts proper operation or use of feature important to most users labels Nov 27, 2024
@stephprince stephprince added this to the 3.0 milestone Nov 27, 2024
@t-b
Copy link
Collaborator

t-b commented Nov 27, 2024

Is there consensus already what the behaviour of pynwb 3.0 will be regarding reading of pynwb 2.x files? Or to rephrase will pynwb 3.x support reading files from pynwb 2.x (or compliant)?

@stephprince stephprince changed the title [Feature]: Remove deprecated classes and finish pending deprecations for pynwb 3.0 [Feature]: Update deprecations for pynwb 3.0 Nov 27, 2024
@stephprince
Copy link
Contributor Author

@t-b I realized the phrasing of the issue was inaccurate and have updated it. To clarify, we plan to guarantee that we can read all NWB 2.0 files with pynwb 3.x but will not allow the creation of new NWB data with deprecated types.

@t-b
Copy link
Collaborator

t-b commented Nov 28, 2024

@stephprince Thanks Steph. I appreciate the rewording. And of course the fact that 2.x files can still be read.

A related topic is that I would appreciate a alpha/beta/rc release before the final one, for testing.

@stephprince stephprince mentioned this issue Dec 18, 2024
29 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: enhancement improvements of code or code behavior priority: high impacts proper operation or use of feature important to most users
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants