Metadata-Version: 2.4
Name: circadian-workbench
Version: 0.7.0
Summary: Local-first, reproducible circadian activity analysis
Author: Brancaccio Lab
Maintainer: Jay2owe
License-Expression: MIT
Project-URL: Homepage, https://pypi.org/project/circadian-workbench/
Keywords: circadian rhythms,actogram,activity analysis,chronobiology
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: analysis-kit>=0.1.0
Requires-Dist: fastapi>=0.115
Requires-Dist: uvicorn>=0.34
Requires-Dist: python-multipart>=0.0.20
Requires-Dist: numpy>=2.0
Requires-Dist: pandas>=2.2
Requires-Dist: scipy>=1.14
Requires-Dist: statsmodels>=0.14
Requires-Dist: PyWavelets>=1.6
Requires-Dist: plotly>=6.0
Requires-Dist: reportlab<6,>=5.0
Requires-Dist: svglib<3,>=2.2
Requires-Dist: reprofig[pdf]<1,>=0.5
Requires-Dist: SQLAlchemy>=2.0
Requires-Dist: alembic>=1.13
Requires-Dist: argon2-cffi>=23.1
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: httpx>=0.27; extra == "test"
Requires-Dist: openpyxl>=3.1; extra == "test"
Requires-Dist: playwright<2,>=1.49; extra == "test"
Provides-Extra: desktop
Requires-Dist: pywebview>=5.0; extra == "desktop"
Provides-Extra: release
Requires-Dist: build>=1.0; extra == "release"
Requires-Dist: pyinstaller<7,>=6.0; extra == "release"
Requires-Dist: pywebview>=5.0; extra == "release"
Provides-Extra: docs
Requires-Dist: mkdocs<2,>=1.6; extra == "docs"
Requires-Dist: mkdocs-material<10,>=9.5; extra == "docs"
Dynamic: license-file

# Circadian Workbench

Circadian Workbench is a local-first desktop application for circadian activity analysis. It imports supported ClockLab and tabular recordings, provides core rhythm views plus a 21-question non-cohort workbench, and preserves settings and provenance in project, result, figure, and recovery outputs.

## Install

```powershell
pip install "circadian-workbench[desktop]"
circadian-workbench-desktop
```

Python 3.10 or newer is required. The application runs only on the local machine; it has no account, login, hosted-service, or data-upload requirement.

## Ask one question

No Python is needed:

```powershell
circadian ask mouse01.awd period
circadian --list-questions
```

The same scientific engine is available through a small Python front door:

```python
import circadian_workbench as cw

result = cw.open("mouse01.awd").period("lomb")
print(result.answer)
```

Numeric traces do not need to be turned into files or pandas DataFrames:

```python
result = cw.trace(hours, values, name="cell 17").compare_periods()
result.show()
```

See the installed **Callers and automation** guide for populations, phases, measurement channels, result fields, errors, provenance and the version 1 local web application programming interface.

## Main capabilities

- Actograms, profiles, onset/offset fits, fixed cosinor, non-parametric measures, spectral estimators, bouts, and quality checks.
- Period comparison, rhythmicity, instantaneous phase, entrainment and perturbation, immobility sleep, ultradian rhythm, temperature compensation, within-recording synchrony/spatial/coupling analyses, prospective power, and model prediction.
- Editable SVG and vector PDF publication bundles with exact plotted data and embedded ReproFig provenance.
- Verified application snapshots and disposable restore rehearsal.
- [Public task-oriented documentation](https://jay2owe.github.io/CircadianWorkbench-docs/),
  also installed with the application, and machine-readable scientific action contracts.

## Scientific status

This is beta research software. The distribution distinguishes implemented and internally tested methods from independent validation. Retain original recordings, inspect warnings, and verify outputs for the intended use.

Complete multi-recording experimental management is reserved for a future separately agreed workflow.

Released under the MIT License.
