Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
7f92330
Add docs & notebooks staleness check tool
C-Achard Mar 5, 2026
5c60b01
Add staleness workflow for docs and notebooks
C-Achard Mar 5, 2026
9080556
Use docs_nb_checks as output directory
C-Achard Mar 5, 2026
eea323e
Make meta_to_jsonable JSON-safe for dates
C-Achard Mar 5, 2026
3484812
Add nbformat and notebook normalization checks
C-Achard Mar 5, 2026
3728e89
Add local pre-commit hook for docs/notebooks
C-Achard Mar 5, 2026
af816c5
Support targeted scans and use repo config path
C-Achard Mar 5, 2026
032d5d3
Update docs/notebooks README paths & cmds
C-Achard Mar 5, 2026
47028b5
Fix arg ordering
C-Achard Mar 5, 2026
e07a38c
Update docs_and_notebooks_check.py
C-Achard Mar 5, 2026
52cdc4a
Apply suggestions from code review
C-Achard Mar 5, 2026
be93a65
Move docs_notebooks tool to tools/
C-Achard Mar 6, 2026
f944212
Merge branch 'main' into cy/automated-docs&nb-report
C-Achard Mar 6, 2026
dfb26f3
Skip metadata commits when computing content date
C-Achard Mar 6, 2026
5227915
Add docs/notebook contract tests; rebuild models
C-Achard Mar 6, 2026
82f963e
Update docs_and_notebooks tool README
C-Achard Mar 6, 2026
dc10a6f
Update docs/notebooks workflow: deps & timeout
C-Achard Mar 6, 2026
b52ccb3
Add pydantic>2 dependency
C-Achard Mar 6, 2026
a7a8f80
Detect missing vs invalid DLC metadata
C-Achard Mar 6, 2026
29f6d24
Add tests for notebook DLC metadata warnings
C-Achard Mar 6, 2026
37a0887
Install dev extras in CI and update dev deps
C-Achard Mar 6, 2026
2e7847f
Add --no-step-summary flag and update summary
C-Achard Mar 6, 2026
feeef82
CI: upgrade checkout and adjust pip install
C-Achard Mar 6, 2026
866d705
Bump CI actions, fix deps and tests formatting
C-Achard Mar 10, 2026
0e76818
Only stamp metadata on write; rename git_stale
C-Achard Mar 10, 2026
336b6ac
Defer stamping last_metadata_updated until write
C-Achard Mar 10, 2026
ca91469
Simplify notebook writes
C-Achard Mar 10, 2026
c57ff21
Specify HEAD and use --fixed-strings in git log
C-Achard Mar 10, 2026
9a58f68
Refactor git date parsing and log helpers
C-Achard Mar 10, 2026
3c70970
Merge branch 'main' into cy/automated-docs&nb-report
C-Achard Mar 10, 2026
5f0a328
Refactor dlc docs/notebooks pre-commit hook
C-Achard Mar 16, 2026
1da0a70
docs: clarify metadata/normalization guidance
C-Achard Mar 16, 2026
f1806a3
Report scan/parsing issues non-fatal; add strict mode
C-Achard Mar 17, 2026
7838d07
Pydantic v2 migration and frontmatter error fixes
C-Achard Mar 17, 2026
5d22716
tests: update for renamed constant and 3-tuple
C-Achard Mar 17, 2026
648c178
Merge branch 'main' into cy/automated-docs&nb-report
C-Achard Mar 17, 2026
8c0dc21
chore(metadata): update docs/notebooks metadata
C-Achard Mar 6, 2026
c2e519d
Populate live-GUI docs
C-Achard Mar 17, 2026
f41946f
Merge pull request #3232 from DeepLabCut/cy/docs-nbs-check-apply
C-Achard Mar 19, 2026
a180893
Merge branch 'main' into cy/automated-docs&nb-report
C-Achard Mar 19, 2026
7675a2d
Update pyproject.toml
C-Achard Mar 19, 2026
9d31fc0
Update uv.lock
C-Achard Mar 20, 2026
e9d509d
Merge remote-tracking branch 'upstream/main' into cy/automated-docs&n…
deruyter92 Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
- name: Annotate locations with typos
uses: codespell-project/codespell-problem-matcher@v1
- name: Codespell
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/docs_and_notebooks_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Docs & notebooks freshness and formatting checks

on:
pull_request:
branches: [main]
push:
branches: [main]

permissions:
contents: read

jobs:
staleness:
name: Docs and notebooks scan (read-only)
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Checkout repository (full history for git dates)
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v6
Comment thread
C-Achard marked this conversation as resolved.
with:
python-version: "3.12"

- name: Install staleness tool dependencies
run: |
python -m pip install --upgrade pip
python -m pip install "pydantic>=2,<3" pyyaml "nbformat>=5"

- name: Run staleness report (read-only)
run: |
python tools/docs_and_notebooks_check.py \
--config tools/docs_and_notebooks_report_config.yml \
--out-dir tmp/docs_nb_checks \
report


