Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: A local Python prototyping tool for Jupyter and Streamlit (github.com/galenmarchetti)
65 points by galenmarchetti on Oct 27, 2023 | hide | past | favorite | 5 comments
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




I'm comfortable installing jupyter and databases on my machine. What's the advantage of this approach?

Is it the one step docker deploy?

Could you talk about the pain of the alternative solution a bit more?


Hey Paddy, sure thing! I'll share some thoughts here and see if I can add it to the repo, too, so that other people can see it.

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


Really appreciate the level of description you have put in the readme, thanks!

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 :-)


Is it possible to provide Gradio apps as an option?


Ooo I think I can do that. Would probably take a week or two to get the time to add, but looks pretty straightforward. great idea




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: