Skip to content

[codex] experimental python 3.14t feature server#6334

Draft
franciscojavierarceo wants to merge 1 commit intofeast-dev:masterfrom
franciscojavierarceo:codex/experimental-python314t-feature-server
Draft

[codex] experimental python 3.14t feature server#6334
franciscojavierarceo wants to merge 1 commit intofeast-dev:masterfrom
franciscojavierarceo:codex/experimental-python314t-feature-server

Conversation

@franciscojavierarceo
Copy link
Copy Markdown
Member

What this changes

This PR adds an experimental Python 3.14 free-threaded feature server container and a benchmark harness for comparing it against the current image.

It also trims eager pandas imports from the read-serving startup path so the experimental server can boot without immediately falling back to GIL-protected native modules.

Highlights

  • adds a python314t experimental feature-server Dockerfile and requirements set
  • adds a benchmark script for stable vs experimental feature-server comparisons
  • updates build targets and Docker context handling for the experimental image
  • lazy-loads pandas and related offline-only paths across the serving startup path
  • updates the feature-server and development docs to describe the experimental image, benchmarking workflow, and current SQLite-oriented scope

Why

We want a safe, clearly labeled place to evaluate whether free-threaded Python can improve feature-server performance without changing the default production image.

The import cleanup is part of making that experiment meaningful: the server startup path should avoid importing pandas unless an endpoint or workflow actually needs it.

Validation

  • python3 -m py_compile on the touched Python modules
  • ruff check on the benchmark script and lazy-import follow-up fixes
  • built feastdev/feature-server:local-b15df7901-python314t-experimental
  • verified import feast.feature_server in the experimental image leaves pandas unloaded
  • started the experimental server against the SQLite sample repo and confirmed the health check succeeds

Notes

  • this remains an experimental path and is documented as such
  • the broader FeatureStore offline path still imports pandas through offline-store modules, so this PR focuses on the feature-server startup path rather than the entire runtime graph

@franciscojavierarceo franciscojavierarceo force-pushed the codex/experimental-python314t-feature-server branch from d63983d to d11da07 Compare April 26, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant