Skip to content

P0: Publish the provider SDKs to PyPI and the Go module registry #59

Description

@macanderson

Problem

PR #43 shipped conformant provider SDKs in sdk/typescript, sdk/python, and
sdk/go — each passes the full conformance suite in CI. But they are only usable
from a checkout: npm install @contextgraph/sdk, pip install contextgraph-sdk,
and go get .../sdk/go/contextgraph all dead-end today, exactly like "build a
provider today" did for the crates before #16.

This is the SDK analogue of #16 (publish the crates to crates.io): the code is
done and green, the distribution is the missing half.

Deliverables

  • npm — publish @contextgraph/sdk (public scoped package). Settle the scope
    (@contextgraph vs @oxagen), confirm files/.npmignore hygiene (currently
    files: ["dist/src"]), then npm publish --access public (with provenance if
    desired).
  • PyPI — publish contextgraph-sdk. python -m build (sdist + wheel),
    twine upload; confirm the name is free.
  • Go — Go modules publish by tag, not a registry. The submodule path is
    .../sdk/go, so the tag is sdk/go/v0.1.0, after which
    go get github.com/macanderson/context-graph-protocol/sdk/go/contextgraph@v0.1.0
    resolves.
  • A PUBLISHING.md-style checklist for the SDKs (mirror the crates one) and
    CHANGELOG wiring for SDK versions.
  • Optional: a tag → publish release workflow, once the first manual publish is done.

Acceptance

  • npm install @contextgraph/sdk, pip install contextgraph-sdk, and
    go get .../sdk/go/contextgraph@<tag> each work from a clean environment and
    can build/run the example provider.
  • Versions align (0.1.0) and are recorded in the CHANGELOG.

Notes

The first publish of each is a human action (registry auth/tokens), like #16
this issue is the checklist that makes that first publish boring. Blocks the
"install and build a provider in five minutes" story #17 exists for.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ecosystemSDKs, providers, bridges, registryinfrastructureCI, releases, repo tooling

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions