bug: `/api/v1` returns 404 on feast UI
Expected Behavior
Running feast ui and navigating to http://0.0.0.0:8888 should load data from the feature store successfully.
In particular, this works on 0.63.0
❯ uvx 'feast[mysql,gcp]==0.63' ui Installed 96 packages in 266ms /Users/jacobbush/.cache/uv/archive-v0/H_s47SDJvNttrTnFOEpMY/lib/python3.13/site-packages/feast/ui_server.py:45: DeprecationWarning: on_event is deprecated, use lifespan event handlers instead. Read more about it in the [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). @app.on_event("shutdown") /Users/jacobbush/.cache/uv/archive-v0/H_s47SDJvNttrTnFOEpMY/lib/python3.13/site-packages/fastapi/applications.py:4598: DeprecationWarning: on_event is deprecated, use lifespan event handlers instead. Read more about it in the [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/). return self.router.on_event(event_type) # ty: ignore[deprecated] /Users/jacobbush/.cache/uv/archive-v0/H_s47SDJvNttrTnFOEpMY/lib/python3.13/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions warnings.warn( # deprecated in 14.0 - 2024-11-09 /Users/jacobbush/.cache/uv/archive-v0/H_s47SDJvNttrTnFOEpMY/lib/python3.13/site-packages/uvicorn/protocols/websockets/websockets_impl.py:17: DeprecationWarning: websockets.server.WebSocketServerProtocol is deprecated from websockets.server import WebSocketServerProtocol INFO: Started server process [53505] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8888 (Press CTRL+C to quit) INFO: 127.0.0.1:57256 - "GET /projects-list.json HTTP/1.1" 200 OK INFO: 127.0.0.1:57256 - "GET /registry HTTP/1.1" 200 OK INFO: 127.0.0.1:57257 - "GET /registry HTTP/1.1" 200 OK ^CINFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [53505]
Current Behavior
We get "GET /api/v1 HTTP/1.1" 404 Not Found and no features are loaded.
❯ uvx 'feast[mysql,gcp,grpcio]==0.64' ui Installed 98 packages in 213ms /Users/jacobbush/.cache/uv/archive-v0/fq4ZGscWWKwrMSlB-5Oxk/lib/python3.13/site-packages/websockets/legacy/__init__.py:6: DeprecationWarning: websockets.legacy is deprecated; see https://websockets.readthedocs.io/en/stable/howto/upgrade.html for upgrade instructions warnings.warn( # deprecated in 14.0 - 2024-11-09 /Users/jacobbush/.cache/uv/archive-v0/fq4ZGscWWKwrMSlB-5Oxk/lib/python3.13/site-packages/uvicorn/protocols/websockets/websockets_impl.py:17: DeprecationWarning: websockets.server.WebSocketServerProtocol is deprecated from websockets.server import WebSocketServerProtocol INFO: Started server process [55591] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8888 (Press CTRL+C to quit) INFO: 127.0.0.1:57343 - "GET /projects-list.json HTTP/1.1" 200 OK INFO: 127.0.0.1:57343 - "GET /api/v1 HTTP/1.1" 404 Not Found INFO: 127.0.0.1:57343 - "GET /api/v1 HTTP/1.1" 404 Not Found ^CINFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [55591]
Steps to reproduce
uvx 'feast[grpcio]==0.64' init feast_0_64_ui_404_bugcd feast_0_64_ui_404_bug/feature_repouvx 'feast[grpcio]==0.64' applyuvx 'feast[grpcio]==0.64' ui- Navigate to http://0.0.0.0:8888
Specifications
- Version: 0.64.0
- Platform: MacOS
- Subsystem: Tahoe 26.3.1 (a)
Possible Solution
Feast UI was refactored in this PR which is where I assume this was introduced.

