> This page is for SDKs, version Current (default).
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 6.0.0

**`(break):`** The Python SDK generator reads configuration from [`sdk-config.yml`](/learn/sdks/reference/sdk-config) instead of `generators.yml`. Run `fern sdk migrate` to create `sdk-config.yml` from your existing configuration. 6.0.0 is also the minimum version for generating Python SDK Config targets locally.

This release changes the generated SDK. See the [Python v6 migration guide](/learn/sdks/legacy/generators/migration-guides/python-v6) for details and code updates:

* Models and errors are imported from `.models` and `.errors`.
* `request_options` becomes `request_config`.
* Pagers no longer expose a page object.
* The client uses `requests`, and two constructor parameters are removed.
* Timeouts and connection failures raise SDK errors.
* Undeclared enum values raise a validation error.
* Array parameters are serialized in their declared style.
* Retries are configured with a `retry` dict.
* Multipart uploads can't set the part filename.
* Server-sent events are parsed frame by frame.
* Each security scheme has a constructor parameter, and resource clients have their own credential setters.
* File downloads return `bytes`.
* Each declared status has its own response type.
* Text and XML request bodies are sent.
* Cookie parameters are method arguments.
* OAuth client credentials are handled by the client.
* Configuration can be scoped.
* Models are mutable.
* Raw responses are available on every client and page.
* WebSocket channels change: the environment has no socket addresses, the credential isn't read from an environment variable, some connect parameter types change, control-frame types are merged, and received frames are typed.