Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
ac89a16
Add docs and notebooks audit export tool
C-Achard Apr 15, 2026
e192c9d
Ignore tools/docs_audits in docs scan
C-Achard Apr 15, 2026
09ec1e8
Ignore docs_audits; include tools MD files
C-Achard Apr 15, 2026
57369ac
Introduce markdown-myst pre-commit hook
C-Achard Apr 21, 2026
759956e
Add notes field and 'move' recommendation
C-Achard Apr 27, 2026
ced7cc6
Document Recommendation enum values
C-Achard Apr 28, 2026
d8b3a15
chore(metadata): update docs/notebooks metadata
C-Achard Apr 21, 2026
fbc7bad
chore(metadata): update docs/notebooks metadata
C-Achard Apr 21, 2026
7c9b3fd
chore(metadata): update docs/notebooks metadata
C-Achard Apr 27, 2026
fb18c00
chore(metadata): update docs/notebooks metadata
C-Achard Apr 28, 2026
619bdda
chore(metadata): update docs/notebooks metadata
C-Achard Apr 28, 2026
1bd19de
Update audit files
C-Achard Apr 28, 2026
c9bd740
chore(metadata): update docs/notebooks metadata
C-Achard Apr 28, 2026
0f48d90
Polish README content and docs metadata
C-Achard Apr 21, 2026
430f5a1
Revise installation docs and update instructions
C-Achard Apr 21, 2026
f2873c3
docs: clarify and reformat installation guide
C-Achard Apr 21, 2026
7a8917b
Revise UseOverviewGuide content and layout
C-Achard Apr 21, 2026
aed72a9
Update installation docs: GPU/OS guidance
C-Achard Apr 21, 2026
10a5856
Clarify and reformat UseOverviewGuide
C-Achard Apr 21, 2026
d1d6535
Convert links to Sphinx refs and tidy docs
C-Achard Apr 21, 2026
9ccc0f3
Fix typos and formatting in installation docs
C-Achard Apr 23, 2026
1cb8a68
Fix markdown code blocks and list numbering
C-Achard Apr 27, 2026
9038a0b
Remove outdated installation tips links
C-Achard Apr 27, 2026
4e27d04
Update PROJECT_GUI.md
C-Achard May 5, 2026
c9cf9f2
Clarify Project GUI wording in docs
C-Achard May 5, 2026
85ccfe5
Merge branch 'main' into cy/docs-audit-april-2026-docs-update
C-Achard May 5, 2026
f2b7df2
Update beginner guide ref
C-Achard May 5, 2026
8132c69
Revise Beginner Guide to focus on GUI
C-Achard May 5, 2026
40dba92
Update install link ref
C-Achard May 5, 2026
cd65129
Refactor labeling guide and napari workflow
C-Achard May 5, 2026
f6fb607
Clarify GUI config editing in manage-project
C-Achard May 5, 2026
6ddfa52
Update GUI training/evaluation guide
C-Achard May 5, 2026
784ddef
Refactor video analysis guide for GUI
C-Achard May 5, 2026
5564ef7
Refine beginner guides and napari usage docs
C-Achard May 6, 2026
24d39fd
Tidy beginner-guides
C-Achard May 6, 2026
0d2d307
Run mdformat on all
C-Achard Apr 28, 2026
72676e1
mdformat all
C-Achard May 6, 2026
c6e0087
Refine PROJECT_GUI docs layout and links
C-Achard May 6, 2026
86c3a48
Fix link in getting started
C-Achard May 6, 2026
4cf5beb
mdformat all
C-Achard May 6, 2026
0e96b15
Merge branch 'cy/docs-audit-2026-reformat-all' of https://github.com/…
C-Achard May 6, 2026
030239c
docs: update Docker docs formatting and notes
C-Achard May 6, 2026
31ae0de
Apply suggestions from code review
C-Achard May 12, 2026
cc9bf79
Separate GPU and cloud bullets; remove link
C-Achard May 12, 2026
983da40
Update README: TF backend, dataset links
C-Achard May 12, 2026
753ef22
Clarify Docker usage and napari limitation
C-Achard May 12, 2026
7319208
Clarify training dataset creation steps
C-Achard May 12, 2026
94aa213
Clarify labeling progress and color-scheme docs
C-Achard May 12, 2026
483de19
Relocate demo video link; cleanup whitespace
C-Achard May 12, 2026
b9f7780
Merge branch 'cy/docs-audit-april-2026-docs-update' into cy/docs-audi…
deruyter92 May 12, 2026
c0be689
Update installation.md
C-Achard May 21, 2026
48fa650
Merge branch 'docs/audit-2026' into cy/docs-audit-april-2026-docs-update
C-Achard May 21, 2026
d6e6e74
Fix docs formatting, typos and image tags
C-Achard May 21, 2026
e5418a3
Fix typo
C-Achard May 21, 2026
e02df06
Docs: add external data import recipe
C-Achard May 22, 2026
e912561
Refine wording and links in user guides
C-Achard May 22, 2026
058da2e
Convert internal docs links to Sphinx refs
C-Achard May 22, 2026
81e3257
chore(metadata): update docs/notebooks metadata
C-Achard May 22, 2026
d365913
Update course.md
C-Achard May 22, 2026
a3f65a0
Merge branch 'cy/docs-audit-april-2026-docs-update' into cy/docs-audi…
C-Achard May 22, 2026
00a9fd4
Merge branch 'docs/audit-2026' into cy/docs-audit-2026-reformat-all
C-Achard May 27, 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
7 changes: 5 additions & 2 deletions docs/Governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ deeplabcut:
last_metadata_updated: '2026-03-06'
ignore: false
---

