Skip to main content

Config fetching from file or Zookeeper - with local backup - repackaging code from AIBS mpeconfig.

Project description

np_config

For use on internal Allen Institute network

Usage

Fetch configs from ZooKeeper nodes or .yaml/.json files:

import np_config

zk_config: dict[str, str | int] = np_config.from_zk('/rigs/NP.1')

file_config: dict[str, Any] = np_config.from_file('local_config.yaml')

If running on a machine attached to a Mindscope Neuropixels rig (NP.0, ..., NP.3), get rig-specific config info with:

rig = np_config.Rig()

name: str = rig.id                            # "NP.1"
index: int = rig.idx                          # 1

acquisition_pc_hostname: str = rig.acq        # "W10DT713843"
config: dict[str, str | int] = rig.config     # specific to NP.1
paths: dict[str, pathlib.Path] = rig.paths    # using values from rig.config

If not running on a rig-attached machine, get the config for a particular rig by supplying rig-index as an int to Rig:

np1 = np_config.Rig(1)

np1_mvr_data_root: pathlib.Path = np.paths['MVR']

Development

Initialize for local development

poetry install --with dev

Run the tests

poetry run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

np_config-0.4.27.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

np_config-0.4.27-py3-none-any.whl (11.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page