Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
0b26c85
Pin deeplabcut-live to 1.1.0 in pyproject
C-Achard Feb 16, 2026
05497e8
Add PyPI release workflow and rename CI file
C-Achard Feb 16, 2026
1cc7801
CI: build, validate & release Python package
C-Achard Feb 16, 2026
ae9550c
Set version in pyproject.toml to 2.0.0rc0
C-Achard Feb 16, 2026
21a7e28
Update project metadata in pyproject.toml
C-Achard Feb 16, 2026
3ca5d4c
CI: note lockfile and install wheel with deps
C-Achard Feb 16, 2026
002e06b
Add ASCII art API, CLI flag, and fixes
C-Achard Feb 16, 2026
3611774
Use develop mode in tox testenv
C-Achard Feb 16, 2026
502e16e
Add ascii_art tests and update coverage omit
C-Achard Feb 16, 2026
d79eec4
Revert "Use develop mode in tox testenv"
C-Achard Feb 17, 2026
de9de7f
Bump actions and harden CLI smoke test
C-Achard Feb 17, 2026
7f5b75b
Move version to package and mark pyproject dynamic
C-Achard Feb 17, 2026
6d21bd2
Handle ASCII art errors & use logging
C-Achard Feb 17, 2026
756836b
Use fixtures to control SHOW_SPLASH in tests
C-Achard Feb 17, 2026
6893b69
Vectorize mapping and add color cache for ASCII
C-Achard Feb 17, 2026
6d7a3e6
Add setuptools dynamic version & refine tests
C-Achard Feb 17, 2026
7230f69
Optimize color ASCII rendering and fix module name
C-Achard Feb 17, 2026
58bb304
Refactor GenTL CTI discovery and loading
C-Achard Feb 17, 2026
d21cd3e
Address review comments
C-Achard Feb 19, 2026
70284db
gentl: reset harvester and CTI failure tests
C-Achard Feb 19, 2026
4c5f8e1
Bump GitHub Actions and refine help banner
C-Achard Feb 19, 2026
0a72842
Show banner only for help in TTY
C-Achard Feb 19, 2026
cf51c1f
Move ascii_art tests to new file and require cv2
C-Achard Feb 19, 2026
09a8364
Update python-package.yml
C-Achard Feb 19, 2026
a42d496
Apply suggestions from code review
C-Achard Feb 19, 2026
caef5a8
Refine pre-commit config: stages and ruff rules
C-Achard Feb 20, 2026
892da6a
Run pre-commit on PR changed files only
C-Achard Feb 20, 2026
5dd22ba
Merge pull request #53 from DeepLabCut/cy/lint-config
C-Achard Feb 20, 2026
3dfb1de
Include 'master' branch in CI triggers
C-Achard Feb 22, 2026
e066d9b
Bump actions versions and refine CI triggers
C-Achard Feb 22, 2026
fa49240
Trigger CI
C-Achard Feb 22, 2026
03dcb8e
Trigger CI 2: Electric Boogaloo
C-Achard Feb 22, 2026
8ec0de1
Merge remote-tracking branch 'origin/cy/pre-release-fixes-2.0' into c…
C-Achard Feb 23, 2026
2784bd5
Remove module-level debug logging overrides
C-Achard Feb 20, 2026
9fd192e
Reduce log verbosity and remove auto-load message
C-Achard Feb 20, 2026
0daebba
Infer model backend from selected model path
C-Achard Feb 20, 2026
cfd67c7
Add temporary Engine enum and use in dlc_processor
C-Achard Feb 20, 2026
b6fd336
Use Engine enum and improve model detection
C-Achard Feb 20, 2026
58f6110
Use Engine enum and validate model path
C-Achard Feb 23, 2026
f495649
Update GUI tests and adjust tox config
C-Achard Feb 23, 2026
f2c5fb6
Remove GUI and multi-camera exports
C-Achard Feb 23, 2026
d8da888
Update tox.ini
C-Achard Feb 23, 2026
94a4d04
Add Qt/OpenGL deps to CI and restrict Codecov
C-Achard Feb 23, 2026
eb255db
Refactor camera scan state and loaders
C-Achard Feb 23, 2026
48b274c
CI, packaging: coverage PRs, export main, tox deps
C-Achard Feb 23, 2026
31e09d8
Normalize model_type and fix model paths
C-Achard Feb 23, 2026
e517aed
Enhance ModelPathStore path normalization tests
C-Achard Feb 23, 2026
c7b11c9
Add concurrency to testing CI workflow
C-Achard Feb 23, 2026
4865edb
Add Engine helpers for model path detection
C-Achard Feb 23, 2026
1f73c89
Ignore stale scan worker signals
C-Achard Feb 23, 2026
0b47bc4
Update testing-ci.yml
C-Achard Feb 23, 2026
1cf1945
Update engine.py
C-Achard Feb 23, 2026
6952b68
Update __init__.py
C-Achard Feb 23, 2026
559c775
Import Engine from dlclivegui.temp in tests
C-Achard Feb 23, 2026
025a18e
Pass file path for non-.pb model checks
C-Achard Feb 24, 2026
735b9a0
Add ModelType Literal and apply to model_type
C-Achard Feb 24, 2026
af06d09
Move package version to pyproject.toml
C-Achard Feb 24, 2026
873ad07
Add cti_files_source marker and fallback logic
C-Achard Feb 25, 2026
2510076
Improve CTI discovery safety and diagnostics
C-Achard Feb 25, 2026
f8c0999
Centralize env/~ expansion and add dedupe key
C-Achard Feb 25, 2026
0d0ed39
Fix genTL log message spacing and tidy test
C-Achard Feb 25, 2026
1a795b9
Merge pull request #51 from DeepLabCut/cy/upgrade-gentl-discovery
C-Achard Feb 25, 2026
e94ffb9
Merge pull request #54 from DeepLabCut/cy/pre-release-cleanup
C-Achard Feb 25, 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
103 changes: 103 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: Build, validate & Release

on:
push:
tags:
- 'v*.*.*'
pull_request:
branches:
- main
- public
types:
- labeled
- opened
- edited
- synchronize
- reopened

jobs:
build_check:
name: Build & validate package
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ "3.10", "3.11", "3.12" ] # adjust to what you support
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

# If we use UV later, the lock file should be included here for caching and validation
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml', 'setup.cfg', 'setup.py', 'requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
${{ runner.os }}-pip-

- name: Install build tools
run: |
python -m pip install --upgrade pip
python -m pip install build twine wheel "packaging>=24.2"

- name: Build distributions (sdist + wheel)
run: python -m build

- name: Inspect dist
run: |
ls -lah dist/
echo "sdist contents (first ~200 entries):"
tar -tf dist/*.tar.gz | sed -n '1,200p'

- name: Twine metadata & README check
run: python -m twine check dist/*

- name: Install from wheel & smoke test
run: |
# Install from the built wheel (not from the source tree)
python -m pip install dist/*.whl

python - <<'PY'
import importlib
pkg_name = "dlclivegui" # change if your top-level import differs
m = importlib.import_module(pkg_name)
print("Imported:", m.__name__, "version:", getattr(m, "__version__", "n/a"))
PY

# Console entry point best-effort check (adjust name if different)
(command -v dlclivegui && dlclivegui --help) || echo "CLI not available or returned non-zero; continuing."

publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: build_check
if: ${{ startsWith(github.ref, 'refs/tags/v') }} # only on tag pushes like v1.2.3
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Install build tools
run: |
python -m pip install --upgrade pip
python -m pip install build twine

- name: Build distributions (sdist + wheel)
run: python -m build

- name: Publish to PyPI
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TWINE_API_KEY }}
run: python -m twine upload --verbose dist/*
File renamed without changes.
Loading