Skip to content

Commit 9e61014

Browse files
committed
chore(dev): add Taskfile, pin Python, and VS Code settings
1 parent 269b4c1 commit 9e61014

3 files changed

Lines changed: 105 additions & 0 deletions

File tree

.python-version

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

.vscode/settings.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"[python]": {
3+
"editor.formatOnSave": true,
4+
"editor.codeActionsOnSave": {
5+
"source.fixAll.ruff": "always",
6+
"source.organizeImports.ruff": "always"
7+
},
8+
"editor.detectIndentation": false,
9+
"editor.tabSize": 4,
10+
"editor.defaultFormatter": "charliermarsh.ruff",
11+
"editor.rulers": [
12+
120
13+
],
14+
},
15+
"python.analysis.autoImportCompletions": true,
16+
"python.formatting.provider": "none",
17+
"python.languageServer": "None",
18+
"python.testing.unittestEnabled": false,
19+
"python.testing.pytestEnabled": true,
20+
"python.defaultInterpreterPath": "${workspaceRoot}/.venv/bin/python",
21+
"debug.allowBreakpointsEverywhere": true,
22+
"ruff.nativeServer": "on"
23+
}

Taskfile.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
version: '3'
2+
3+
tasks:
4+
install:
5+
desc: Install production dependencies
6+
cmds:
7+
- uv sync --no-dev
8+
9+
install-dev:
10+
desc: Install development dependencies
11+
cmds:
12+
- uv sync --group docs --group dev
13+
- uv pip install -e .
14+
15+
install-docs:
16+
desc: Install documentation dependencies
17+
cmds:
18+
- uv sync --group docs
19+
20+
update:
21+
desc: Update dependencies
22+
cmds:
23+
- uv lock --upgrade
24+
25+
test:
26+
desc: Run tests
27+
deps: [install-dev]
28+
cmds:
29+
- uv run pytest
30+
31+
lint:
32+
desc: Run linting
33+
cmds:
34+
- uv run ruff check .
35+
- uv run ruff format --check .
36+
- uv run ty check
37+
38+
format:
39+
desc: Format code
40+
cmds:
41+
- uv run ruff format .
42+
- uv run ruff check --fix --unsafe-fixes .
43+
44+
clean:
45+
desc: Clean build artifacts
46+
cmds:
47+
- rm -rf build/
48+
- rm -rf dist/
49+
- rm -rf src/*.egg-info/
50+
- rm -rf .coverage
51+
- rm -rf htmlcov/
52+
53+
build:
54+
desc: Build package
55+
deps: [clean]
56+
cmds:
57+
- uv build
58+
59+
publish:
60+
desc: Publish to PyPI
61+
deps: [build]
62+
cmds:
63+
- uv publish --token $(PYPI_API_TOKEN)
64+
65+
docs-build:
66+
desc: Build the documentation
67+
deps: [install-docs]
68+
cmds:
69+
- uv run mkdocs build --config-file ./mkdocs.yml
70+
71+
docs-serve:
72+
desc: Serve the documentation locally
73+
deps: [install-docs]
74+
cmds:
75+
- uv run mkdocs serve --config-file ./mkdocs.yml
76+
77+
docs-deploy:
78+
desc: Deploy documentation to GitHub Pages
79+
deps: [install-docs]
80+
cmds:
81+
- uv run mkdocs gh-deploy --config-file ./mkdocs.yml

0 commit comments

Comments
 (0)