# Optional: run check mode (will fail only once you populate allowlists in config)
- name: Run staleness policy check (optional gate)
continue-on-error: true
run: |
python tools/docs_and_notebooks_check.py \
--config tools/docs_and_notebooks_report_config.yml \
--out-dir tmp/docs_nb_checks \
--no-step-summary \
check

- name: Upload staleness artifacts
uses: actions/upload-artifact@v4
with:
name: staleness-report
path: |
tmp/docs_nb_checks/*.json
tmp/docs_nb_checks/*.md
if-no-files-found: error
2 changes: 1 addition & 1 deletion .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
shell: bash -el {0} # Important: activates the conda environment
run: |
python -m pip install --upgrade pip setuptools wheel
pip install --no-cache-dir -e .
pip install --no-cache-dir -e . --group dev

- name: Install ffmpeg
run: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,8 @@ ENV/
# mypy
.mypy_cache/

# Automated docs checks
**/tmp/docs_nb_checks/


# Automatic test selection report
Expand Down
17 changes: 17 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,20 @@ repos:
hooks:
- id: black
language_version: python3
- repo: local
hooks:
- id: dlc-docs-notebooks-check
name: DLC docs+notebooks staleness/check + nbformat validate + normalization
entry: python tools/docs_and_notebooks_check.py
language: python
pass_filenames: true
files: ^(docs/|examples/(JUPYTER|COLAB)/|tools/).*(\.md|\.ipynb)$
args:
- --config
- tools/docs_and_notebooks_report_config.yml
- check
- --targets
additional_dependencies:
- "pydantic>=2,<3"
- "pyyaml"
- "nbformat>=5"
6 changes: 6 additions & 0 deletions docs/Governance.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2026-02-10'
last_metadata_updated: '2026-03-06'
ignore: false
---
(governance-model)=
# Governance Model of DeepLabCut
(adapted from https://napari.org/stable/community/governance.html)
Expand Down
6 changes: 6 additions & 0 deletions docs/HelperFunctions.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-06-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
(helper-functions)=
# Helper & Advanced Optional Function Documentation

Expand Down
6 changes: 6 additions & 0 deletions docs/MISSION_AND_VALUES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-02-28'
last_metadata_updated: '2026-03-06'
ignore: false
---
(mission-and-values)=
# Mission and Values of DeepLabCut

Expand Down
6 changes: 6 additions & 0 deletions docs/ModelZoo.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-07-06'
last_metadata_updated: '2026-03-06'
ignore: false
---
(file:model-zoo)=
# The DeepLabCut Model Zoo!

Expand Down
6 changes: 6 additions & 0 deletions docs/Overviewof3D.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-10-14'
last_metadata_updated: '2026-03-06'
ignore: false
---
(3D-overview)=
# 3D DeepLabCut

Expand Down
6 changes: 6 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2022-08-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
Please see https://deeplabcut.github.io/DeepLabCut for documentation on how to use this software.

This directory contains the source code for the docs.
6 changes: 6 additions & 0 deletions docs/UseOverviewGuide.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2026-02-10'
last_metadata_updated: '2026-03-06'
ignore: false
---
(overview)=
# 🥳 Get started with DeepLabCut: our key recommendations

Expand Down
6 changes: 6 additions & 0 deletions docs/beginner-guides/Training-Evaluation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-02-28'
last_metadata_updated: '2026-03-06'
ignore: false
---
# Neural Network training and evaluation in the GUI
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1572296495650-Y4ZTJ2XP2Z9XF1AD74VW/ke17ZwdGBToddI8pDm48kMulEJPOrz9Y8HeI7oJuXxR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UZiU3J6AN9rgO1lHw9nGbkYQrCLTag1XBHRgOrY8YAdXW07ycm2Trb21kYhaLJjddA/DLC_logo_blk-01.png?format=1000w" width="150" title="DLC-live" alt="DLC LIVE!" align="right" vspace = "50">

Expand Down
6 changes: 6 additions & 0 deletions docs/beginner-guides/beginners-guide.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2026-03-03'
last_metadata_updated: '2026-03-06'
ignore: false
---
(beginners-guide)=
# Using DeepLabCut
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1572296495650-Y4ZTJ2XP2Z9XF1AD74VW/ke17ZwdGBToddI8pDm48kMulEJPOrz9Y8HeI7oJuXxR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UZiU3J6AN9rgO1lHw9nGbkYQrCLTag1XBHRgOrY8YAdXW07ycm2Trb21kYhaLJjddA/DLC_logo_blk-01.png?format=1000w" width="150" title="DLC-live" alt="DLC LIVE!" align="right" vspace = "50">
Expand Down
6 changes: 6 additions & 0 deletions docs/beginner-guides/labeling.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-06-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
(labeling)=
# Labeling GUI

Expand Down
6 changes: 6 additions & 0 deletions docs/beginner-guides/manage-project.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-06-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
# Setting up what keypoints to track
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1572296495650-Y4ZTJ2XP2Z9XF1AD74VW/ke17ZwdGBToddI8pDm48kMulEJPOrz9Y8HeI7oJuXxR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UZiU3J6AN9rgO1lHw9nGbkYQrCLTag1XBHRgOrY8YAdXW07ycm2Trb21kYhaLJjddA/DLC_logo_blk-01.png?format=1000w" width="150" title="DLC-live" alt="DLC LIVE!" align="right" vspace = "50">

Expand Down
6 changes: 6 additions & 0 deletions docs/beginner-guides/video-analysis.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-06-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
# Video Analysis with DeepLabCut
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1572296495650-Y4ZTJ2XP2Z9XF1AD74VW/ke17ZwdGBToddI8pDm48kMulEJPOrz9Y8HeI7oJuXxR7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z5QPOohDIaIeljMHgDF5CVlOqpeNLcJ80NK65_fV7S1UZiU3J6AN9rgO1lHw9nGbkYQrCLTag1XBHRgOrY8YAdXW07ycm2Trb21kYhaLJjddA/DLC_logo_blk-01.png?format=1000w" width="150" title="DLC-live" alt="DLC LIVE!" align="right" vspace = "50">

Expand Down
6 changes: 6 additions & 0 deletions docs/benchmark.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-02-28'
last_metadata_updated: '2026-03-06'
ignore: false
---
# DeepLabCut benchmark

For further information and the leaderboard, see [the official homepage](https://benchmark.deeplabcut.org/).
Expand Down
6 changes: 6 additions & 0 deletions docs/citation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2024-10-27'
last_metadata_updated: '2026-03-06'
ignore: false
---
# How to Cite DeepLabCut

Thank you for using DeepLabCut! Here are our recommendations for citing and documenting your use of DeepLabCut in your Methods section:
Expand Down
6 changes: 6 additions & 0 deletions docs/convert_maDLC.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-02-28'
last_metadata_updated: '2026-03-06'
ignore: false
---
(convert-maDLC)=
# How to convert a pre-2.2 project for use with DeepLabCut 2.2 or later

Expand Down
6 changes: 6 additions & 0 deletions docs/course.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
deeplabcut:
last_content_updated: '2025-06-30'
last_metadata_updated: '2026-03-06'
ignore: false
---
# DeepLabCut Self-paced Course

::::{warning}
Expand Down
5 changes: 5 additions & 0 deletions docs/dlc-live/deeplabcutlive.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(deeplabcut-live)=
# Running DeepLabCut models in real-time

Expand Down
7 changes: 6 additions & 1 deletion docs/dlc-live/dlc-live-gui/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
# DeepLabCut-live-GUI

A graphical application for **real-time pose estimation with DeepLabCut** using one or more cameras.
Expand Down Expand Up @@ -71,5 +76,5 @@ Before getting started, be aware of the following constraints:
## Feedback, issues, and contributions

> *This project is under active development. Feedback from real experimental use is highly valued.*
>
>
> [Please report issues, suggest features, or contribute to the codebase on GitHub !](https://github.com/DeepLabCut/DeepLabCut-live-GUI)
5 changes: 5 additions & 0 deletions docs/dlc-live/dlc-live-gui/quickstart/install.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
# Installation

This page explains how to install **DeepLabCut-live-GUI** for interactive, real‑time pose estimation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(file:dlclivegui-camera-aravis-backend)=
# Aravis backend

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(file:dlclivegui-basler-backend)=
# Basler backend

Expand All @@ -11,7 +16,7 @@ This backend requires the optional `pypylon` dependency. If `pypylon` is not ins

---

## Features & design
## Features & design

- Native Basler camera support via **pypylon** (Pylon SDK bindings).
- Best-effort device discovery without opening cameras (enumerates `DeviceInfo` entries).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(file:dlclivegui-camera-support)=
# Camera support

Expand Down Expand Up @@ -32,9 +37,9 @@ You can select the backend in the GUI from the "Backend" dropdown, or in your co
Below are some general recommendations for backend selection based on your operating system and camera type.

```{note}
Please understand this may not reflect the exact capabilities for every setup.
Please understand this may not reflect the exact capabilities for every setup.

Let us know about your experience with different cameras and backends on different platforms to help us improve our documentation and support!
Let us know about your experience with different cameras and backends on different platforms to help us improve our documentation and support!
```

### Windows
Expand Down Expand Up @@ -89,5 +94,3 @@ Install vendor-provided camera drivers and SDK. CTI files are typically in:
| Windows | ✅ | ✅ | ❌ | ✅ |
| Linux | ✅ | ✅ | ✅ | ✅ |
| macOS | ✅ | ❌ | ⚠️ | ✅ |


Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
# GenTL backend

The GenTL backend provides support for **GenICam / GenTL** compatible cameras using the **Harvesters** Python library (a GenTL consumer).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(file:dlclivegui-opencv-backend)=
# OpenCV backend

Expand Down
5 changes: 5 additions & 0 deletions docs/dlc-live/dlc-live-gui/user_guide/misc/misc_landing.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
# Additional resources

In this section, you can find additional resources related to the GUI and DLC-live, including:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
deeplabcut:
last_metadata_updated: '2026-03-17'
ignore: false
---
(file:dlclivegui-pretrained-models)=
# Pre-trained models

Expand Down
Loading
Loading