Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: workos/workos-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: workos/workos-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: oagen-emitter
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 14 commits
  • 948 files changed
  • 2 contributors

Commits on Mar 25, 2026

  1. Configuration menu
    Copy the full SHA
    67e445d View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2026

  1. style: fix ruff formatting in test_session.py

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    gjtorikian and claude committed Mar 27, 2026
    Configuration menu
    Copy the full SHA
    e24084e View commit details
    Browse the repository at this point in the history
  2. chore: switch type checker from mypy to pyright strict

    Replace mypy with pyright as the primary type checker. pyright is
    faster, catches more real bugs (better type narrowing, generic
    inference, union handling), and is the industry standard for production
    Python SDKs (used by OpenAI, Anthropic, Stripe).
    
    - Replace mypy with pyright in noxfile.py (typecheck + ci sessions)
    - Swap mypy for pyright in type_check dependency group
    - Remove [tool.mypy] config section
    - Add [tool.pyright] with typeCheckingMode = "strict"
    - Update uv.lock
    
    The generated SDK passes pyright strict with 0 errors across 374 files.
    
    This also addresses #600 (SsoProviderType enum removal) — the emitter
    generates all spec enums as str/Enum classes, restoring attribute
    access (e.g., EnumName.VALUE) that was lost when v5 switched to
    Literal type aliases.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    gjtorikian and claude committed Mar 27, 2026
    Configuration menu
    Copy the full SHA
    6033b93 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2026

  1. Configuration menu
    Copy the full SHA
    39e7c78 View commit details
    Browse the repository at this point in the history
  2. fix: resolve 38 pre-existing pyright errors in tests and fixtures

    - Add pyrightconfig.json to configure pyright for this codebase
    - Fix test type errors with proper annotations and constructors
    - Fix dead assertions in test_audit_logs.py
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    claude authored and gjtorikian committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    33e6aec View commit details
    Browse the repository at this point in the history
  3. fix: set asyncio_default_fixture_loop_scope to silence deprecation wa…

    …rning
    
    Future pytest-asyncio versions will default async fixture loop scope to
    "function". Set it explicitly to avoid surprises on upgrade.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    claude authored and gjtorikian committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    f2196c1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6e0b60f View commit details
    Browse the repository at this point in the history
  5. update dependencies

    gjtorikian committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    7184dd2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f57e7cc View commit details
    Browse the repository at this point in the history
  7. remove legacy types/, compat layer, and handwritten service modules

    Delete the entire legacy stack that the generated code replaces:
    
    - All 10 _compat.py bridge files
    - All handwritten service modules (sso.py, connect.py, etc.)
    - Old client.py, async_client.py, _base_client.py, _client_configuration.py
    - Entire types/ directory (~170 files of Pydantic models)
    - typing/ directory (legacy type helpers)
    - utils/ directory (legacy HTTP client, request helpers)
    - exceptions.py (replaced by _errors.py)
    - All legacy test files and fixtures
    
    The generated _resource.py + _client.py + models/ are now the sole
    implementation. Update __init__.py to export from the generated
    _client.py. Add new conftest.py with workos/async_workos fixtures
    for the generated test suite.
    
    436 tests pass, 0 failures.
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    gjtorikian and claude committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    dab75bd View commit details
    Browse the repository at this point in the history
  8. remove pydantic

    gjtorikian committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    1516214 View commit details
    Browse the repository at this point in the history
  9. Rewrite CLAUDE.md

    gjtorikian committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    fda2f5e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    567c606 View commit details
    Browse the repository at this point in the history
  11. Add generated SDK modules with hand-maintained fixes

    - Add all auto-generated resource modules, models, types, and tests
    - Add verify_event/verify_header back to Webhooks as @oagen-ignore methods
    - Add list_connections/get_connection/delete_connection to SSO as @oagen-ignore methods
    - Rename organizations update_organization→update, delete_organization→delete
    - Fix docstring exception names (*Error→*Exception) across all resource files
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
    gjtorikian and claude committed Mar 31, 2026
    Configuration menu
    Copy the full SHA
    603f860 View commit details
    Browse the repository at this point in the history
Loading