Skip to content

Commit 2062325

Browse files
committed
chore: Template upgrade
1 parent 0dd0b79 commit 2062325

27 files changed

+483
-350
lines changed

.copier-answers.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Changes here will be overwritten by Copier
2-
_commit: 0.1.0
2+
_commit: 0.3.1
33
_src_path: gh:mkdocstrings/handler-template
44
author_email: [email protected]
55
author_fullname: Timothée Mazzucotelli
@@ -11,13 +11,13 @@ copyright_license: ISC License
1111
insiders: true
1212
insiders_email: [email protected]
1313
insiders_repository_name: mkdocstrings-python
14+
language: Python
1415
project_description: A Python handler for mkdocstrings.
1516
project_name: mkdocstrings-python
1617
public_release: true
17-
python_package_command_line_name: ''
1818
python_package_distribution_name: mkdocstrings-python
19-
python_package_import_name: mkdocstrings_handlers
19+
python_package_import_name: python
2020
repository_name: python
2121
repository_namespace: mkdocstrings
2222
repository_provider: github.com
23-
language: Python
23+

.envrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PATH_add scripts

.github/workflows/ci.yml

+44-17
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ env:
1414
LANG: en_US.utf-8
1515
LC_ALL: en_US.utf-8
1616
PYTHONIOENCODING: UTF-8
17+
PYTHON_VERSIONS: ""
1718

1819
jobs:
1920

@@ -28,28 +29,51 @@ jobs:
2829
- name: Fetch all tags
2930
run: git fetch --depth=1 --tags
3031

31-
- name: Set up PDM
32-
uses: pdm-project/setup-pdm@v4
32+
- name: Set up Python
33+
uses: actions/setup-python@v5
3334
with:
34-
python-version: "3.8"
35+
python-version: "3.11"
3536

36-
- name: Resolving dependencies
37-
run: pdm lock -v --no-cross-platform -G ci-quality
37+
- name: Install uv
38+
run: pip install uv
3839

3940
- name: Install dependencies
40-
run: pdm install -G ci-quality
41+
run: make setup
4142

4243
- name: Check if the documentation builds correctly
43-
run: pdm run duty check-docs
44+
run: make check-docs
4445

4546
- name: Check the code quality
46-
run: pdm run duty check-quality
47+
run: make check-quality
4748

4849
- name: Check if the code is correctly typed
49-
run: pdm run duty check-types
50+
run: make check-types
5051

5152
- name: Check for vulnerabilities in dependencies
52-
run: pdm run duty check-dependencies
53+
run: make check-dependencies
54+
55+
- name: Check for breaking changes in the API
56+
run: make check-api
57+
58+
exclude-test-jobs:
59+
runs-on: ubuntu-latest
60+
outputs:
61+
jobs: ${{ steps.exclude-jobs.outputs.jobs }}
62+
steps:
63+
- id: exclude-jobs
64+
run: |
65+
if ${{ github.repository_owner == 'pawamoy-insiders' }}; then
66+
echo 'jobs=[
67+
{"os": "macos-latest"},
68+
{"os": "windows-latest"},
69+
{"python-version": "3.9"},
70+
{"python-version": "3.10"},
71+
{"python-version": "3.11"},
72+
{"python-version": "3.12"}
73+
]' | tr -d '[:space:]' >> $GITHUB_OUTPUT
74+
else
75+
echo 'jobs=[]' >> $GITHUB_OUTPUT
76+
fi
5377
5478
- name: Check for breaking changes in the API
5579
run: pdm run duty check-api
@@ -98,17 +122,20 @@ jobs:
98122
- name: Checkout
99123
uses: actions/checkout@v4
100124

101-
- name: Set up PDM
102-
uses: pdm-project/setup-pdm@v4
125+
- name: Set up Python
126+
uses: actions/setup-python@v5
103127
with:
104128
python-version: ${{ matrix.python-version }}
105-
allow-python-prereleases: true
129+
allow-prereleases: true
106130

107-
- name: Resolving dependencies
108-
run: pdm lock -v --no-cross-platform -G ci-tests
131+
- name: Install uv
132+
run: pip install uv
109133

110134
- name: Install dependencies
111-
run: pdm install --no-editable -G ci-tests
135+
run: |
136+
uv venv
137+
uv pip install -r devdeps.txt
138+
uv pip install "mkdocstrings-python @ ."
112139
113140
- name: Run the test suite
114-
run: pdm run duty test
141+
run: make test

.gitignore

+2-5
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@ htmlcov/
1010
pip-wheel-metadata/
1111
.pytest_cache/
1212
.mypy_cache/
13+
.ruff_cache/
1314
site/
14-
pdm.lock
15-
pdm.toml
16-
.pdm-plugins/
17-
.pdm-python
18-
__pypackages__/
1915
.venv/
16+
.venvs/
2017
.cache/

.gitpod.dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ FROM gitpod/workspace-full
22
USER gitpod
33
ENV PIP_USER=no
44
RUN pip3 install pipx; \
5-
pipx install pdm; \
5+
pipx install uv; \
66
pipx ensurepath

