Skip to content

A Python library for interacting with eLabFTW experiments

License

Notifications You must be signed in to change notification settings

ssciwr/mease-elabftw

Repository files navigation

mease-elabftw

pypi docs tests codecov sonar

A Python library for interacting with eLabFTW experiments:

  • Create NWB metadata from an eLabFTW experiment
  • Upload files (e.g. analysis result from HPC) to an eLabFTW experiment
  • List eLabFTW experiments from the command line

Setup

python -m pip install mease-elabftw

To authenticate requests to the eLabFTW server you also need to generate an API key in eLabFTW (User Panel -> API Keys -> GENERATE AN API KEY), and then set the environment variable ELABFTW_TOKEN to this key, e.g.

export ELABFTW_TOKEN=abc123abc123abc123

Use in Python

Get nwb metadata from an elabftw experiment to use in mease-lab-to-nwb:

>>> import mease_elabftw
>>> mease_elabftw.list_experiments("Liam")
['163: test fake experiment without json metadata (Liam Keegan, 2021-10-07)', '156: test fake experiment with json metadata (Liam Keegan, 2021-10-01)']
>>> metadata = mease_elabftw.get_nwb_metadata(156)
>>> metadata["NWBFile"]["session_description"]
test fake experiment with json metadata
>>> metadata["NWBFile"]["identifier"]
20211001-8b6f100d66f4312d539c52620f79d6a503c1e2d1

Use from terminal

List all experiments on elabftw belonging to user "Liam":

$ elabftw-list Liam
163: test fake experiment without json metadata (Liam Keegan, 2021-10-07)
156: test fake experiment with json metadata (Liam Keegan, 2021-10-01)