Skip to main content

Circadian Workbench

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

Install

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.

Offline guide for people and AI callers

The installed package includes searchable workflows, input requirements, method choices, output explanations and troubleshooting. Reading it loads no recordings and does not start the application:

from circadian_workbench import context

print(context.read())
print(context.read("quickstart"))
print(context.search("missing values"))
print(context.read("troubleshooting", format="json"))

Terminal access uses python -m circadian_workbench.context quickstart or python -m circadian_workbench.context --search "missing values" and returns JSON.

Ask one question

No Python is needed:

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

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

import circadian_workbench as workbench

recording = workbench.open("mouse.awd")
result = recording.detrend(window_hours=24).compare_periods()
result.plot().save("periods.svg")

The figure and its data, statistics, evidence and replay script are saved under .circadian-agent. The original recording is unchanged. No server is needed for Python calls. For a text answer use result.show(); named measurements, tables and series expose results with units.

Numeric traces do not need to be turned into files or pandas DataFrames. This complete example generates a seven-day synthetic signal:

import math
import circadian_workbench as workbench

hours = list(range(168))
values = [20 + 4 * math.cos(2 * math.pi * hour / 24) for hour in hours]
result = workbench.trace(hours, values, name="Synthetic cell",
                        settings={"period_min_hours": 22, "period_max_hours": 26}).compare_periods()
result.show()

For arrays already extracted by another package, use the same short workflow:

import circadian_workbench as workbench

recording = workbench.trace(
    hours,
    values,
    settings={"period_min_hours": 20, "period_max_hours": 28},
)
result = recording.compare_periods()
result.plot(theme="classic").save("periods.svg")

Workbench owns the implemented circadian method catalogue and shared argument definitions. Motion and Auto-Organotypic consume the installed public interface; their new trace entrance is the Workbench function itself. Common figures use one shared builder for scientific data, labels, units, geometry and style. Existing consumer measurement wrappers keep their explicit legacy settings.

Argument meanings, units, choices and installed defaults are shared by Python, the browser and machine calls. Explicit method arguments override per-call settings, which override bound settings, which override fixed defaults. Display options belong to result.plot(...); output folders belong to .save(..., root=...). Earlier runs never choose a new method or theme. Reproduction requires the same data, settings, seeds and recorded software environment, not arbitrary upgrades. result.run_record captures the complete call and software/code identity. result.script verifies the recorded inputs and environment and then checks the recomputed result; the saved figure producer also verifies the declared figure. A mismatch is reported without changing software or choosing defaults from previous runs. This is not a promise of identical raster pixels across different operating systems and font engines.

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, 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.

Metadata

Release files for circadian-workbench 0.16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for circadian-workbench 0.16.2
File Size Uploaded
circadian_workbench-0.16.2.tar.gz 6.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for circadian-workbench 0.16.2
File Interpreter ABI Platform
circadian_workbench-0.16.2-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 MB

Release files / circadian_workbench-0.16.2.tar.gz

Download URL circadian_workbench-0.16.2.tar.gz
Size 6.5 MB
Tags Source
SHA-256 checksum
How to use checksums
463c745e9d9293ed81b878280b8068dba367804416253738ad9365ab9d83a7f4
BLAKE2b-256 checksum
How to use checksums
3bd1d7707b2cf1aa72cb8e5089a7a39328269175acc05d02b16eb245c5e1e18d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / circadian_workbench-0.16.2-py3-none-any.whl

Download URL circadian_workbench-0.16.2-py3-none-any.whl
Size 6.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ec073c0ab60e752e740ac733f3d41bb86bf9cd55cf892dc641314a726bf6518a
BLAKE2b-256 checksum
How to use checksums
32fdd956259561e8c63645d105deb693a2429faad3db4cd2755e08c9a5d111bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.16.2 This release

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.9.8

2 release files

0.8.2

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page