# Compatibility of `derivepassphrase` with different Python versions ## Python 3.15 {#py3.15} Not yet supported as of April 2026, because our development infrastructure does not provide any installations of Python 3.15 to test on. ## Python 3.14 {#py3.14} Supported as of v0.5.1 (June 2025) without any known issues. ## Python 3.13 {#py3.13} Currently supported without any known issues. ### After end-of-life {#after-eol-py3.13} After Python 3.13 reaches end-of-life, future `derivepassphrase` versions may make use of the following Python functionality: * template strings The declared minimum required Python version will then be updated accordingly. ## Python 3.12 {#py3.12} Currently supported without any known issues. ### After end-of-life {#after-eol-py3.12} Python 3.13 does not offer significantly different functionality than Python 3.12. There are thus no plans to make use of additional functionality once Python 3.12 reaches end-of-life. ## Python 3.11 {#py3.11} Currently supported without any known issues. ### After end-of-life {#after-eol-py3.11} After Python 3.11 reaches end-of-life, future `derivepassphrase` versions may make use of the following Python functionality: * complex expressions in f-strings * type parameter syntax and the `type` statement The declared minimum required Python version will then be updated accordingly. ## Python 3.10 {#py3.10} Currently supported without any known issues. Some functionality requires backported libraries (`tomllib`/`tomli`). ### After end-of-life {#after-eol-py3.10} After Python 3.10 reaches end-of-life, future `derivepassphrase` versions may make use of the following Python functionality: * exception groups * exception notes * [`contextlib.chdir`][] The declared minimum required Python version will be then updated accordingly. ## Python 3.9 {#py3.9} End-of-life since October 2025, but still supported at least until `derivepassphrase` v1.0, without any known issues. Some functionality requires backported libraries (`tomllib`/`tomli`). ### After end-of-life {#after-eol-py3.9} After Python 3.9 reaches end-of-life, future `derivepassphrase` versions may make use of the following Python functionality: * structural pattern matching (`match`/`case` blocks) * parenthesized `with` statements The declared minimum required Python version will be then updated accordingly. ## Python 3.8 and below {#py3.8-and-below} These versions were never explicitly supported, neither in CPython nor in PyPy. As of v0.6, Python 3.8 is known not to work due to standard library incompatibilities. ## PyPy As per the respective CPython version above.