Skip to content

[NEW PROJECT]: Standardize SpikeInterface API #6

@alejoe91

Description

@alejoe91

Project title:

Key Investigators

Project Description

Ported from issue SpikeInterface/spikeinterface#2303

Following a conversion in SpikeInterface/spikeinterface#2299, a number of instances where the API is inconsistent were highlighted. This issue is opened as a place to discuss and begin fixing these:

  • ZeroChannelPaddedRecording saves it's parent recording to a parent_recording kwarg not a recording kwarg that seems to be used elsewhere.
  • ZeroSilencePeriods stores the parent recording as a dict not a recording.
  • CurationSorting uses a parent_sorting rather than sorting
  • folder vs. output_folder argument.

More genreally, I think SI is becomming a very mature and widely used package and freezing the API / defaults as much as possible between versions would really enhance user experience / avoid bugs. I wonder if at some stage a full review of the API could be performed (this would entail multiple people going through every SI function / class and making notes on function names and default arguments inconsistencies or room for improvement). Then these could be discussed, frozen, and only changed in future with a very good reason.

Background

SpikeInterface is now over 6 years old. Parts of the API have been ported and changed without a unified vision in mind.
As we're approaching v1.0, it is time to look at the API as a whole and unify the naming and conventions throughout the entire codebase.

Objectives

Unify arguments, variable naming, and documentation about the API

Approach and Plan

  • Identify API mismatches
  • Discuss unified naming

Progress

  • Make PR to SpikeInterface

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions