Skip to content

Commit 78ec5fc

Browse files
authored
Update package manager pdm to uv (#31)
* Update package manager pdm to uv * fix actions * fix dependency-groups * fix requirements.txt
1 parent 6628413 commit 78ec5fc

File tree

8 files changed

+542
-578
lines changed

8 files changed

+542
-578
lines changed

.github/workflows/lint.yml

+11-6
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@ jobs:
1717
steps:
1818
- uses: actions/checkout@v4
1919

20-
- name: Setup pdm
21-
uses: pdm-project/setup-pdm@v4
22-
with:
23-
python-version: ${{ matrix.python-version }}
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v3
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
run: uv python install ${{ matrix.python-version }}
2425

2526
- name: Install dependencies
26-
run: pdm install -G lint
27+
run: |
28+
uv sync --group lint
2729
2830
- name: Run lint
29-
run: pdm lint
31+
run: |
32+
source .venv/bin/activate
33+
chmod 755 pre-commit.sh
34+
./pre-commit.sh

.github/workflows/test.yml

+9-6
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,16 @@ jobs:
1717
steps:
1818
- uses: actions/checkout@v4
1919

20-
- name: Setup pdm
21-
uses: pdm-project/setup-pdm@v4
22-
with:
23-
python-version: ${{ matrix.python-version }}
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v3
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
run: uv python install ${{ matrix.python-version }}
2425

2526
- name: Install dependencies
26-
run: pdm install -G test
27+
run: |
28+
uv venv
29+
uv pip install -r requirements.txt
2730
2831
- name: Run test
29-
run: pdm run -v pytest
32+
run: uv run pytest

.pre-commit-config.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@ repos:
77
- id: check-toml
88

99
- repo: https://github.com/charliermarsh/ruff-pre-commit
10-
rev: v0.4.5
10+
rev: v0.7.2
1111
hooks:
1212
- id: ruff
1313
args:
1414
- '--fix'
15+
- '--unsafe-fixes'
1516
- id: ruff-format
1617

17-
- repo: https://github.com/pdm-project/pdm
18-
rev: 2.12.2
18+
- repo: https://github.com/astral-sh/uv-pre-commit
19+
rev: 0.4.29
1920
hooks:
20-
- id: pdm-export
21+
- id: uv-lock
22+
- id: uv-export
2123
args:
22-
- -o
24+
- '-o'
2325
- 'requirements.txt'
24-
- '--without-hashes'
25-
files: ^pdm.lock$
26-
- id: pdm-lock-check
26+
- '--no-hashes'

pdm.lock

-513
This file was deleted.

pyproject.toml

+12-18
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
[project]
22
name = "sqlalchemy-crud-plus"
33
description = "Asynchronous CRUD operation based on SQLAlchemy2 model"
4-
dynamic = [
5-
"version",
6-
]
4+
version = '1.5.0'
75
authors = [
86
{ name = "Wu Clan", email = "[email protected]" },
97
]
@@ -26,16 +24,19 @@ license = { text = "MIT" }
2624
homepage = "https://github.com/fastapi-practices/sqlalchemy-crud-plus"
2725
repository = "https://github.com/fastapi-practices/sqlalchemy-crud-plus"
2826

29-
[tool.pdm.dev-dependencies]
30-
lint = [
31-
"ruff>=0.4.0",
32-
"pre-commit>=3.5.0",
33-
]
34-
test = [
27+
[dependency-groups]
28+
dev = [
3529
"pytest>=8.1.1",
3630
"aiosqlite>=0.20.0",
3731
"pytest-asyncio>=0.23.6",
3832
]
33+
lint = [
34+
"ruff>=0.4.0",
35+
"pre-commit>=3.5.0",
36+
]
37+
38+
[tool.uv]
39+
python-downloads = "manual"
3940

4041
[tool.ruff]
4142
line-length = 120
@@ -58,13 +59,6 @@ order-by-type = true
5859
quote-style = "single"
5960
docstring-code-format = true
6061

61-
[tool.pdm]
62-
distribution = true
63-
version = { source = "file", path = "sqlalchemy_crud_plus/__init__.py" }
64-
65-
[tool.pdm.scripts]
66-
lint = "pre-commit run --all-files"
67-
6862
[build-system]
69-
requires = ["pdm-backend"]
70-
build-backend = "pdm.backend"
63+
requires = ["hatchling"]
64+
build-backend = "hatchling.build"

requirements.txt

+15-26
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,18 @@
1-
# This file is @generated by PDM.
2-
# Please do not edit it manually.
3-
1+
# This file was autogenerated by uv via the following command:
2+
# uv export -o requirements.txt --no-hashes
3+
-e .
44
aiosqlite==0.20.0
5-
annotated-types==0.6.0
6-
cfgv==3.4.0
7-
colorama==0.4.6; sys_platform == "win32"
8-
distlib==0.3.8
9-
exceptiongroup==1.2.1; python_version < "3.11"
10-
filelock==3.13.4
11-
greenlet==3.0.3; platform_machine == "win32" or platform_machine == "WIN32" or platform_machine == "AMD64" or platform_machine == "amd64" or platform_machine == "x86_64" or platform_machine == "ppc64le" or platform_machine == "aarch64"
12-
identify==2.5.35
5+
annotated-types==0.7.0
6+
colorama==0.4.6 ; sys_platform == 'win32'
7+
exceptiongroup==1.2.2 ; python_full_version < '3.11'
8+
greenlet==3.1.1 ; (python_full_version < '3.13' and platform_machine == 'AMD64') or (python_full_version < '3.13' and platform_machine == 'WIN32') or (python_full_version < '3.13' and platform_machine == 'aarch64') or (python_full_version < '3.13' and platform_machine == 'amd64') or (python_full_version < '3.13' and platform_machine == 'ppc64le') or (python_full_version < '3.13' and platform_machine == 'win32') or (python_full_version < '3.13' and platform_machine == 'x86_64')
139
iniconfig==2.0.0
14-
nodeenv==1.8.0
15-
packaging==24.0
16-
platformdirs==4.2.0
10+
packaging==24.1
1711
pluggy==1.5.0
18-
pre-commit==3.7.1
19-
pydantic==2.7.1
20-
pydantic-core==2.18.2
21-
pytest==8.2.1
22-
pytest-asyncio==0.23.7
23-
pyyaml==6.0.1
24-
ruff==0.4.5
25-
setuptools==69.5.1
26-
sqlalchemy==2.0.30
27-
tomli==2.0.1; python_version < "3.11"
28-
typing-extensions==4.10.0
29-
virtualenv==20.25.3
12+
pydantic==2.9.2
13+
pydantic-core==2.23.4
14+
pytest==8.3.3
15+
pytest-asyncio==0.24.0
16+
sqlalchemy==2.0.36
17+
tomli==2.0.2 ; python_full_version < '3.11'
18+
typing-extensions==4.12.2

sqlalchemy_crud_plus/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# -*- coding: utf-8 -*-
33
from .crud import CRUDPlus as CRUDPlus
44

5-
__version__ = 'v1.4.0'
5+
__version__ = '1.5.0'

0 commit comments

Comments
 (0)