Skip to content

Commit 8f23bd4

Browse files
authored
chore: drop Python 3.7 & use uv
1 parent f351ae4 commit 8f23bd4

File tree

6 files changed

+1026
-40
lines changed

6 files changed

+1026
-40
lines changed

Diff for: .github/workflows/ci.yml

+25-25
Original file line numberDiff line numberDiff line change
@@ -58,32 +58,31 @@ jobs:
5858
3.10
5959
3.11
6060
3.13
61-
pypy3.7
6261
pypy3.8
6362
pypy3.9
6463
pypy3.10
6564
3.12
6665
check-latest: true
67-
allow-prereleases: true
6866
- uses: PyO3/maturin-action@v1
6967
with:
7068
target: ${{ matrix.target }}
71-
args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.7 pypy3.8 pypy3.9 pypy3.10'
69+
args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 pypy3.8 pypy3.9 pypy3.10'
7270
sccache: "true"
7371
manylinux: auto
7472
- uses: actions/upload-artifact@v4
7573
with:
7674
name: wheels-linux-${{ matrix.target }}
7775
path: dist
76+
- uses: astral-sh/setup-uv@v3
77+
with:
78+
enable-cache: true
7879
- name: pytest
7980
if: ${{ !startsWith(github.ref, 'refs/tags/') && matrix.target == 'x86_64-unknown-linux-gnu' }}
8081
run: |
8182
set -e
82-
python3 -m venv .venv
83-
source .venv/bin/activate
84-
pip install --force-reinstall --find-links ../dist --disable-pip-version-check pyromark
85-
pip install -U --disable-pip-version-check -r ../requirements-tests.txt
86-
pytest
83+
uv sync --no-install-project --frozen
84+
uv pip install --find-links ../dist --no-index pyromark
85+
uv run --no-sync pytest
8786
working-directory: ./tests
8887
windows:
8988
runs-on: windows-latest
@@ -100,7 +99,6 @@ jobs:
10099
- uses: actions/setup-python@v5
101100
with:
102101
python-version: |
103-
3.7
104102
3.8
105103
3.9
106104
3.10
@@ -109,26 +107,26 @@ jobs:
109107
3.12
110108
architecture: ${{ matrix.architecture }}
111109
check-latest: true
112-
allow-prereleases: true
113110
- uses: PyO3/maturin-action@v1
114111
with:
115112
target: ${{ matrix.target }}
116-
args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13'
113+
args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13'
117114
sccache: "true"
118115
- uses: actions/upload-artifact@v4
119116
with:
120117
name: wheels-windows-${{ matrix.target }}
121118
path: dist
119+
- uses: astral-sh/setup-uv@v3
120+
with:
121+
enable-cache: true
122122
- name: pytest
123123
if: ${{ !startsWith(github.ref, 'refs/tags/') && matrix.target == 'x86_64-pc-windows-msvc' }}
124124
shell: bash
125125
run: |
126126
set -e
127-
python3 -m venv .venv
128-
source .venv/Scripts/activate
129-
pip install --force-reinstall --find-links ../dist --disable-pip-version-check pyromark
130-
pip install -U --disable-pip-version-check -r ../requirements-tests.txt
131-
pytest
127+
uv sync --no-install-project --frozen
128+
uv pip install --find-links ../dist --no-index pyromark
129+
uv run --no-sync pytest
132130
working-directory: ./tests
133131
macos:
134132
runs-on: ${{ matrix.runner }}
@@ -145,42 +143,44 @@ jobs:
145143
- uses: actions/setup-python@v5
146144
with:
147145
python-version: |
148-
${{ matrix.target == 'x86_64-apple-darwin' && '3.7' || '' }}
149146
3.8
150147
3.9
151148
3.10
152149
3.11
153150
3.13
154-
${{ matrix.target == 'x86_64-apple-darwin' && 'pypy3.7' || '' }}
155151
pypy3.8
156152
pypy3.9
157153
pypy3.10
158154
3.12
159155
check-latest: true
160-
allow-prereleases: true
161156
- uses: PyO3/maturin-action@v1
162157
with:
163158
target: ${{ matrix.target }}
164-
args: --release --out dist --interpreter '3.7 3.8 3.9 3.10 3.11 3.12 3.13 pypy3.7 pypy3.8 pypy3.9 pypy3.10'
159+
args: --release --out dist --interpreter '3.8 3.9 3.10 3.11 3.12 3.13 pypy3.8 pypy3.9 pypy3.10'
165160
sccache: "true"
166161
- uses: actions/upload-artifact@v4
167162
with:
168163
name: wheels-macos-${{ matrix.target }}
169164
path: dist
165+
- uses: astral-sh/setup-uv@v3
166+
with:
167+
enable-cache: true
170168
- name: pytest
171169
if: ${{ !startsWith(github.ref, 'refs/tags/') && matrix.target == 'x86_64-apple-darwin' }}
172170
run: |
173171
set -e
174-
python3 -m venv .venv
175-
source .venv/bin/activate
176-
pip install --force-reinstall --find-links ../dist --disable-pip-version-check pyromark
177-
pip install -U --disable-pip-version-check -r ../requirements-tests.txt
178-
pytest
172+
uv sync --no-install-project --frozen
173+
uv pip install --find-links ../dist --no-index pyromark
174+
uv run --no-sync pytest
179175
working-directory: ./tests
180176
sdist:
181177
runs-on: ubuntu-latest
182178
steps:
183179
- uses: actions/checkout@v4
180+
- uses: actions/setup-python@v5
181+
with:
182+
python-version: "3.12"
183+
check-latest: true
184184
- uses: PyO3/maturin-action@v1
185185
with:
186186
command: sdist

