Skip to main content

Changelog #7 - Python SDK Ergonomic Improvement and non-SDK Snippets in API Portal

· 2 min read

Banner

Python SDK Ergonomic Improvement

We improved the Python SDK to return Pydantic-based response values which allows for using the __getattr__. This is slightly more concise than the previous version, which used the __getitem__ syntax to access response values.

Before

Previously, you had to use the [] syntax to access response values. This required a little more code for every property access.


_10
response = client.store.place_order(quantity=1000)
_10
print(response.body["order_id"])

After

With Pydantic-based response values, you can use the . syntax to access. This is slightly less verbose and looks more Pythonic.


_10
response = client.store.place_order(quantity=1000)
_10
print(response.order_id)

Notice how there is also no need to use the body attribute to access the response body. All new Python SDKs will be using this new syntax.

We will not be updating previously generated Python SDKs to use this new syntax to ensure backwards compatibility.

Non-SDK Snippets in API Portal

Non-SDK Snippets
Example of generated snippet for using cURL

The API Reference page now generates non-SDK code snippets for cURL and other languages that do not have an SDK. This allows developers to quickly generate, copy, and paste code snippets regardless of whether or not there is an SDK for your language.

Improvements and Fixes
  • Redesigned our landing page https://konfigthis.com
  • Add filterPaths configuration which allows you to automatically filter out paths from the generated SDKs
  • Allowed configuration of port for mock server
  • Restyled our documentation to be more consistent with our website
  • Add --skipDirtyGitCheck in konfig publish
  • Fixed OAuth Authentication Flow Java SDK
  • Allow configuration of token URL in Java SDK
  • Fixed generated tests in C# SDK
  • Fixed bug in TypeScript SDK when no models are specified in the OAS
  • Fixed apiKey being unnecessarily typed as required in TypeScript
  • Fixed reference links in Python SDK for https://pypi.org
  • Add option to force use Twine credentials for publishing in konfig publish
  • Fix dependency vulnerability in Python SDK
  • Fix dependency vulnerability in TypeScript SDK
  • Fixed scrollbar shifting layout in Windows for API Portal
  • Removed dependency on the validators package in Python SDK
  • konfig fix now removes trailing slash from server URLs
  • Internally: testing pipeline improvements to increase stability and quality of our SDKs (Blog post incoming!)