GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Replace ORJSONResponse with Pydantic response models for faster JSON serialization by ntkathole · Pull Request #6142 · feast-dev/feast

Conversation

@ntkathole

@ntkathole ntkathole commented Mar 23, 2026 •
edited by devin-ai-integration Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

What this PR does / why we need it:

  • Replace ORJSONResponse with Pydantic response_model on /get-online-features and /retrieve-online-documents endpoints, leveraging FastAPI's native Rust-based JSON serialization via Pydantic V2 for optimal performance
  • Remove orjson as a direct dependency from pyproject.toml (and regenerated lock files)
  • Fix Pixi deprecation warning by replacing [project] with [workspace] in infra/scripts/pixi/pixi.toml

FastAPI docs recommend using Pydantic response_model over custom response classes like ORJSONResponse for JSON serialization performance:

  • https://fastapi.tiangolo.com/advanced/custom-response/#orjson-or-response-model
  • https://fastapi.tiangolo.com/tutorial/response-model/#response-model-parameter

With response_model, FastAPI serializes directly to JSON bytes via Pydantic's Rust-based serializer skipping the jsonable_encoder intermediate step that ORJSONResponse still required. Pydantic V2 uses the same underlying Rust mechanisms as orjson, so this is at least as fast while also providing automatic response validation and OpenAPI schema documentation.

Which issue(s) this PR fixes:

Fixes #6139


Open with Devin

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@ntkathole ntkathole self-assigned this Mar 23, 2026
@ntkathole
ntkathole requested a review from a team as a code owner March 23, 2026 11:13
devin-ai-integration[bot]

This comment was marked as resolved.

Sign in to view

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ntkathole
ntkathole force-pushed the fix_orjson branch from 11325a4 to ea77832 Compare March 23, 2026 11:43
franciscojavierarceo
franciscojavierarceo approved these changes Mar 23, 2026
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@ntkathole ntkathole added the ok-to-test label Mar 23, 2026
@ntkathole
feat: Replace ORJSONResponse with Pydantic response models for faster…
e9a9612
… JSON serialization

Signed-off-by: ntkathole <[email protected]>
@ntkathole
ntkathole force-pushed the fix_orjson branch from ea77832 to e9a9612 Compare March 23, 2026 12:27
@ntkathole
ntkathole merged commit 65cf03c into feast-dev:master Mar 23, 2026
31 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@Zhuoxi2000 Zhuoxi2000 mentioned this pull request Oct 1, 2026
fix: Return feature_view_metadata from the REST feature server #6927
Merged
4 of 7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@devin-ai-integration devin-ai-integration[bot] devin-ai-integration[bot] left review comments
@franciscojavierarceo franciscojavierarceo franciscojavierarceo approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@ntkathole ntkathole

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

ORJSONResponse is deprecated

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@ntkathole @franciscojavierarceo
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.