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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- name: Install project dependencies
run: |
uv lock
uv sync --all-extras
uv sync

- name: Run mypy
run: uv run mypy src/
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
- name: Install project dependencies
run: |
uv lock
uv sync --all-extras
uv sync

- name: Run ruff linter
run: uv run ruff check src/ tests/
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
- name: Install project dependencies
run: |
uv lock
uv sync --all-extras
uv sync

- name: Run mypy
run: uv run mypy src/
Expand Down Expand Up @@ -143,7 +143,7 @@ jobs:
- name: Install project dependencies
run: |
uv lock
uv sync --all-extras
uv sync

- name: Run tests with coverage
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:

- name: Install project dependencies
run: |
uv sync --all-extras
uv sync

- name: Export dependencies for Snyk
run: |
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
- name: Install project dependencies
run: |
uv lock
uv sync --all-extras
uv sync

- name: Run Bandit security linter
run: uv run bandit -r src/ -f json -o bandit-report.json
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,13 +134,13 @@ This ensures a consistent, repeatable setup across teams and projects.
Install the project in editable mode with development dependencies:
```bash
# with pip
pip install -e ".[dev]"
pip install -e . --group dev

# with uv
uv sync --extra dev
uv sync

# with poetry
poetry install --extras dev
poetry install
```

> **Note:** *You may use any package manager you prefer (pip, uv, poetry).*
Expand Down
6 changes: 3 additions & 3 deletions docs/CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ After cloning the new repository to your local development machine and creating
install your project using the package manager of your choice:

- [ ] **USER:** Install dependencies using **pip**, **uv**, or **poetry**:
- `pip install -e ".[dev]"`.
- `uv sync --extra dev`.
- `poetry install --extras dev`.
- `pip install -e . --group dev`.
- `uv sync`.
- `poetry install`.
- [ ] **USER:** Run `prek install`.
- [ ] **USER:** Run the application `python -m <package_name>.main`.

Expand Down
20 changes: 9 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,17 @@ classifiers = [
]

dependencies = [
"pydantic-settings>=2.12.0", # Managing environment variables
"structlog>=25.5.0" # Managing logging
"pydantic-settings>=2.12.0",
"structlog>=25.5.0",
]

[project.optional-dependencies]
[dependency-groups]
test = ["pytest>=9.0.0", "pytest-cov>=7.0.0"]
quality = ["prek>=0.3.1", "bandit[toml]>=1.7.6", "ruff>=0.14.7", "mypy>=1.19.0"]
dev = [
"pytest>=9.0.0", # Testing framework
"pytest-cov>=7.0.0", # Coverage plugin for pytest
"ruff>=0.14.7", # Code formatter, Linter, Import sorter
"prek>=0.3.1", # Pre-commit hooks
"mypy>=1.19.0", # Type checker
"python-dotenv>=1.2.1", # Managing environment variables
"bandit[toml]>=1.7.6", # Bandit security linter with toml support
{include-group = "test"},
{include-group = "quality"},
"python-dotenv>=1.2.1",
]

[project.urls]
Expand All @@ -44,7 +42,7 @@ build-backend = "setuptools.build_meta"


[tool.setuptools.packages.find]
where = ["src"] # Essential for the src-layout to find 'package_name'
where = ["src"]

[tool.pytest.ini_options]
pythonpath = ["src"]
Expand Down
Loading