wfdb-python icon indicating copy to clipboard operation
wfdb-python copied to clipboard

Use a single `path` argument (and deprecate `pn_dir` and `file_name`)

Open tompollard opened this issue 9 months ago • 3 comments

Currently the WFDB API uses 2 arguments to specify the location of files: pn_dir and file_name. This is confusing for users and confusing for developers (e.g. see: https://github.com/MIT-LCP/wfdb-python/pull/523/files).

I think the reason for having two arguments is to support auto-detection of files (e.g. get locally if local and if not get from the PhysioNet servers). This kind of behaviour doesn't seem like a good idea. If WFDB is retrieving a remote file, it should be explicit.

My preference would be to:

  • Introduce a new path argument
  • Deprecate pn_dir and file_name
  • Remove any logic that automatically retrieves files from remote servers.

tompollard avatar Apr 02 '25 14:04 tompollard

For most APIs, I think, the first argument is called record_name. Not file_name, because it isn't a file name.

get locally if local and if not get from the PhysioNet servers

Where do you see that happening? I don't think that's right or at least not intended.

bemoody avatar Apr 03 '25 14:04 bemoody

Where do you see that happening? I don't think that's right or at least not intended.

This is based on my recollection of discussing the project with Chen when the project started. I may well be wrong! I'll spend a bit more time thinking about this (but the original point still stands...I think we should clean up the API).

tompollard avatar Apr 03 '25 14:04 tompollard

This issue looks related, so just making a note here: https://github.com/MIT-LCP/wfdb-python/issues/367

tompollard avatar Apr 28 '25 17:04 tompollard