Diff for: .readthedocs.yaml

+5-8
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,9 @@ version: 2
22
build:
33
os: ubuntu-lts-latest
44
tools:
5-
python: "3.12"
65
rust: latest
7-
python:
8-
install:
9-
- requirements: requirements-docs.txt
10-
- method: pip
11-
path: .
12-
mkdocs:
13-
configuration: mkdocs.yml
6+
commands:
7+
- asdf plugin add uv
8+
- asdf install uv latest
9+
- asdf global uv latest
10+
- uv run --frozen --no-cache --python 3.12 mkdocs build -d $READTHEDOCS_OUTPUT/html

Diff for: pyproject.toml

+10-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description = "Blazingly fast Markdown parser"
88
readme = "README.md"
99
keywords = ["converter", "html"]
1010
authors = [{ name = "monosans", email = "[email protected]" }]
11-
requires-python = ">=3.7"
11+
requires-python = ">=3.8"
1212
classifiers = [
1313
"License :: OSI Approved :: MIT License",
1414
"Natural Language :: English",
@@ -17,7 +17,6 @@ classifiers = [
1717
"Operating System :: POSIX :: Linux",
1818
"Programming Language :: Python",
1919
"Programming Language :: Python :: 3 :: Only",
20-
"Programming Language :: Python :: 3.7",
2120
"Programming Language :: Python :: 3.8",
2221
"Programming Language :: Python :: 3.9",
2322
"Programming Language :: Python :: 3.10",
@@ -36,3 +35,12 @@ scripts.pyromark = "pyromark.__main__:main"
3635
[tool.maturin]
3736
python-source = "python"
3837
module-name = "pyromark._pyromark"
38+
39+
[tool.uv]
40+
dev-dependencies = [
41+
"mkdocs-material==9.5.39",
42+
"mkdocs-minify-html-plugin==0.2.3",
43+
"mkdocstrings==0.26.1",
44+
"mkdocstrings-python==1.11.1",
45+
"pytest==8.3.3",
46+
]

Diff for: requirements-docs.txt

-4
This file was deleted.

Diff for: requirements-tests.txt

-1
This file was deleted.

0 commit comments

Comments
 (0)