SDKs
Poetry 2.0 and Python 3.10 Updates
This guide covers important updates to the Python SDK generation process related to Poetry 2.0 and Python 3.10 requirements.
Changes overview
Section titled “Changes overview”To evolve with the Python ecosystem and maintain compatibility with current tooling, the Python SDK generation process implements two significant changes:
- The minimum Python version for generated Python SDKs changes from 3.9 to 3.10.
- Poetry packaging tool updates to version 2.0.0.
Python 3.10 requirement
Section titled “Python 3.10 requirement”Python 3.9 reached end-of-life (EOL) status in October 2025 and the Python language maintainers no longer support it for security and bug fixes.
The key type safety tools used in the Speakeasy generation process have begun removing Python 3.9 support:
Poetry 2.0 update
Section titled “Poetry 2.0 update”The Poetry version 2.0.0 release introduces breaking changes to CLI commands used in the generation process, affecting compatibility with version 1.x. By default, Poetry is installed at the latest version when following the documented installation options.
Local development updates
Section titled “Local development updates”API producers running generation locally need to update Poetry to the new major version. The update process depends on the installation method:
# If installed via pipxpipx upgrade poetry
# If installed via the official installerpoetry self updateIf Poetry is not updated, the generator will output a dependency version error:
WARN can't compile - Dependency Version Mismatch - Install Poetry by following the instructions at https://python-poetry.org/docs/#installing-with-pipx.ERROR dependency version not met -- poetry - version 1.8.5 is less than required version 2.0.0FATAL Failed to generate SDK to XXXGitHub Actions configuration
Section titled “GitHub Actions configuration”API producers using GitHub Actions (speakeasy-api/sdk-generation-action@v15) with the latest Speakeasy version will have Poetry automatically updated. No changes are needed for the most common usage.
If the Speakeasy version is pinned to an older version, add the poetry_version input to the repository’s workflow configuration to pin Poetry to the older major version:
uses: speakeasy-api/sdk-generation-action@v15with: # ... other existing inputs ... poetry_version: "1.8.5"Version update considerations
Section titled “Version update considerations”Consistent with industry practice, the Speakeasy generator will suggest a minor version update for the generated SDK to reflect these Python changes. However, consider releasing the SDK as a major version update if API consumers are likely to be using Python 3.9, which was previously common for some data management SaaS platforms.
For questions, reach out on Slack.