(governance-model)=

# Governance Model of DeepLabCut

(adapted from https://napari.org/stable/community/governance.html)

## Abstract
Expand Down Expand Up @@ -112,7 +115,7 @@ DeepLabCut uses a “consensus seeking” process for making decisions. The grou
tries to find a resolution that has no open objections among core developers.
Core developers are expected to distinguish between fundamental objections to a
proposal and minor perceived flaws that they can live with, and not hold up the
decision-making process for the latter. If no option can be found without
decision-making process for the latter. If no option can be found without
objections, the decision is escalated to the SC, which will itself use
consensus seeking to come to a resolution. In the unlikely event that there is
still a deadlock, the proposal will move forward if it has the support of a
Expand All @@ -139,7 +142,7 @@ are made according to the following rules:
decision-making process outlined above.

- **Changes to this governance model or our mission, vision, and values**
require a dedicated issue on our [issue tracker](https://github.com/DeepLabCut/DeepLabCut/issues)
require a dedicated issue on our [issue tracker](https://github.com/DeepLabCut/DeepLabCut/issues)
and follow the decision-making process outlined above,
*unless* there is unanimous agreement from core developers on the change in
which case it can move forward faster.
Expand Down
33 changes: 19 additions & 14 deletions docs/HelperFunctions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,27 @@ deeplabcut:
recommendation: archive
notes: I would suggest using API docs over pages like this to avoid drift. The advice below promises updates that are not being made, and the content is already quite outdated. Automating API docs generation and putting usage info for obtaining commands info in ipython in a basic 'evergreen' page would be more sustainable than trying to maintain this page.
---

(helper-functions)=

# Helper & Advanced Optional Function Documentation

There are additional functions that are not required, but can be extremely helpful.

First off, if you are new to Python, you might not know this handy trick: you can see
ALL the functions in deeplabcut by typing ``deeplabcut.`` then hitting "tab." You will see a massive list!
ALL the functions in deeplabcut by typing `deeplabcut.` then hitting "tab." You will see a massive list!

<p align="center">
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1567907875609-57X4S1LVZWTRJ8GPM34T/ke17ZwdGBToddI8pDm48kKLvSvW2qdCTCjZZgzhLzasUqsxRUqqbr1mOJYKfIPR7LoDQ9mXPOjoJoqy81S2I8N_N4V1vUb5AoIIIbLZhVYxCRW4BPu10St3TBAUQYVKc0_818bg8q0aD7_W_W22OLw0yYD6y1fnQ3mVB6beYNdnbXafewWM7FbBaWqQqcLy-/options.png?format=1000w" width="90%">
</p>

Or perhaps you sort of know the name of the function, but not fully, then you can start typing the command, i.e. as in ``deeplabcut.a `` then hit tab:
Or perhaps you sort of know the name of the function, but not fully, then you can start typing the command, i.e. as in `deeplabcut.a ` then hit tab:

<p align="center">
<img src="https://images.squarespace-cdn.com/content/v1/57f6d51c9f74566f55ecf271/1567907844296-STHTZ2SD6UB5WCVEN2I8/ke17ZwdGBToddI8pDm48kJEw9Z-3B5ptjcdSkknf02DlfiSMXz2YNBs8ylwAJx2qgRUppHe6ToX8uSOdETM-XipuQpH02DE1EkoTaghKW779xRs5veesYFcByqmynT9oByNVWkh1tiIAZLs8gRhPycqbSMdPDHKAvTCdk8NbVnE/optionsA.png?format=1000w" width="90%">
</p>


Now, for any of these functions, you type ``deeplabcut.analyze_videos_converth5_to_csv?`` you get:
Now, for any of these functions, you type `deeplabcut.analyze_videos_converth5_to_csv?` you get:

```text
Signature: deeplabcut.analyze_videos_converth5_to_csv(videopath, videotype='.avi')
Expand Down Expand Up @@ -56,8 +57,7 @@ Only videos with this extension are analyzed. The default is ``.avi``
While some of the names are ridiculously long, we wanted them to be "self-explanatory." Here is a list
(that is bound to be continually updated)
of currently available helper functions. To see information about any of them, including HOW
to use them, use the ``?`` at the end of the call, as described above.

to use them, use the `?` at the end of the call, as described above.

```python
deeplabcut.analyze_videos_converth5_to_csv
Expand Down Expand Up @@ -112,18 +112,23 @@ In order to label with epipolar lines, you must complete two additional sets of
steps 1-3 in [3D Overview](3D-overview).

- Second, you must extract imagr from `camera_1` first; here you would have run the standard `deeplabcut.extract_frames(config_path, userfeedback=True)`, but just extract files from 1 camera. Next, you need to extract matching frames from `camera_2`:

```python
deeplabcut.extract_frames(config_path, mode = 'match', config3d=config_path3d, extracted_cam=0)
```

You can set `extracted_cam=0` to match all other camera images to the frame numbers in the `camera_1` folder, or change this to match to other cameras. If you `deeplabcut.extract_frames` with `mode='automatic'` before, it shouldn't matter which camera you pick. If you already extracted from both cameras, be warned this will overwrite the images for `camera_2`.

- Three, now you can label with epipolar lines:

- Here, label `camera_1` as you would normally, i.e.:
```python
deeplabcut.label_frames(config_path)
```
- Then for `camera_2` (now it will compute the epipolar lines based on camera_1 labels and project them onto the GUI):
```python
deeplabcut.label_frames(config_path, config3d=config_path3d)
```
- Here, label `camera_1` as you would normally, i.e.:

```python
deeplabcut.label_frames(config_path)
```

- Then for `camera_2` (now it will compute the epipolar lines based on camera_1 labels and project them onto the GUI):

```python
deeplabcut.label_frames(config_path, config3d=config_path3d)
```
33 changes: 17 additions & 16 deletions docs/MISSION_AND_VALUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ deeplabcut:
last_metadata_updated: '2026-03-06'
ignore: false
---

(mission-and-values)=

# Mission and Values of DeepLabCut

This document is meant to help guide decisions about the future of `DeepLabCut`, be it in terms of
Expand All @@ -25,7 +27,6 @@ estimation framework that is:
- fast (GPU-powered)
- scalable (project focused for ease of portability and sharability)


As the project has grown we've turned these original principles into the mission statement and set of values that we
described below.

Expand All @@ -36,44 +37,44 @@ pose estimation for people to use in their daily work** without the need to be a
framework. We hope to accomplish this by:

- being **easy to use and install**. We are careful in taking on new dependencies, sometimes making them optional, and
aim support a fully (Python) packaged installation that works cross-platform.
aim support a fully (Python) packaged installation that works cross-platform.

- being **well-documented** with **comprehensive tutorials and examples**. All functions in our API have thorough
docstrings clarifying expected inputs and outputs, and we maintain a separate
[tutorials and information website](http://deeplabcut.org).
docstrings clarifying expected inputs and outputs, and we maintain a separate
[tutorials and information website](http://deeplabcut.org).

- providing **GUI access** to all critical functionality so DeepLabCut can be used by people without coding experience.

- being **interactive** and **highly performant** in order to support large data pipelines.

- providing a **consistent and stable API** to enable plugin developers to build on top of DeepLabCut without their
code constantly breaking and to enable advanced users to build out sophisticated Python workflows, if needed.
code constantly breaking and to enable advanced users to build out sophisticated Python workflows, if needed.

- **ensuring correctness**. We strive for complete test coverage of both the code and GUI, with all code reviewed by a
core developer before being included in the repository.
core developer before being included in the repository.

## Our values

- We are **inclusive**. We welcome newcomers who are making their first contribution and strive to grow our most
dedicated contributors into [core developers](https://github.com/orgs/DeepLabCut/teams/core-developers).
We have a [Code of Conduct](https://github.com/DeepLabCut/DeepLabCut/blob/main/CODE_OF_CONDUCT.md) to make DeepLabCut
a welcoming place for all.
dedicated contributors into [core developers](https://github.com/orgs/DeepLabCut/teams/core-developers).
We have a [Code of Conduct](https://github.com/DeepLabCut/DeepLabCut/blob/main/CODE_OF_CONDUCT.md) to make DeepLabCut
a welcoming place for all.

- We are **community-engaged**. We respond to feature requests and proposals on our

- [issue tracker](https://github.com/DeepLabCut/DeepLabCut/issues).

- We serve **scientific applications** primarily, over “consumer or commercial” pose estimation tools. This often means
prioritizing core functionality support, and rejecting implementations of “flashy” features that have little
scientific value.
prioritizing core functionality support, and rejecting implementations of “flashy” features that have little
scientific value.

- We are **domain agnostic** within the sciences. Functionality that is highly specific to particular scientific
domains belongs in plugins, whereas functionality that cuts across many domains and is likely to be widely used belongs
inside DeepLabCut.
domains belongs in plugins, whereas functionality that cuts across many domains and is likely to be widely used belongs
inside DeepLabCut.

- We value **education and documentation**. All functions should have docstrings, preferably with examples, and major
functionality should be explained in our [tutorials](http://deeplabcut.org). Core developers can take an active role
in finishing documentation examples.

functionality should be explained in our [tutorials](http://deeplabcut.org). Core developers can take an active role
in finishing documentation examples.

## Acknowledgements

Expand Down
Loading