Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 16 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --all-extras
run: uv sync --group test

- name: Run ruff check
run: uv run ruff check --output-format=github
Expand All @@ -47,15 +47,8 @@ jobs:
- name: Run tests with coverage
run: uv run pytest

docs:
build-docs:
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v5

Expand All @@ -68,22 +61,28 @@ jobs:
run: uv python install 3.11

- name: Install dependencies
run: uv sync --extra docs
run: uv sync --group docs

- name: Build documentation
run: uv run mkdocs build --strict

- name: Setup Pages
if: github.ref == 'refs/heads/main'
uses: actions/configure-pages@v5

- name: Upload artifact
if: github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
with:
path: ./site

deploy-docs:
needs: build-docs
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
if: github.ref == 'refs/heads/main'
id: deployment
uses: actions/deploy-pages@v4
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ help: ## Show this help message
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'

install: ## Install the package and all dependencies
uv sync --all-extras
uv sync --all-groups

test: ## Run tests
uv run pytest
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# Install development dependencies
uv sync --all-extras
uv sync --all-groups
```

## Usage
Expand Down Expand Up @@ -88,7 +88,7 @@ Build and serve documentation locally:

```bash
# Install docs dependencies
uv sync --extra docs
uv sync --group docs

# Serve documentation locally
uv run mkdocs serve
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Thank you for your interest in contributing to this project!
3. Install dependencies:

```bash
uv sync --all-extras
uv sync --all-groups
```

4. Set up pre-commit hooks:
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This project provides a modern Python project template with best practices and t
## Quick Start

1. Clone the repository
2. Install dependencies with `uv sync --all-extras`
2. Install dependencies with `uv sync --all-groups`
3. Run tests with `uv run pytest`
4. Start developing!

Expand Down
10 changes: 6 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,21 @@ dependencies = [
# Add your project dependencies here
]

[project.optional-dependencies]
dev = [
[dependency-groups]
test = [
"pytest>=8.0.0",
"pytest-cov>=4.0.0",
"pytest-xdist>=3.0.0",
"ruff>=0.6.0",
"pyright>=1.1.380",
"ruff>=0.14.2",
"pyright>=1.1.407",
"pre-commit>=3.0.0",
]

docs = [
"mkdocs>=1.5.0",
"mkdocs-material>=9.0.0",
"mkdocstrings[python]>=0.20.0",
"ruff>=0.14.2",
]

[project.urls]
Expand Down
91 changes: 48 additions & 43 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.