Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@arashsm79
Copy link
Contributor

@arashsm79 arashsm79 commented Oct 25, 2025

Summary

This PR performs an overhaul on how DLC is packaged.
uv is an extremely fast Python package and project manager that has seen incredible adoption from the Python community.
Here, the first steps are taken to package DLC with uv for different platforms and Python version.

The CI has also been updated accordingly to use uv.

How to use this PR

  • Checkout this PR on a local copy of DLC.
  • Install uv
  • If you are not familiar with uv, you can take a look at their Getting Started page.
  • Run uv sync with the extra dependencies you may want (you can take a look at the ci.yml file in this PR for example usage of uv.
    Like: uv sync --extra gui --python 3.11
  • uv run deeplabcut

@arashsm79 arashsm79 changed the title Arash/uv packaging uv packaging Oct 25, 2025
@arashsm79 arashsm79 changed the title uv packaging uv packaging and cleanup Oct 25, 2025
@arashsm79 arashsm79 changed the title uv packaging and cleanup uv packaging and cleanup and docs Oct 25, 2025
@Zelin2001
Copy link
Contributor

Could not wait to try this version!
The resolving works well on my system, for your information:

On Windows 11, x86_64, python==3.11

$ uv sync
Resolved 227 packages in 2ms
    Updated https://github.com/arashsm79/DeepLabCut (7b65fa0adfa24f6f038493e5b3d1f0999227ddf4)
      Built deeplabcut @ git+https://github.com/arashsm79/DeepLabCut@7b65fa0adfa24f6f038493e5b3d1f0999227ddf4
Prepared 5 package in 1m 24s
Uninstalled 1 package in 753ms
Installed 5 packages in 194ms
 + black==25.9.0
 - deeplabcut==3.0.0rc13
 + deeplabcut==3.0.0rc13 (from git+https://github.com/arashsm79/DeepLabCut@7b65fa0adfa24f6f038493e5b3d1f0999227ddf4)
 + mypy-extensions==1.1.0
 + pathspec==0.12.1
 + pytokens==0.2.0

On Gentoo Linux, x86_64, python==3.11

Resolved 227 packages in 2.14s
    Updated https://github.com/arashsm79/DeepLabCut (7b65fa0adfa24f6f038493e5b3d1f0999227ddf4)
      Built deeplabcut @ git+https://github.com/arashsm79/DeepLabCut@7b65fa0adfa24f6f038493e5b3d1f0999227ddf4
Prepared 5 packages in 14.75s
Uninstalled 1 package in 17ms
░░░░░░░░░░░░░░░░░░░░ [0/5] Installing wheels...
Installed 5 packages in 11ms
 + black==25.9.0
 - deeplabcut==3.0.0rc13
 + deeplabcut==3.0.0rc13 (from git+https://github.com/arashsm79/DeepLabCut@7b65fa0adfa24f6f038493e5b3d1f0999227ddf4)
 + mypy-extensions==1.1.0
 + pathspec==0.12.1
 + pytokens==0.2.0

@arashsm79 arashsm79 changed the title uv packaging and cleanup and docs uv packaging Nov 4, 2025
Copy link
Contributor

@deruyter92 deruyter92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea to move to uv, might mitigate a lot of installation issues in the future!!

The readme still requires updating, right? Same goes for some logs/warnings within the code (e.g. "If you need GUI support ... pip install 'deeplabcut[gui]'")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants