modern-python-guidance 0.2.2__tar.gz → 0.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/CHANGELOG.md +8 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/PKG-INFO +1 -1
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/pyproject.toml +1 -1
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/fastapi/fastapi-lifespan.md +1 -1
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/fastapi/fastapi-typed-state.md +5 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/__init__.py +1 -1
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/.github/workflows/ci.yml +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/.github/workflows/publish.yml +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/.gitignore +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/CONTRIBUTING.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/LICENSE +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/LICENSE-MIT +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/README.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/SECURITY.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/pyproject.toml +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/app.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/config.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/crawler.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/models.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/scanner.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-modern/src/utils.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/pyproject.toml +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/setup.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/app.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/config.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/crawler.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/models.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/scanner.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-a-outdated/src/utils.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-b-modern/myapp/models.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-b-modern/myapp/views.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-b-outdated/myapp/models.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-b-outdated/myapp/views.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-c-modern/tests/test_calculator.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/fixtures/variant-c-outdated/tests/test_calculator.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/mcp-config.json +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v2.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v3-mcp.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v3.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v4-a.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v4-b.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt-v4-c.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/prompt.txt +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/run-mcp.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/run-v4.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/run.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/score-v2.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/score-v3.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/score-v4.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/score.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/bench/test-scorer.sh +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/docs/benchmark-evaluation.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/docs/benchmark-procedure.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/docs/design.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/SKILL.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/async/async-timeout-context.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/async/exception-groups.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/async/taskgroup-over-gather.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/data-structures/dataclass-modern.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/data-structures/dict-merge-operator.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/data-structures/match-case-patterns.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/django/django-async-views.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/django/django-check-constraints.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/django/django-json-field.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/fastapi/fastapi-annotated-depends.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/httpx/httpx-async-client-reuse.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/httpx/httpx-streaming.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pydantic/pydantic-v2-config.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pydantic/pydantic-v2-model-api.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pydantic/pydantic-v2-serialization.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pydantic/pydantic-v2-validators.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pytest/pytest-parametrize.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pytest/pytest-raises-match.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/pytest/pytest-tmp-path.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/sqlalchemy/sqlalchemy-2-style.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/sqlalchemy/sqlalchemy-async-session.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/sqlalchemy/sqlalchemy-mapped-column.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/stdlib/datetime-utc.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/stdlib/pathlib-over-os-path.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/stdlib/removeprefix-removesuffix.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/stdlib/tomllib-builtin.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/toolchain/no-pickle.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/toolchain/pyproject-toml-over-setup.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/toolchain/ruff-over-flake8.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/toolchain/safe-subprocess.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/toolchain/uv-over-pip.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/override-decorator.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/paramspec-decorators.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/type-parameter-syntax.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/typeis-vs-typeguard.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/union-syntax.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/guides/typing/use-builtin-generics.md +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/__main__.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/cli.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/compat.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/frontmatter.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/guide_index.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/mcp_server.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/retrieve.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/search.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/version_detect.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_cli_integration.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_frontmatter.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_mcp_server.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_retrieve.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_search.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_skill_sync.py +0 -0
- {modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/tests/test_version_detect.py +0 -0
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.3] — 2026-05-28
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- `fastapi-typed-state` guide: added missing Version Notes section (closes #13)
|
|
10
|
+
- `fastapi-typed-state` and `fastapi-lifespan` guides: corrected minimum version from FastAPI >= 0.93.0 to >= 0.94.0 (lifespan state dict requires Starlette >= 0.26.0, which FastAPI 0.93.0 excludes)
|
|
11
|
+
|
|
5
12
|
## [0.2.2] — 2026-05-28
|
|
6
13
|
|
|
7
14
|
### Changed
|
|
@@ -81,6 +88,7 @@ Initial release.
|
|
|
81
88
|
- Strict YAML-subset frontmatter parser (no PyYAML dependency)
|
|
82
89
|
- GitHub Actions CI (pytest + ruff on Python 3.11, 3.12, 3.13)
|
|
83
90
|
|
|
91
|
+
[0.2.3]: https://github.com/yottayoshida/modern-python-guidance/releases/tag/v0.2.3
|
|
84
92
|
[0.2.2]: https://github.com/yottayoshida/modern-python-guidance/releases/tag/v0.2.2
|
|
85
93
|
[0.2.1]: https://github.com/yottayoshida/modern-python-guidance/releases/tag/v0.2.1
|
|
86
94
|
[0.2.0]: https://github.com/yottayoshida/modern-python-guidance/releases/tag/v0.2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: modern-python-guidance
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Version-aware BAD/GOOD pattern guides that help AI coding agents generate modern Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/yottayoshida/modern-python-guidance
|
|
6
6
|
Project-URL: Repository, https://github.com/yottayoshida/modern-python-guidance
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "modern-python-guidance"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.3"
|
|
8
8
|
description = "Version-aware BAD/GOOD pattern guides that help AI coding agents generate modern Python"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0 OR MIT"
|
|
@@ -68,7 +68,7 @@ async def root(request: Request):
|
|
|
68
68
|
|
|
69
69
|
## Version Notes
|
|
70
70
|
|
|
71
|
-
- Works on Python 3.9+ with FastAPI >= 0.
|
|
71
|
+
- Works on Python 3.9+ with FastAPI >= 0.94.0 (lifespan state dict requires Starlette >= 0.26.0)
|
|
72
72
|
- `AsyncIterator` moved from `typing` to `collections.abc` in 3.9
|
|
73
73
|
|
|
74
74
|
## References
|
|
@@ -70,6 +70,11 @@ async def root(request: Request):
|
|
|
70
70
|
- `dataclass` or `TypedDict` documents the expected shape
|
|
71
71
|
- Resource cleanup is guaranteed by the context manager
|
|
72
72
|
|
|
73
|
+
## Version Notes
|
|
74
|
+
|
|
75
|
+
- Lifespan state dict requires FastAPI >= 0.94.0 (Starlette >= 0.26.0)
|
|
76
|
+
- `@dataclass(slots=True)` requires Python 3.10+; use plain `@dataclass` on 3.9
|
|
77
|
+
|
|
73
78
|
## References
|
|
74
79
|
|
|
75
80
|
- [FastAPI Lifespan State](https://fastapi.tiangolo.com/advanced/events/#lifespan-state)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/skills/modern-python-guidance/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/__main__.py
RENAMED
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/cli.py
RENAMED
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/compat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/retrieve.py
RENAMED
|
File without changes
|
{modern_python_guidance-0.2.2 → modern_python_guidance-0.2.3}/src/modern_python_guidance/search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|