Metadata-Version: 2.1
Name: np-workflows
Version: 1.6.72
Summary: Ecephys and behavior workflows for the Mindscope Neuropixels team.
Author-Email: Ben Hardcastle <ben.hardcastle@alleninstitute.org>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Project-URL: Repository, https://github.com/AllenInstitute/np_workflows
Project-URL: Issues, https://github.com/AllenInstitute/np_workflows/issues
Requires-Python: ==3.11.*
Requires-Dist: np-services>=0.1.68
Requires-Dist: np-session>=0.6.40
Requires-Dist: np-config>=0.4.27
Requires-Dist: ipywidgets>=7
Requires-Dist: pydantic>=2
Requires-Dist: jupyterlab>=3.6
Requires-Dist: ipylab>=0.6.0
Requires-Dist: np-tools>=0.1.14
Requires-Dist: np-jobs>=0.0.3
Requires-Dist: universal-pathlib>=0.1.0
Requires-Dist: s3fs>=2023.6.0
Requires-Dist: npc-shields>=0.1.4
Requires-Dist: npc-sessions>=0.0.201
Requires-Dist: np-codeocean>=0.1.9
Requires-Dist: blue>=0.9.1; extra == "dev"
Requires-Dist: pytest>=7.2.2; extra == "dev"
Requires-Dist: mypy>=1.1.1; extra == "dev"
Requires-Dist: coverage[toml]>=7.2.2; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: bump>=1.3.2; extra == "dev"
Requires-Dist: types-backports>=0.1.3; extra == "dev"
Requires-Dist: ruff>=0.0.260; extra == "dev"
Provides-Extra: dev
Description-Content-Type: text/markdown

# np_workflows

This package contains all the Python code required to run Mindscope Neuropixels
experiments.

[![PyPI](https://img.shields.io/pypi/v/np-workflows.svg?label=PyPI&color=blue)](https://pypi.org/project/np-workflows/)
[![Python version](https://img.shields.io/pypi/pyversions/np-workflows)](https://pypi.org/project/np-workflows/)

<!-- [![Coverage](https://img.shields.io/codecov/c/github/alleninstitute/np_workflows?logo=codecov)](https://app.codecov.io/github/AllenInstitute/np_workflows) -->
[![CI/CD](https://img.shields.io/github/actions/workflow/status/alleninstitute/np_workflows/publish.yml?label=CI/CD&logo=github)](https://github.com/alleninstitute/np_workflows/actions/workflows/publish.yml)
[![GitHub issues](https://img.shields.io/github/issues/alleninstitute/np_workflows?logo=github)](https://github.com/alleninstitute/np_workflows/issues)

Experiment workflows and related tasks are coordinated by Jupyter notebooks maintained here:
https://github.com/AllenInstitute/np_notebooks

Running the notebooks requires a Python environment with:
- Python >= 3.11
- np_workflows
- Jupyter / JupyterLab

```
git clone https://github.com/AllenInstitute/np_notebooks
conda create -n workflows python=3.11
pip install np_workflows
pip install jupyterlab
```

Keep the `np_workflows` package up-to-date by running `pip install
np_workflows -U` before each use

To develop this package `git clone` then `pdm install`

## NP. rig setup
.venv is currently used, with PDM to update packages before each experiment:
1. install JupyterLab desktop (Win 64-bit)
2. clone `np_notebooks` (not `np_workflows`) `cd c:\Users\svc_neuropix\Documents\github & git clone https://github.com/AllenInstitute/np_notebooks`
5. find the path to python.exe 3.11.*, or install it manually
6. create a new venv in the `np_notebooks` dir: `cd np_notebooks & path-to-python.exe -m venv .venv`
7. activate venv: `.venv\scripts\activate` (terminal should now report `(np_notebooks-3.11)`)
8. install PDM in venv: `path-to-python.exe -m pip install pdm`
9. install `np_notebooks` requirements: `pdm install`
10. in JupyterLab, set the default to Python environment to use `c:\Users\svc_neuropix\Documents\github\np_notebooks\.venv\scripts\python.exe`
11. open up any workflow in the `np_notebooks` dir and check that the initial cell with imports works
