Skip to content

Releases: openapi/openapi-python-sdk

Openapi® Python SDK v0.3.0

12 May 08:25
21248d6

Choose a tag to compare

Release 0.3.0 — Openapi® Python SDK Evolves

The 0.3.0 release of the Openapi® Python SDK introduces powerful new features, critical bug fixes, and significant stability improvements that make it even easier to build robust and reliable API clients.

🚀 New Features

  • Async Support & Context Managers: Full httpx-based async client support with context manager support for all clients, enabling modern asynchronous Python workflows.
  • Configurable Timeouts: Added configurable 30-second default timeouts for both sync and async clients, with the ability to customize timeout values during OAuth client initialization.
  • Thread-Safe OAuth Client: OauthClient is now thread-safe using threading.local, allowing shared instances across multiple threads without conflicts.
  • Custom HTTP Client Injection: Advanced users can now inject custom HTTP clients for tailored transport layers and retry configurations.
  • Refactored Architecture: Client classes have been extracted into separate module files without breaking the existing API, improving maintainability and clarity.

🔧 Bug Fixes

  • Query Parameter Encoding: Fixed an issue where special characters in query parameters caused 400 Bad Request errors by properly encoding them with urllib.
  • Linting & Tests: Resolved ruff formatting issues and cleaned up unused variables in test suites.

🧪 Quality & Testing

  • Added a comprehensive thread-safety verification suite for synchronous clients.
  • Updated documentation with examples for configuring network timeouts and customizing transport layers.

🎯 Why This Matters

  • Safer concurrent usage with thread-safe OAuth handling.
  • Greater control over network behavior with configurable timeouts and custom HTTP clients.
  • More predictable request handling with properly encoded query parameters.
  • Cleaner codebase architecture for easier future contributions.

🙏 Special Thanks

A huge thank you to @Deadpool2000 for their outstanding contributions to this release. Their work on thread-safety, configurable timeouts, custom HTTP client support, query parameter encoding fixes, and overall code quality has been invaluable. This release would not have been possible without their dedication and effort.

🚀 Looking Ahead

Version 0.3.0 marks another major step toward a more mature and developer-friendly Python SDK. Future releases will continue to focus on performance enhancements, broader interoperability, and even more seamless developer experiences.

Openapi® Python SDK v0.2.0

18 Mar 10:42

Choose a tag to compare

Release 0.2.0 — Openapi® Python SDK Evolves

The 0.2.0 release of the Openapi® Python SDK introduces improved stability, better consistency, and key enhancements that make it easier to build and maintain robust API clients.

🧱 Stability and Reliability

  • Fixed minor bugs and addressed compatibility issues to ensure more predictable behavior across different environments.
  • Improved error handling and data validation to reduce runtime issues and unexpected edge cases.

🌍 Consistency and Interoperability

  • Updated the Python SDK to better align with other language implementations.
  • Client structures and data models now more closely follow OpenAPI standards, simplifying cross-language integration.

🧩 Developer-Focused Enhancements

  • Improved support for type hints and JSON serialization.
  • Refactored modules to better separate business logic from HTTP request handling.
  • Added helper utilities to simplify client extension and customization.

🎯 Why This Matters

  • Provides a stronger foundation for building reliable API integrations, reducing debugging time.
  • Helps maintain consistency between Python projects and other OpenAPI SDKs.
  • Establishes a clean and extensible base for future development.

🚀 Looking Ahead

Version 0.2.0 marks an important step toward a more mature and cohesive Python SDK. Future releases will continue to focus on performance, usability, and interoperability across all supported languages.