[PR #16317] build: introduce uv as Python package manager #28484

Closed
opened 2026-02-21 20:43:32 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/16317

State: closed
Merged: Yes


Summary

  • introduce uv as the dependency managment tool for #16305
  • changes
    • replace poetry to uv 0.6.x as the dependency manager
    • duplicated all the Python related CI tests based onto uv
    • changes in pyproject.toml
      • remove [tool.poetry.dependencies] section
        • due to uv uses [dependencies] for main dependencies declaration
        • use [dependencies]` for main dependencies declaration
        • project.dependencies cannot be placed with project.dynamic at the same time , so the dependencies has to be removed from project.dynamic
configuration error: You cannot provide a value for `project.dependencies` and list it under `project.dynamic` at the same time
      DESCRIPTION:
          According to PEP 621:  Build back-ends MUST raise an error if the metadata
          specifies a field statically as well as being listed in dynamic.

Tip

Close issue syntax: Fixes #<issue number> or Resolves #<issue number>, see documentation for more details.

Screenshots

Before After
... ...

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/16317 **State:** closed **Merged:** Yes --- # Summary - introduce `uv` as the dependency managment tool for #16305 - changes - replace `poetry` to `uv` 0.6.x as the dependency manager - duplicated all the Python related CI tests based onto `uv` - changes in `pyproject.toml` - remove `[tool.poetry.dependencies]` section - due to uv uses `[dependencies]` for main dependencies declaration - use [dependencies]` for main dependencies declaration - `project.dependencies` cannot be placed with `project.dynamic` at the same time , so the `dependencies` has to be removed from `project.dynamic` ``` configuration error: You cannot provide a value for `project.dependencies` and list it under `project.dynamic` at the same time DESCRIPTION: According to PEP 621: Build back-ends MUST raise an error if the metadata specifies a field statically as well as being listed in dynamic. ``` > [!Tip] > Close issue syntax: `Fixes #<issue number>` or `Resolves #<issue number>`, see [documentation](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more details. # Screenshots | Before | After | |--------|-------| | ... | ... | # Checklist > [!IMPORTANT] > Please review the checklist below before submitting your pull request. - [x] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:43:32 -05:00
yindo closed this issue 2026-02-21 20:43:32 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#28484