Skip to content

Adopt Python 3.10 in the Haystack ecosystem #10268

@anakin87

Description

@anakin87

As part of the move to Python 3.10, we plan to:

  • testing with 3.10 on CI
  • dropping 3.9 from pyproject
  • adopting X|Y typing syntax (PEP604) while maintaining compatibility with previous syntax

What this means for the ecosystem 👇

Haystack (#9854)

Haystack Core integrations

Notes:
The last two tasks can be done together. Since the X|Y typing syntax will only be supported starting from 2.22.0, this implies for each integration we should:

  • open an update PR
  • merge it
  • release a new major version that pins haystack-ai>=2.22.0

Haystack Experimental

Notes:

  • After completing the first step, it is possible that tests against Haystack main may fail. This could happen because some components overridden in Experimental might rely on the new typing syntax introduced in Haystack. If this happens, I would keep these failures until 2.22.0 release.
  • The second and the third step can be done together. I propose not pinning a specific version of Haystack in Experimental. While more precise, this could worsen cyclic dependency (Haystack depends on Experimental, which depends on Haystack), leading to fragile/confusing dependency resolution, as we have seen in the past.

Metadata

Metadata

Assignees

Labels

P1High priority, add to the next sprint

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions