Releases: gilestrolab/ethoscopy
v2.2.0 — ipywidgets progress bars in loaders and HMM training
What's new
Long-running operations now show a real progress bar instead of streaming
per-item print lines. tqdm.auto is used under the hood, so you get
an ipywidgets-based bar inside Jupyter (Lab, Notebook, VS Code) and a clean
text bar in the terminal — no code changes needed on your side.
Loaders
load_ethoscope— single bar across all ROIs, postfix shows the
current<machine> ROI_<n>. Per-ROILoading...chatter is gone.load_ethoscope_metadata— bar over databases.download_from_remote_dir— bar over downloads, replacing the manual
n/totaland ETA prints.
All three accept a new progress=True kwarg; pass progress=False to
disable.
HMM
hmm_trainwraps its outer training loop in a tqdm bar (HMM training).
Convergence diagnostics and matrix tables are still shown, just routed
throughtqdm.writeso they don't smear the bar.
Plotting helpers
- The state-decoded plotting loops in
behavpy_plotlyand
behavpy_seabornnow show a per-flyPlottingbar instead of one
printline per fly.
Internal
- Failure messages and the WAL-retry path inside
read_single_roi_optimizednow usetqdm.write.
New dependency
tqdm>=4.66,<5.0
Install
pip install -U ethoscopy
Full Changelog: v2.1.0...v2.2.0
v2.0.5 — package tutorial data separately
What's fixed
The 2.0.0 – 2.0.4 PyPI wheels silently shipped without the tutorial pickle files under src/ethoscopy/misc/tutorial_data/ because .gitignore's blanket *.pkl rule was being honoured by Hatchling's default VCS plugin when selecting wheel contents. On a fresh PyPI install, get_tutorial('overview') raised FileNotFoundError with no recovery guidance. Full writeup in #7.
What's new in 2.0.5
etho.download_tutorial_data()— one-liner helper that fetches the six tutorial pickles (~36 MB) from the repo into a user-writable cache. Idempotent, stdlib-only, cross-platform.- Three-location lookup —
get_tutorialandget_HMMnow search, in order:<site-packages>/ethoscopy/misc/tutorial_data/,$ETHOSCOPY_TUTORIAL_DATA_DIR,~/.cache/ethoscopy/tutorial_data/. - Clear error message when pickles are missing, listing every searched path and including the recovery snippet.
- ethoscope-lab Docker image (tag
ggilestro/ethoscope-lab:1.2) pre-populates the pickles during build — JupyterHub users never see the download step. - Tutorial notebooks carry an idempotent preamble cell before the first
get_tutorial(...)call. - Packaging: explicit
tool.hatch.build.targets.wheel.excludeentry so the intent no longer silently depends on.gitignore.
Upgrade
pip install --upgrade ethoscopy
python -c "import ethoscopy as etho; etho.download_tutorial_data()"Tests
22/22 passing (10 original + 12 new covering URL coverage, full download, skip-if-present, overwrite, permission-error wrapping, env-var override, cache fallback).
Closes #7.