pypi auth0-python 5.0.0

11 hours ago

Release v5.0.0 🎉

Overview

This PR prepares the stable v5.0.0 release of the Auth0 Python SDK - a complete rewrite with significant improvements and breaking changes from v4.x.

Changes in this PR

  • Updated .version file from 5.0.0b0 to 5.0.0
  • Updated pyproject.toml package version to 5.0.0
  • Added comprehensive v5.0.0 release notes to CHANGELOG.md
  • Updated README.md with v5.0.0 installation instructions

What's New in v5.0.0

⚠️ BREAKING CHANGES - Major Rewrite

This is a complete rewrite of the Auth0 Python SDK with significant breaking changes from v4.x. Users will need to update their code when migrating from v4.x to v5.0.0.

Added Features

  • New Fern-generated SDK: Complete Management API rewrite generated from Auth0's OpenAPI specifications
  • Hierarchical package structure: Organized Management APIs into logical sub-clients for better discoverability
  • Strongly typed interfaces: Pydantic models provide specific request/response types replacing generic dictionaries
  • Automatic token management: Built-in client credentials handling with automatic token refresh
  • Enhanced pagination: New SyncPager and AsyncPager classes for easy iteration over paginated results
  • First-class async support: Full async/await support with AsyncManagementClient
  • Better IDE support: Improved code completion, type hints, and inline documentation

Key Breaking Changes

  • Import paths changed from from auth0.management import Auth0 to from auth0.management import ManagementClient
  • Client initialization changed from Auth0(domain, management_token) to ManagementClient(domain, client_id, client_secret) with automatic token management
  • Response types changed from dictionaries to Pydantic models (use .model_dump() to convert back to dict)
  • Method organization changed from flat (client.users.list()) to hierarchical where applicable
  • Pagination parameters changed - some endpoints use per_page, others use take
  • Python version requirement increased from ≥3.7 to ≥3.8
  • Error handling changed from Auth0Error to ApiError base class

Migration Example

Before (v4):

from auth0.management import Auth0

# Initialize with management token
mgmt = Auth0(
    domain='your-tenant.auth0.com',
    token='YOUR_MGMT_API_TOKEN'
)

# List clients - returns list of dicts
clients = mgmt.clients.all()

for client in clients:
    print(client['name'])  # Dictionary access

After (v5):

from auth0.management import ManagementClient

# Initialize with client credentials (automatic token management)
client = ManagementClient(
    domain='your-tenant.auth0.com',
    client_id='YOUR_CLIENT_ID',
    client_secret='YOUR_CLIENT_SECRET'
)

# List clients - returns SyncPager of Pydantic models
clients = client.clients.list(per_page=50)

for client_obj in clients:
    print(client_obj.name)  # Pydantic model attribute access

    # Convert to dict if needed
    client_dict = client_obj.model_dump()

Important Notes

  • ✅ The authentication package is NOT affected by these changes. Authentication APIs remain the same between v4 and v5.
  • 📚 Complete migration guide available at v5_MIGRATION_GUIDE.md
  • 🎯 This is the stable GA release following v5.0.0-beta.0
  • 🔧 Auth0 telemetry headers implemented with dynamic versioning (no manual updates needed)
  • 📖 Full API reference available at reference.md

Testing

  • ✅ All 389 wire tests passing
  • ✅ Integration tests verified with live Auth0 tenant
  • ✅ Both Authentication and Management APIs tested successfully
  • ✅ Async clients tested and verified

Don't miss a new auth0-python release

NewReleases is sending notifications on new releases.