Skip to content

Commit 3f41a6e

Browse files
committed
项目管理工具迁移到 uv
1 parent 02e941c commit 3f41a6e

File tree

7 files changed

+246
-167
lines changed

7 files changed

+246
-167
lines changed

.github/workflows/publish.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v4
18-
- name: Setup Python
19-
uses: actions/setup-python@v5
17+
uses: actions/checkout@v5
18+
- name: Setup uv
19+
uses: astral-sh/setup-uv@v7
2020
with:
2121
python-version: "3.x"
2222
- name: Install dependencies
23-
run: |
24-
python -m pip install pip --upgrade
25-
python -m pip install build
23+
run: uv sync
2624
- name: Build
27-
run: python -m build
25+
run: uv build
2826
- name: Publish
29-
uses: pypa/gh-action-pypi-publish@release/v1
27+
run: uv publish

.github/workflows/test.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,17 @@ jobs:
77
strategy:
88
matrix:
99
os: [ubuntu-latest, macos-latest, windows-latest]
10-
python-version: ["3.12", "3.13"]
10+
python-version: ["3.12", "3.13", "3.14"]
1111
fail-fast: false
1212
runs-on: ${{ matrix.os }}
1313
steps:
1414
- name: Checkout
15-
uses: actions/checkout@v4
16-
- name: Setup Python
17-
uses: actions/setup-python@v5
15+
uses: actions/checkout@v5
16+
- name: Setup uv
17+
uses: astral-sh/setup-uv@v7
1818
with:
1919
python-version: ${{ matrix.python-version }}
2020
- name: Install dependencies
21-
run: |
22-
python -m pip install pip --upgrade
23-
python -m pip install -r requirements.txt
21+
run: uv sync
2422
- name: Test
25-
run: python -m pytest
23+
run: uv run -m pytest

.gitignore

Lines changed: 4 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,13 @@
1-
# Byte-compiled / optimized / DLL files
1+
# Python-generated files
22
__pycache__/
3-
*.py[cod]
4-
*$py.class
5-
6-
# C extensions
7-
*.so
8-
9-
# Distribution / packaging
10-
.Python
3+
*.py[oc]
114
build/
12-
develop-eggs/
135
dist/
14-
downloads/
15-
eggs/
16-
.eggs/
17-
lib/
18-
lib64/
19-
parts/
20-
sdist/
21-
var/
226
wheels/
23-
share/python-wheels/
24-
*.egg-info/
25-
.installed.cfg
26-
*.egg
27-
MANIFEST
28-
29-
# PyInstaller
30-
# Usually these files are written by a python script from a template
31-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32-
*.manifest
33-
*.spec
34-
35-
# Installer logs
36-
pip-log.txt
37-
pip-delete-this-directory.txt
38-
39-
# Unit test / coverage reports
40-
htmlcov/
41-
.tox/
42-
.nox/
43-
.coverage
44-
.coverage.*
45-
.cache
46-
nosetests.xml
47-
coverage.xml
48-
*.cover
49-
*.py,cover
50-
.hypothesis/
51-
.pytest_cache/
52-
cover/
53-
54-
# Translations
55-
*.mo
56-
*.pot
57-
58-
# Django stuff:
59-
*.log
60-
local_settings.py
61-
db.sqlite3
62-
db.sqlite3-journal
63-
64-
# Flask stuff:
65-
instance/
66-
.webassets-cache
67-
68-
# Scrapy stuff:
69-
.scrapy
70-
71-
# Sphinx documentation
72-
docs/_build/
73-
74-
# PyBuilder
75-
.pybuilder/
76-
target/
77-
78-
# Jupyter Notebook
79-
.ipynb_checkpoints
80-
81-
# IPython
82-
profile_default/
83-
ipython_config.py
7+
*.egg-info
848

85-
# pyenv
86-
# For a library or package, you might want to ignore these files since the code is
87-
# intended to run in multiple environments; otherwise, check them in:
88-
# .python-version
89-
90-
# pipenv
91-
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92-
# However, in case of collaboration, if having platform-specific dependencies or dependencies
93-
# having no cross-platform support, pipenv may install dependencies that don't work, or not
94-
# install all needed dependencies.
95-
#Pipfile.lock
96-
97-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
98-
__pypackages__/
99-
100-
# Celery stuff
101-
celerybeat-schedule
102-
celerybeat.pid
103-
104-
# SageMath parsed files
105-
*.sage.py
106-
107-
# Environments
108-
.env
9+
# Virtual environments
10910
.venv
110-
env/
111-
venv/
112-
ENV/
113-
env.bak/
114-
venv.bak/
115-
116-
# Spyder project settings
117-
.spyderproject
118-
.spyproject
119-
120-
# Rope project settings
121-
.ropeproject
122-
123-
# mkdocs documentation
124-
/site
125-
126-
# mypy
127-
.mypy_cache/
128-
.dmypy.json
129-
dmypy.json
130-
131-
# Pyre type checker
132-
.pyre/
133-
134-
# pytype static type analyzer
135-
.pytype/
136-
137-
# Cython debug symbols
138-
cython_debug/
13911

14012
# PyCharm
14113
.idea/

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.12

pyproject.toml

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
[build-system]
2-
requires = ["hatchling"]
3-
build-backend = "hatchling.build"
4-
51
[project]
62
name = "pixel-font-knife"
73
version = "0.0.17"
84
description = "A set of pixel font utilities"
95
readme = "README.md"
10-
license = { text = "MIT License" }
11-
requires-python = ">=3.12"
6+
license = "MIT"
127
authors = [
138
{ name = "TakWolf" },
149
]
1510
maintainers = [
1611
{ name = "TakWolf" },
1712
]
1813
keywords = ["font", "pixel"]
14+
requires-python = ">=3.12"
1915
classifiers = [
2016
"Programming Language :: Python :: 3",
17+
"Programming Language :: Python :: 3.12",
18+
"Programming Language :: Python :: 3.13",
19+
"Programming Language :: Python :: 3.14",
2120
"License :: OSI Approved :: MIT License",
2221
"Operating System :: OS Independent",
2322
]
@@ -27,13 +26,11 @@ dependencies = [
2726
"pyyaml>=6.0.3",
2827
]
2928

30-
[project.urls]
31-
homepage = "https://github.com/TakWolf/pixel-font-knife"
32-
source = "https://github.com/TakWolf/pixel-font-knife"
33-
issues = "https://github.com/TakWolf/pixel-font-knife/issues"
34-
35-
[tool.pytest.ini_options]
36-
pythonpath = "src"
37-
addopts = [
38-
"--import-mode=importlib",
29+
[dependency-groups]
30+
dev = [
31+
"pytest>=8.4.2",
3932
]
33+
34+
[build-system]
35+
requires = ["uv_build"]
36+
build-backend = "uv_build"

requirements.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)