No project description provided
Project description
np-aind-metadata
Usage
conda create -n np_aind_metadata python>=3.10
conda activate np_aind_metadata
pip install np_aind_metadata
On-prem usage
If on Allen Institute premises, additional features are available via np-config
. To use on-prem features install np-config
.
pip install np-config
Python
On-prem
Copies the latest rig.json
from storage to a local path.
>>> from datetime import datetime
>>> from pathlib import Path
>>> import datetime
>>> from np_aind_metadata import rigs
>>> rigs.copy_rig("NP3", datetime(2024, 4, 1), output_path=Path("rig.json"))
PosixPath('rig.json')
Off-prem
Updates a rig json and store it at output path.
>>> from pathlib import Path
>>> from np_aind_metadata.update import update_rig
>>> update_rig(
... Path(".", "examples", "rig.json"),
... open_ephys_settings_sources=[
... Path(
... ".",
... "examples",
... "example-session-directory",
... "settings.xml"
... ),
... ],
... output_path=Path("rig.json"),
... )
PosixPath('rig.json')
Convenience functions
Direct support for common use cases.
np-codeocean
Parses a dynamic routing session directory for a session.json
, adds it's corresponding rig.json
, and updates session.json
to reflect the rig.json
it is associated with. If not onprem, rig_storage_dir
will need to be supplied.
>>> from pathlib import Path
>>> from np_aind_metadata.integrations import dynamic_routing_task
>>> session_dir = Path("examples") / "example-session-directory"
>>> dynamic_routing_task.add_rig_to_session_dir(session_dir, datetime.datetime(2024, 4, 1))
Model storage
Models are stored locally on disk. To initialize model storage.
Initialize storage for all supported rigs.
np-aind-metadata init-rig-storage "/directory/to/store/rigs"
Initialize storage for a specific rig.
np-aind-metadata init-rig-storage "/directory/to/store/rigs" "NP3" --date 2022/02/07
Update a stored rig.
np-aind-metadata update-rig "/directory/to/store/rigs" "NP3" --date 2022/02/07
Local development
Testing
Testing intended for cloned project from source control.
Unit tests
pdm run pytest
Storage tests
pdm run pytest-storage
On-prem tests
Requires user to likely be on prem with np group dependencies installed.
Install np group dependencies
pdm install -G np
Run tests
pdm run pytest-onprem
All tests
Requires dependencies from onprem.
pdm run pytest-full
Development
See instructions in https://github.com/AllenInstitute/np-aind-metadata/CONTRIBUTING.md and the original template: https://github.com/AllenInstitute/copier-pdm-npc/blob/main/README.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for np_aind_metadata-0.1.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b13f0d380d994002d54ba602066de25895cd392d4d6c0ce139e96247e1b022e |
|
MD5 | 0d7c991669c890272c8bc04e98bff32d |
|
BLAKE2b-256 | f26e9ca5630ec4bf362ddda4ce7bd3514ec7cef2a762ce29cd52167b2a656d4c |