Skip to content

Prepare for PyPI releases#11

Merged
nick434434 merged 8 commits into
mainfrom
feat/prepare-for-pypi
Apr 29, 2026
Merged

Prepare for PyPI releases#11
nick434434 merged 8 commits into
mainfrom
feat/prepare-for-pypi

Conversation

@nick434434

@nick434434 nick434434 commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Prepares the Python SDK for an initial PyPI beta release.

This renames the importable package to supertab_connect, tightens the package metadata, adds a PyPI publishing workflow, and improves the README so the package page is useful without immediately sending users elsewhere. It also marks the package as typed with py.typed.

Changes

  • Rename package imports from connect to supertab_connect
  • Set package version to 0.1.0
  • Add PyPI-ready metadata, project links, beta classifier, and typed-package classifier
  • Add Trusted Publishing workflow for tagged releases
  • Exclude development-only files from the sdist
  • Add py.typed for PEP 561 type checker support
  • Expand README with installation, customer usage, merchant usage, error handling, typing, and docs links
  • Align default enforcement mode with the TypeScript SDK
  • Add build/publish dev dependencies and lockfile updates

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the SDK for PyPI distribution by renaming the import package to supertab_connect, updating packaging metadata/versioning, and adding an automated PyPI publish workflow.

Changes:

  • Rename public imports/usages from connectsupertab_connect across library code, tests, and examples.
  • Update packaging for release (version 0.1.0, wheel packages, sdist excludes, py.typed, expanded README).
  • Add a tag-driven GitHub Actions workflow to lint/test/build/check/publish to PyPI.

Reviewed changes

Copilot reviewed 30 out of 39 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
uv.lock Adds dev/release tooling deps (e.g., twine, hatchling) to the locked environment.
tests/merchant/test_license.py Updates imports/patch paths to supertab_connect.
tests/merchant/test_jwks.py Updates imports/patch paths to supertab_connect; formatting tweak for patch(...).
tests/merchant/test_headers.py Updates import to supertab_connect.
tests/merchant/test_events.py Updates imports/logger names/patch paths to supertab_connect.
tests/merchant/test_client.py Updates imports/patch paths to supertab_connect.
tests/merchant/test_bots.py Updates import to supertab_connect.
tests/merchant/conftest.py Updates JWKS cache clear import path.
tests/customer/test_tokens.py Updates imports/patch path to supertab_connect.
tests/customer/test_content_parser.py Updates import to supertab_connect.
tests/customer/test_content_matcher.py Updates imports to supertab_connect.
tests/customer/conftest.py Updates internal cache imports to supertab_connect.
supertab_connect/url_pattern.py Introduces URL path-pattern scoring utility used by content matching.
supertab_connect/types.py Updates config default enforcement; centralizes core SDK types/enums.
supertab_connect/py.typed Marks package as typed for type checkers.
supertab_connect/merchant/license.py Updates internal imports to supertab_connect namespace.
supertab_connect/merchant/jwks.py Updates internal imports to supertab_connect namespace.
supertab_connect/merchant/headers.py Adds header→event-property mapping helper with denied header list.
supertab_connect/merchant/events.py Updates internal imports to supertab_connect namespace.
supertab_connect/merchant/client.py Updates internal imports to supertab_connect namespace.
supertab_connect/merchant/bots.py Adds default bot detector implementation.
supertab_connect/merchant/init.py Re-exports merchant API from supertab_connect.
supertab_connect/exceptions.py Adds SDK exception types under new namespace.
supertab_connect/customer/token.py Updates internal imports to supertab_connect namespace.
supertab_connect/customer/content_parser.py Updates internal imports to supertab_connect namespace.
supertab_connect/customer/content_matcher.py Updates internal imports to supertab_connect namespace.
supertab_connect/customer/init.py Adds customer namespace re-exports.
supertab_connect/common.py Adds shared debug/error logging helpers.
supertab_connect/_version.py Adds user-agent/version helper for outbound requests.
supertab_connect/init.py Updates top-level public exports to supertab_connect.
pyproject.toml Updates package version/metadata, dev deps, build targets, and sdist excludes.
examples/obtain_license_token.py Updates example imports to supertab_connect.
examples/obtain_and_verify_license_token.py Updates example imports to supertab_connect.
examples/merchant_verify_and_record_event.py Updates example imports to supertab_connect.
examples/merchant_handle_request.py Updates example imports to supertab_connect.
connect/customer/init.py Removes old connect.customer entrypoint module.
README.md Expands installation/usage/docs guidance for PyPI-ready package.
.gitignore Ignores .uv-cache/.
.github/workflows/publish-pypi.yml Adds tag-based CI to validate, test, build, check, and publish to PyPI.
Comments suppressed due to low confidence (1)

supertab_connect/types.py:50

  • Changing the default enforcement from STRICT to SOFT is a behavior change for callers that construct SupertabConnectConfig(api_key=...) without specifying an enforcement mode. If this is intentional, it should be clearly documented in user-facing docs/README and ideally called out as a breaking/behavioral change for the release; otherwise, consider keeping the previous default.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pyproject.toml

@filias filias left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏 cool 🚀

@nick434434 nick434434 merged commit 4463a1c into main Apr 29, 2026
6 checks passed
@nick434434 nick434434 deleted the feat/prepare-for-pypi branch April 29, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants