← Back to Blog

Twelve examples, one conformance bar

·6 min read

The examples directory ships twelve combinations: three Python backends (FastAPI, Flask, Django) times four TypeScript frontends (Next.js, React/Vite, Vue, Svelte). PR #140 aligned every one of them to the same standard, because an example that almost works teaches the wrong lesson with great confidence.

What conformance means here

  • Current client API. Every client uses the links API (httpBatchLink from its adapter package), no stale constructor options surviving in any corner.
  • Correct provider scope. CRA clients had a subtle bug: the QueryClient was instantiated inside a component that re-rendered, resetting cache state. Providers now own exactly one client per app lifetime.
  • Working inputs. The Svelte examples had broken controlled inputs and procedures that didn’t round-trip; every interactive element now actually mutates or fetches what it claims.
  • Framework-idiomatic hooks. Vue clients call useQuery/useMutation properly instead of imitating React patterns; Svelte uses stores with reactive getters for arguments.
  • Complete file sets. flask-nextjs’s missing next.config.ts (needed for the Turbopack alias) is back; dependency versions are pinned to a coherent set across all twelve.

The matrix is the test

Twelve combinations multiply small inconsistencies into large trust problems. A user hitting the Flask+Vue example after a smooth FastAPI+React experience assumes the difference they see is meaningful. Usually it is drift, an example updated in May and not in August. Conformance work is mostly archaeology followed by discipline:

  • examples/verification.md doubles as a manual QA script: first-run wizard transcript, hot-reload timing, server-detection attach path, watcher-only mode, each check executable by hand against any example.
  • Shared structure (same procedure names, same page layout, same branding) makes cross-example diffs meaningful: when two examples differ, one of them is wrong.
  • The top-level README now shows the single-command workflow that v0.13.0 enables, instead of per-framework workarounds.

Why this belongs in release notes

Examples are documentation that executes. When the links API shipped, twelve codebases had to migrate in lockstep or the docs site would have contradicted itself twelve times over. Keeping the matrix green is how pyRPC makes claims like “works with your stack” falsifiable, there are twelve repos in-tree that prove it, and they all build.