build: support python 3.13 (#8965)

* support python 3.13

* release note

* add python version info to contributing guide

* better explanation
This commit is contained in:
Stefano Fiorucci 2025-03-05 10:49:10 +01:00 committed by GitHub
parent e33a9e46ed
commit 10f11d40d4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 1 deletions

View File

@ -147,6 +147,10 @@ next contribution!
### Setting up your development environment
*To run Haystack tests locally, ensure your development environment uses Python >=3.9 and <3.13.*
Some optional dependencies are not yet compatible with Python 3.13
(see [this PR](https://github.com/deepset-ai/haystack/pull/8965) for details).
Haystack makes heavy use of [Hatch](https://hatch.pypa.io/latest/), a Python project manager that we use to set up the
virtual environments, build the project, and publish packages. As you can imagine, the first step towards becoming a
Haystack contributor is installing Hatch. There are a variety of installation methods depending on your operating system

View File

@ -8,7 +8,7 @@ dynamic = ["version"]
description = "LLM framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data."
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.8,<3.13"
requires-python = ">=3.8"
authors = [{ name = "deepset.ai", email = "malte.pietsch@deepset.ai" }]
keywords = [
"BERT",
@ -39,6 +39,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [

View File

@ -0,0 +1,9 @@
---
enhancements:
- |
Haystack now officially supports Python 3.13.
Some components and integrations may not yet be compatible.
Specifically, the `NamedEntityExtractor` does not work with Python 3.13 when using the `spacy` backend.
Additionally, you may encounter issues installing `openai-whisper`, which is required by the
`LocalWhisperTranscriber` component, if you use `uv` or `poetry` for installation.
In this case, we recommend using `pip` for installation.