Skip to content

refactor(examples): S13 PR 1 — shared verify contract, Python on uv and pydantic-settings - #73

Merged
patterncatalyst merged 9 commits into
mainfrom
refactor/idiomatic-examples
Oct 12, 2026
Merged

patterncatalyst merged 9 commits into
mainfrom
refactor/idiomatic-examples

Conversation

@patterncatalyst

Copy link
Copy Markdown
Owner

S13 PR 1 of 5 (plan: _plans/s13-idiomatic-plan.md).

  • Every verify.sh accepts framework health bodies and JVM exit code 143 (D1). Status codes and the /healthz and /readyz paths are unchanged.
  • The 01 recovery check accepts the top-level status at either end of the body.
  • All 32 Python projects move from requirements.txt to uv (pyproject.toml plus uv.lock) and from os.environ to pydantic-settings. Pins are updated to the newest stable releases.
  • CI keys Python projects on pyproject.toml and installs them with uv.
  • The Python deck and the Python site tabs follow the new code.

Verification: scripts/verify-matrix.sh ran every target one at a time, and 109/109 passed (18 Python, 91 in the other languages). validate_site, voice-scan and deck_text --check report clean.

Each of the 32 Python projects gets a pyproject.toml (direct dependencies pinned
with ==, requires-python >=3.14) and a committed uv.lock, and loses requirements.txt.
Containerfiles build the locked runtime venv with uv in a builder stage and copy it
to the runtime stage (same ubi10 python-314-minimal tag, ports, user and CMD).
Environment reads move from os.environ/os.getenv to a pydantic-settings Settings
class per service with the same variable names and defaults. READMEs, the
prerequisites and the site excerpts now use uv.
ci_changed_projects.py selects Python projects by pyproject.toml; the python job
installs uv 0.13.0 with astral-sh/setup-uv v10.3.0, runs uv sync --locked --no-dev
and byte-compiles.
@patterncatalyst
patterncatalyst merged commit c491c0f into main Oct 12, 2026
199 checks passed
@patterncatalyst
patterncatalyst deleted the refactor/idiomatic-examples branch October 12, 2026 22:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant