Spaces:
Sleeping
Sleeping
Download backend/visual_notebook/api/deps.py from Sid-WC121/visual-notebook: direct link, hf CLI and curl.
- Browser
- Download file 940 Bytes
-
https://huggingface.co/spaces/Sid-WC121/visual-notebook/resolve/main/backend/visual_notebook/api/deps.py
- Command line
-
hf download hf://spaces/Sid-WC121/visual-notebook/backend/visual_notebook/api/deps.py
-
curl -L -o deps.py https://huggingface.co/spaces/Sid-WC121/visual-notebook/resolve/main/backend/visual_notebook/api/deps.py
940 Bytes
| """FastAPI dependency injection.""" | |
| from __future__ import annotations | |
| from fastapi import Depends, Request, HTTPException | |
| from visual_notebook.session import Session, SessionStore | |
| def get_session_store(request: Request) -> SessionStore: | |
| return request.app.state.session_store | |
| def get_duckdb_con(request: Request): | |
| return request.app.state.duckdb_con | |
| def get_session( | |
| request: Request, | |
| store: SessionStore = Depends(get_session_store), | |
| con=Depends(get_duckdb_con), | |
| ) -> Session: | |
| session_id = request.cookies.get("session_id") | |
| session = store.get_or_create(session_id, con) | |
| return session | |
| def get_current_ref(session: Session = Depends(get_session)): | |
| if session.current_ref is None: | |
| raise HTTPException(status_code=400, detail="No dataset loaded. Upload a CSV first.") | |
| return session.current_ref | |
| def get_history(session: Session = Depends(get_session)): | |
| return session.history | |