Skip to content

Clarify how projects should use SPECs #440

Open

Description

@jarrodmillman

SPECs are shared recommendations, not compliance standards. They aim to reduce maintainer burden, and projects can adapt them to their users, technical constraints, and available resources.

Recent discussions suggest we should make this flexibility explicit in each SPEC, not just in the process documentation. I propose:

  • adding a short notice to the top of every SPEC Add a short clarifying notice to each SPEC #441
  • expanding SPEC 0's "Ecosystem Adoption" section and describing its schedule as default drop dates, not deadlines
  • updating "Purpose and Process" distinguishing endorsement, adoption, adapted adoption, and conformance Clarify purpose and process #442
  • piloting project-level adoption declarations / documentation (e.g., scikit-image/SPEC_ADOPTION.md, networkx/SPEC_ADOPTION.md)
  • drafting a blog post with more history and better explain the SPEC process and documents in a more accessible manner

Activity

  1. jarrodmillman commented on Oct 12, 2026

    @jarrodmillman
    MemberAuthor

    We should start recommending project-level adoption declarations / documentation.
    Long-term we may want to create something more formal that could support tooling.
    For example, a .sp-specs directory containing specific implementation details for SPEC 0 in a .sp-specs/spec0.md.

    For now, I am imagining something more lightweight see #442.
    For example, a top-level SPEC_ADOPTION.md containing:

    # SPEC adoption
    
    https://scientific-python.org/specs/
    
    ## SPEC 0
    
    Status: Adapted
    
    We use SPEC 0 as the default basis for dependency-support decisions, with these variations:
    
    1. Python versions are supported through upstream EOL.
    2. Core dependencies normally follow the SPEC 0 schedule.
    
    These choices are reviewed when release or maintenance conditions change.
    
    ## SPEC 8
    
    Status: Adopted
  2. lucascolley commented on Oct 12, 2026

    @lucascolley
    Contributor

    +1 for the broad plan!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions