Skip to content

Publish cw 0.1.0 #26

Description

@thorwhalen

Cut the first real release, under the policy ADR-0005 defines.

Pre-flight

  • python -m cw.testing parity green on Linux, macOS, Windows.
  • Both acceptance-gate repos green; the falsifying gate green.
  • pip install cw in a clean venv pulls zero third-party packages
    (pip list diffed against a bare venv, asserted in CI).
  • import cw pulls no i2 (the regression test from the M0 issue).
  • rg -n 'argh' --glob '!misc/docs/*' . returns nothing outside goldens metadata.
  • Every module has a top-level docstring (pyproject.toml selects ruff D100; they are
    auto-extracted for generated docs).

Docs the release must carry

  • README, progressive disclosure, easy examples first:
    cw.dispatch(f)                                       # 0. zero ceremony
    cw.dispatch([f, g], prog='x')                        # 1. subcommands
    cw.dispatch(COMMANDS, config={'cmd': {'p': {...}}})  # 2. this call's particulars
    dispatch = functools.partial(cw.dispatch, convention=cw.MODERN, prog='priv')
    dispatch(COMMANDS)                                   # 3. configs shrink to nothing
  • The one sentence that carries the whole config story: config has the same shape as
    obj
    — keyed the way you address the thing on the command line. A single callable has no
    command word to type, so it has no command key to write.
  • The ARGH vs MODERN table and what each switch does.
  • The migration section, with the ADR-0005 dependency spelling verbatim.
  • The v1 non-goals (ADR-0006 cut list), so nobody re-proposes them.
  • Documented deliberate divergences from argh: coroutine → TypeError; the
    function-named-parameter case; priv's one renamed command.

Release

  • Version 0.1.0; CHANGELOG written.
  • Published to PyPI (a merge to the default branch on this fleet is the release —
    note it in the PR).
  • The grammar-freeze test from ADR-0005 runs on every release.
  • t/theremin bumped to the released cw and its holding argh declaration removed once
    it is on cw.compat or the real API.

Depends on


Research & rationale: the canonical spec and the full fleet audit live in the private research ledger (https://github.com/thorwhalen/priv/discussions/65). Effort: medium.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions