feat: migrate from poetry and black to uv and ruff#623
Open
dennisweil wants to merge 48 commits intobacklog/uv-build/mainfrom
Open
feat: migrate from poetry and black to uv and ruff#623dennisweil wants to merge 48 commits intobacklog/uv-build/mainfrom
dennisweil wants to merge 48 commits intobacklog/uv-build/mainfrom
Conversation
- ftrack connect - installer - projects/rv - tools update to build resources
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
Migrates the monorepo’s Python packaging/dependency tooling from Poetry/Black to uv/Ruff, converting package metadata to PEP 621 and updating CI and build docs accordingly.
Changes:
- Convert
pyproject.tomlfiles from[tool.poetry]to[project](PEP 621) and switch build backend to Hatchling; addtool.uv.sourcesfor local path deps. - Replace Black with Ruff formatting and update pre-commit + documentation/README instructions to use uv.
- Update CI workflows to use uv for installs/builds/tests; add/adjust version parsing utilities + tests.
Reviewed changes
Copilot reviewed 45 out of 91 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/requirements.txt | Replace pyScss with libsass for build tooling dependencies. |
| tools/requirements-pyside6.txt | Replace pyScss with libsass for PySide6 build tooling. |
| tools/requirements-connect.txt | Replace pyScss with libsass for Connect build tooling. |
| tests/libraries/test_version_parsing.py | Adds tests for new version parsing helpers and regex validity. |
| pyproject.toml | Root metadata migrated to PEP 621 + Hatchling; adds uv sources and Ruff config. |
| projects/rv/pyproject.toml | Migrates RV project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/rv/connect-plugin/hook/ftrack_rv_launcher.py | Ruff-formatting (quotes) and minor string/regex updates. |
| projects/rv/README.md | Updates build/versioning instructions from Poetry to uv. |
| projects/nuke-studio/pyproject.toml | Migrates Nuke Studio project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/nuke-studio/README.md | Updates build + docs instructions to use uv. |
| projects/framework-premiere/pyproject.toml | Migrates Premiere project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-premiere/connect-plugin/hook/discover_ftrack_framework_premiere.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-premiere/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-photoshop/pyproject.toml | Migrates Photoshop project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-photoshop/connect-plugin/hook/discover_ftrack_framework_photoshop.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-photoshop/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-nuke/pyproject.toml | Migrates Nuke framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-nuke/connect-plugin/hook/discover_ftrack_framework_nuke.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-nuke/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-maya/pyproject.toml | Migrates Maya framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-maya/connect-plugin/hook/discover_ftrack_framework_maya.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-maya/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-max/pyproject.toml | Migrates 3ds Max framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-max/connect-plugin/hook/discover_ftrack_framework_max.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-max/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-houdini/pyproject.toml | Migrates Houdini framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-houdini/connect-plugin/hook/discover_ftrack_framework_houdini.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-houdini/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-harmony/pyproject.toml | Migrates Harmony framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-harmony/connect-plugin/hook/discover_ftrack_framework_harmony.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-harmony/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-flame/pyproject.toml | Migrates Flame framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-flame/connect-plugin/hook/discover_ftrack_framework_flame.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-flame/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/framework-blender/pyproject.toml | Migrates Blender framework project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/framework-blender/connect-plugin/hook/discover_ftrack_framework_blender.py | Ruff-formatting + version extraction fallback logic changes. |
| projects/framework-blender/README.md | Updates build instructions to uv, adjusts build tool invocation paths. |
| projects/connect-timetracker-widget/pyproject.toml | Migrates widget project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/connect-timetracker-widget/README.md | Updates build instructions to uv. |
| projects/connect-publisher-widget/pyproject.toml | Migrates widget project metadata to PEP 621/Hatchling/uv + Ruff config. |
| projects/connect-publisher-widget/README.md | Updates build instructions to uv. |
| libs/utils/source/ftrack_utils/version/init.py | Adds version parsing helpers and switches pyproject parsing to tomllib + PEP 621 layout. |
| libs/utils/pyproject.toml | Migrates utils library metadata to PEP 621/Hatchling + Ruff config. |
| libs/qt/pyproject.toml | Migrates qt library metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| libs/qt-style/pyproject.toml | Migrates qt-style library metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| libs/qt-style/README.md | Updates qt-style build instructions to uv. |
| libs/framework-qt/pyproject.toml | Migrates framework-qt library metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| libs/framework-core/pyproject.toml | Migrates framework-core library metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| libs/constants/pyproject.toml | Migrates constants library metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| installers/app-installer/uv.lock | Adds uv lockfile for the app-installer package. |
| installers/app-installer/source/ftrack_app_installer/init.py | Switch DMG creation to dmgbuild and refactor packaging/code-signing flow. |
| installers/app-installer/pyproject.toml | Migrates app-installer metadata to PEP 621/Hatchling + Ruff config. |
| apps/connect/source/ftrack_connect/main.py | Ruff-formatting plus new application naming/icon setup. |
| apps/connect/resource/sass/widget/_list.scss | Updates a selector for checkbox hover styling. |
| apps/connect/resource/sass/module/_test.scss | Fixes comment syntax. |
| apps/connect/pyproject.toml | Migrates Connect app metadata to PEP 621/Hatchling/uv sources + Ruff config. |
| apps/connect/installer.py | Refactors installer entrypoint to locate package via importlib. |
| apps/connect/README.md | Updates Connect build/run/docs instructions to uv. |
| README.md | Updates repo-level dev/test instructions from Poetry/Black to uv/Ruff. |
| .pre-commit-config.yaml | Replaces Black hook with Ruff hooks. |
| .github/workflows/push-main-test.yml | Switch CI installs/tests from Poetry to uv + coverage. |
| .github/workflows/build-plugin.yml | Switch plugin build workflow from Poetry/pip to uv run/build. |
| .github/workflows/build-library.yml | Switch library build workflow from Poetry/pip to uv. |
| .github/workflows/build-connect.yml | Switch Connect build/installer workflows from Poetry/pyenv/pip to uv. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
installers/app-installer/source/ftrack_app_installer/__init__.py
Outdated
Show resolved
Hide resolved
installers/app-installer/source/ftrack_app_installer/__init__.py
Outdated
Show resolved
Hide resolved
installers/app-installer/source/ftrack_app_installer/__init__.py
Outdated
Show resolved
Hide resolved
8 tasks
|
@dennisweil I've opened a new pull request, #630, to work on those changes. Once the pull request is ready, I'll request review from you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves : fi-7
This PR has been tested on :
Overview
Migrate the whole monorepo/dependency/project management from
poetrytouv.MIgrate all formatting and pre-commits from
blacktoruff.