Prepare for PyPI releases#11
Merged
Merged
Conversation
There was a problem hiding this comment.
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
connect→supertab_connectacross 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
enforcementfromSTRICTtoSOFTis a behavior change for callers that constructSupertabConnectConfig(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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 withpy.typed.Changes
connecttosupertab_connect0.1.0py.typedfor PEP 561 type checker support