-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap: run only in browser with no required python backend #107
Description
Right now, Texture is built around having a python FastAPI backend that holds the data, executes all queries, and is called by the frontend. This isn't totally necessary, and ties the interface to the python backend making it harder to deploy.
I think a better system would be to take an approach similar to mosaic (https://uwdata.github.io/mosaic/server/) where the backend can be totally in browser with duckdb wasm, etc, OR can make calls to a python server.
Rewrite to be in TS
To start making this, I think would require the following steps to get rid of the python backend
- The main server file is in server.py (https://github.com/cmudig/Texture/blob/main/texture/server.py) which has a couple of core components that would need to be moved to be frontend only:
- Duckdb queries
- Lancedb queries for vector search
- OpenAI queries for LLMs (separate issue is ability to connect to custom LLM for transforms)
I suspect there's probably some code cleanup that would need to happen to have a consistent API that can be implemented by a backend "client" that is either only in javascript, or could be in Python, etc