CONTRIBUTING.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ make setup
1717
> NOTE:
1818
> If it fails for some reason,
1919
> you'll need to install
20-
> [PDM](https://github.com/pdm-project/pdm)
20+
> [uv](https://github.com/astral-sh/uv)
2121
> manually.
2222
>
2323
> You can install it with:
2424
>
2525
> ```bash
2626
> python3 -m pip install --user pipx
27-
> pipx install pdm
27+
> pipx install uv
2828
> ```
2929
>
3030
> Now you can try running `make setup` again,
31-
> or simply `pdm install`.
31+
> or simply `uv install`.
3232
3333
You now have the dependencies installed.
3434
@@ -39,13 +39,13 @@ Run `make help` to see all the available actions!
3939
This project uses [duty](https://github.com/pawamoy/duty) to run tasks.
4040
A Makefile is also provided. The Makefile will try to run certain tasks
4141
on multiple Python versions. If for some reason you don't want to run the task
42-
on multiple Python versions, you run the task directly with `pdm run duty TASK`.
42+
on multiple Python versions, you run the task directly with `make run duty TASK`.
4343
4444
The Makefile detects if a virtual environment is activated,
4545
so `make` will work the same with the virtualenv activated or not.
4646
4747
If you work in VSCode, we provide
48-
[an action to configure VSCode](https://pawamoy.github.io/copier-pdm/work/#vscode-setup)
48+
[an action to configure VSCode](https://pawamoy.github.io/copier-uv/work/#vscode-setup)
4949
for the project.
5050
5151
## Development

Makefile

+15-42
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,27 @@
1-
.DEFAULT_GOAL := help
2-
SHELL := bash
3-
DUTY := $(if $(VIRTUAL_ENV),,pdm run) duty
4-
export PDM_MULTIRUN_VERSIONS ?= 3.8 3.9 3.10 3.11 3.12
5-
export PDM_MULTIRUN_USE_VENVS ?= $(if $(shell pdm config python.use_venv | grep True),1,0)
1+
# If you have `direnv` loaded in your shell, and allow it in the repository,
2+
# the `make` command will point at the `scripts/make` shell script.
3+
# This Makefile is just here to allow auto-completion in the terminal.
64

7-
args = $(foreach a,$($(subst -,_,$1)_args),$(if $(value $a),$a="$($a)"))
8-
check_quality_args = files
9-
docs_args = host port
10-
release_args = version
11-
test_args = match
12-
13-
BASIC_DUTIES = \
5+
actions = \
146
changelog \
7+
check \
158
check-api \
169
check-dependencies \
10+
check-docs \
11+
check-quality \
12+
check-types \
1713
clean \
1814
coverage \
1915
docs \
2016
docs-deploy \
2117
format \
18+
help \
2219
release \
20+
run \
21+
setup \
22+
test \
2323
vscode
2424

25-
QUALITY_DUTIES = \
26-
check-quality \
27-
check-docs \
28-
check-types \
29-
test
30-
31-
.PHONY: help
32-
help:
33-
@$(DUTY) --list
34-
35-
.PHONY: lock
36-
lock:
37-
@pdm lock -G:all
38-
39-
.PHONY: setup
40-
setup:
41-
@bash scripts/setup.sh
42-
43-
.PHONY: check
44-
check:
45-
@pdm multirun duty check-quality check-types check-docs
46-
@$(DUTY) check-dependencies check-api
47-
48-
.PHONY: $(BASIC_DUTIES)
49-
$(BASIC_DUTIES):
50-
@$(DUTY) $@ $(call args,$@)
51-
52-
.PHONY: $(QUALITY_DUTIES)
53-
$(QUALITY_DUTIES):
54-
@pdm multirun duty $@ $(call args,$@)
25+
.PHONY: $(actions)
26+
$(actions):
27+
@bash scripts/make "$@"

README.md

+5-17
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,11 @@
22

33
<p align="center">A Python handler for <a href="https://github.com/mkdocstrings/mkdocstrings"><i>mkdocstrings</i></a>.</p>
44

5-
<p align="center">
6-
<a href="https://github.com/mkdocstrings/python/actions?query=workflow%3Aci">
7-
<img alt="ci" src="https://github.com/mkdocstrings/python/workflows/ci/badge.svg" />
8-
</a>
9-
<a href="https://mkdocstrings.github.io/python/">
10-
<img alt="documentation" src="https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat" />
11-
</a>
12-
<a href="https://pypi.org/project/mkdocstrings-python/">
13-
<img alt="pypi version" src="https://img.shields.io/pypi/v/mkdocstrings-python.svg" />
14-
</a>
15-
<a href="https://gitpod.io/#https://github.com/mkdocstrings/python">
16-
<img alt="gitpod" src="https://img.shields.io/badge/gitpod-workspace-blue.svg?style=flat" />
17-
</a>
18-
<a href="https://app.gitter.im/#/room/#mkdocstrings_python:gitter.im">
19-
<img alt="gitter" src="https://badges.gitter.im/join%20chat.svg" />
20-
</a>
21-
</p>
5+
[![ci](https://github.com/mkdocstrings/python/workflows/ci/badge.svg)](https://github.com/mkdocstrings/python/actions?query=workflow%3Aci)
6+
[![documentation](https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat)](https://mkdocstrings.github.io/python/)
7+
[![pypi version](https://img.shields.io/pypi/v/mkdocstrings-python.svg)](https://pypi.org/project/mkdocstrings-python/)
8+
[![gitpod](https://img.shields.io/badge/gitpod-workspace-blue.svg?style=flat)](https://gitpod.io/#https://github.com/mkdocstrings/python)
9+
[![gitter](https://badges.gitter.im/join%20chat.svg)](https://app.gitter.im/#/room/#python:gitter.im)
2210

2311
---
2412

config/coverage.ini

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ source =
88
[coverage:paths]
99
equivalent =
1010
src/
11-
__pypackages__/
11+
.venv/lib/*/site-packages/
12+
.venvs/*/lib/*/site-packages/
1213

1314
[coverage:report]
1415
include_namespace_packages = true

config/pytest.ini

-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
11
[pytest]
2-
norecursedirs =
3-
.git
4-
.tox
5-
.env
6-
dist
7-
build
82
python_files =
93
test_*.py
104
*_test.py

0 commit comments

Comments
 (0)