Show HN: A local Python prototyping tool for Jupyter and Streamlit (github.com)
Hey HN! I built a local Python prototyping tool that is finally the Python development environment I've always wanted.
It has a Jupyter notebook for data crunching, a database of your choice (Python or MongoDB), and a Streamlit app for building a frontend visualization. You can edit the Streamlit backend via an embedded VSCode editor, or locally on your own IDE.
The best part for me is that the database connectors within Jupyter and Streamlit are configured out-of-the-box, so you don't need to spend time thinking about how to tie all that together - you can just pick the database you want to use and get going.
Disclaimer: I do also work on the tool that deploys all this under the hood, but this project is a personal hackweek project that I threw together so I could develop Python apps on my own
5 comments
[ 2.0 ms ] story [ 36.2 ms ] threadIs it the one step docker deploy?
Could you talk about the pain of the alternative solution a bit more?
The advantage is that you automatically get pre-loaded PyMongo or SQLAlchemy clients in your Jupyter environment, with connection URLs correctly configured to your database. You also get the same in the Streamlit app.
If you have a static dev database that you always use/maintain, and you're comfortable with your connectors, then you probably don't find a lot of value in that. But if you're like me and you always have to look up how to configure the network connections through the docker network + exposed ports, and you're never sure how to construct the connection URL and configure the default clients, then that stuff comes right out of the box.
I think these things are most useful for me in the "proof-of-concept" stage where I'm just starting a new data engineering idea from scratch and I want a brand new database.
Going along those lines - I'm going to add elasticsearch next, because I always want that search functionality over text but always feel like its hard to spin up and connect to
Efforts to make it easier to munge and visualise data are something I really appreciate (this reminds me of https://livebook.dev/ in a couple of ways).
I did not know about Streamlit either, will use it for sure!
So thank you :-)