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
6 changes: 3 additions & 3 deletions .agents/project.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

| Task | Command |
|---|---|
| Install dependencies | `uv sync --group dev` (`make install`). No extras are needed: the `test` group inside `dev` brings redis, orjson, dishka, prometheus-client, fakeredis and testcontainers. Hooks: `uv run pre-commit install --hook-type pre-commit --hook-type commit-msg`. CONTRIBUTING.md installs only the commit-message hook, so ruff does not run at commit time. |
| Install dependencies | `uv sync --group dev` (`make install`). No extras are needed: the `test` group inside `dev` brings redis, orjson, dishka, prometheus-client, fakeredis and testcontainers. Hooks: `uv run pre-commit install --hook-type pre-commit --hook-type commit-msg`. |
| Format | `make fmt`: `uv run ruff format .`, then `uv run ruff check --fix .` |
| Lint and type-check | `make check`: `uv run ruff check .`, `uv run ruff format --check .`, `uv run mypy idempotency_kit`. CI's lint job runs the same three. |
| Test | `make test-unit` (`uv run pytest -m unit`, no Docker). `make test-integration` (`uv run pytest -m integration`) needs Docker: it starts `redis:7-alpine` through testcontainers. CI runs `uv run pytest -m unit --cov=idempotency_kit --cov-report=xml` on Python 3.11, 3.12 and 3.13, and `uv run pytest -m integration --cov=idempotency_kit --cov-report=xml --cov-fail-under=50` once. |
| Test | `make test-unit` (`uv run pytest -m unit`, no Docker). `make test-integration` (`uv run pytest -m integration`) needs Docker: it starts `redis:7-alpine` through testcontainers. CI runs `uv run pytest -m unit --cov=idempotency_kit --cov-report=xml` on Python 3.11, 3.12, 3.13 and 3.14, and `uv run pytest -m integration --cov=idempotency_kit --cov-report=xml --cov-fail-under=50` once. |
| Run locally | A library: nothing to run. The docs: `make docs-serve`. |
| Stop the local run | Ctrl+C in the terminal of `make docs-serve`. |

Expand All @@ -29,7 +29,7 @@

## Boundaries

- `CHANGELOG.md` is generated by release-please. Never edit it by hand, and never add an `## [Unreleased]` section, even though the pull request template's checklist asks for one.
- `CHANGELOG.md` is generated by release-please. Never edit it by hand, and never add an `## [Unreleased]` section.
- The version lives in `idempotency_kit/__version__.py`, on the line marked `# x-release-please-version`, and in `.release-please-manifest.json`. Release-please bumps both. Never change them by hand.
- `docs/agents.md` is part of the public API: it changes in the same pull request as the API (CONTRIBUTING.md, "The agents page"). `docs/api_reference.md` is hand-written, not generated from docstrings, so an API change updates it too.
- Files from the engineering-assets hub (`AGENTS.md` explains how it works) include the copy-page files (`docs/assets/javascripts/copy-page.js`, `docs/assets/stylesheets/copy-page.css`, `overrides/main.html`, `scripts/emit_markdown.py`), `.github/workflows/docs.yml`, `.github/workflows/release-please.yml`, `.github/dependabot.yml`, `.editorconfig` and `CODE_OF_CONDUCT.md`. Change them in the hub; a change here makes the file this repository's own.
Expand Down
4 changes: 0 additions & 4 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
blank_issues_enabled: false
contact_links:
- name: Question or discussion
url: https://github.com/bedrock-python/idempotency-kit/discussions
about: Ask a question or start a discussion about idempotency-kit
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

- [ ] Tests added or updated
- [ ] `make check` passes locally (`ruff` + `mypy`)
- [ ] `CHANGELOG.md` updated under `[Unreleased]`
- [ ] Conventional-commit title (the changelog is generated by Release Please — do not edit it by hand)
- [ ] Documentation updated (if the public API changed), `docs/agents.md` included

## Related issues
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Thank you for your interest in contributing! This document covers everything you
git clone https://github.com/bedrock-python/idempotency-kit.git
cd idempotency-kit
uv sync --group dev
uv run pre-commit install --hook-type commit-msg
uv run pre-commit install --hook-type pre-commit --hook-type commit-msg
```

## Running checks
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
Expand Down
Loading