NeuralEnsemble / python-neo

Neo is a package for representing electrophysiology data in Python, together with support for reading a wide range of neurophysiology file formats
http://neo.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
307 stars 240 forks source link

Make IO constructor signature consistent #1455

Open apdavison opened 1 month ago

apdavison commented 1 month ago

Is your feature request related to a problem? Please describe. Some IOs expect a single file name, others expect a single directory name, others expect a file basename, which is expanded to multiple file names with different extensions, others allow specifying files to include, others files to exclude from the listing in the directory.

This inconsistency is confusing.

Describe the solution you'd like We should decide on a single policy for IO module constructors, and update IOs that don't conform (with a deprecation warning for the old keyword arguments for at least one 0.x release).

Additional context See #1440 for an example of where not having a policy is a problem.

h-mayorquin commented 1 month ago

@CodyCBakerPhD @bendichter we were discussing this today at neuroconv meeting. It might be useful to follow this discussion and standarize the way we handle this across the ecosystem.

zm711 commented 4 weeks ago

I just want to say based on my struggle helping in #1338 this is again a problem of needing the right naming. In this case we looked for the dirname which was actually the filename and not a directory. I'll put this on my list to focus on for 14.0