You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Say What the Registry's Python Profile Means Once the Profile Is Per Directory #3556
spec/type-model.md "Profiles: build vs lint-only" now says Python's profile belongs to each declared Python directory. The registry still declares one profile per type per repository, as profiles: { "python": "build" }. spec/validate.py accepts that one value, and the schema has no per-directory form.
So a repository whose declared directories differ cannot state its Python profile in the registry. Take a constructed repository declaring render/ (build) and tools/ (lint-only). Either value it declares contradicts one directory's shape.
The same section's "A declared python profile that contradicts the pyproject shape is a false declaration" reads one shape per repository too.
Expected
The spec says what a registry profiles.python value means once the profile is per directory. Two candidate shapes:
Drop python from profiles, since each directory's shape states its profile and pythonDirectories lists the directories.
Give profiles.python a per-directory form keyed by the pythonDirectories entries.
Either way, type-model.md, project-types.schema.json, validate.py, and the registry entries agree.
Found while fixing #3552, whose file bounds covered only the spec's Python profile text.
Maintainer decision, 2026-10-28: drop python from the registry profiles. Each declared directory's pyproject shape states its profile, a lock or requirements file meaning build, and pythonDirectories lists the directories. spec/type-model.md, spec/project-types.schema.json, spec/validate.py and the registry entries that set it change to agree.
Backlog burndown round 4 claim. Branch: feature/3556-drop-registry-python-profile. Files: registry/repos.json (the profiles.python declarations only, ProjectTemplate and ESPHome-Config), spec/project-types.json (the python type's allowed profiles and any text saying the registry declares it), spec/type-model.md ("Profiles: build vs lint-only" and the registry paragraph), spec/validate.py, spec/audit.py (only if it reads a python profile), tests/test_spec_validate.py, tests/test_audit_helpers.py. PR #3534 also touches registry/repos.json, and its owner released the hold for this change.
Activity
Bring the Remaining Python Profile Text Onto the Per-Directory Rule (#…
ptr727 commentedon Oct 28, 2026
Maintainer decision, 2026-10-28: drop
pythonfrom the registryprofiles. Each declared directory'spyprojectshape states its profile, a lock or requirements file meaning build, andpythonDirectorieslists the directories.spec/type-model.md,spec/project-types.schema.json,spec/validate.pyand the registry entries that set it change to agree.ptr727 commentedon Oct 28, 2026
Backlog burndown round 4 claim. Branch:
feature/3556-drop-registry-python-profile. Files:registry/repos.json(theprofiles.pythondeclarations only, ProjectTemplate and ESPHome-Config),spec/project-types.json(the python type's allowedprofilesand any text saying the registry declares it),spec/type-model.md("Profiles: build vs lint-only" and the registry paragraph),spec/validate.py,spec/audit.py(only if it reads a python profile),tests/test_spec_validate.py,tests/test_audit_helpers.py. PR #3534 also touchesregistry/repos.json, and its owner released the hold for this change.Drop the Registry Python Profile in Favor of Per-Directory Shape (#3569)
Promote Develop: Registry Python Profile, Codestyle and PR Review Sen…