Live data from Hacker News

Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

news.ycombinator.com

301–310 of 329 posts

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#301

I don't want to downplay the library, but how hard is Javascript/HTML for the majority of python programmers? You might not make the most beautiful websites, but you can make a functional website if what you're displaying is primarily data to users because you're doing big data/AI and so forth and not setting up a consumer facing marketing platform. What's the use case here?

As someone who is good at Python but knows nearly nothing about javascript:

Very hard. Of course I can just write everything into a big js file, but if you want to structure things, it's hard. You have to learn all about this NPM and NODE stuff, learn how to refresh and debug things.

And if you make the tiniest mistake, this thing will not crash with proper error messages like python.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#302

I get get benefit from it, and I saw what Dash and plotly can do for people with a bit of Python and a need for a quick UI. So I get the point of the project, I can see a mathematicians getting value out of this. Still, I would advice against using this for anything else than a small project (in the current state): - any action your perform means a round trip to the server. This is why the counter seems so slow. Ever…

> any action you perform means a round trip to the server

Meaning your server-side app is not stateless? Is there an instance for every client?

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#303
I'm extremely familiar with both Plotly Dash and Streamlit, two frameworks which accomplish the same thing. How does this compare?

Please please tell me you're aware of those two and didn't build this unaware of those options.

Background: I was commissioned by a previous employer to fork Plotly Dash and build a drag and drop BI tool with it.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#304
Seems nice, but also very basic. From what i've seen in the examples, the components lack any deeper interaction-ability. Tables seems to lack editing, or any more complex filtering. There is no tree-component (heck, why are all those framework lacking trees?) or any kind of drag n'drop-support. And so on... So seems to be more for creating basic forms and documents, not a state-of-the-art web app.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#305

Earlier quoted context omitted.

Our goal is for the user to never have to see JS. We try to catch most errors in Python during compile time. We're also not trying to reinvent things like CSS styles, just make them accessible in Python.

That's not gonna happen if they have to solve browser runtime errors. And with there being so much variance between browsers and random nonsense to hack around, how can you possibly get around that? Besides, python and js are so similar it's really funny to see people not wanting to use one but cling to the other.

The available libraries are quite different between the two languages.

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#306
post #259

Earlier quoted context omitted.

There are a few others - https://pynecone.io/docs/library/forms/slider for example

Using the top slider on that page, try dragging the slider back and forth quickly. Random numbers will pop up at 500ms(?) intervals. When you let go of the slider it will keep updating with random numbers for a long time (I watched it go for 30 seconds). > For performance reasons, you may want to trigger state change only when the user releases the slider. Not a great workaround, now I can't see the number I'm select…

It just desperately needs some debouncing..

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#307
post #24

Earlier quoted context omitted.

Huh it totally is. https://pynecone.io/docs/state/overview outlines that is the case but leaves out the detail that it's using Socket.io. Gather if you want to use this then and have it not suck you are going to need some form of edge compute.

Wait, it can't generate static sites? This is gonna melt if more than a few hundred users join. Python's socket.io implementation is slow at best.

Something tells me it's not designed for hundreds of users and more like "Here is my data-scientist quasi-code thing and I want a web interface for it to show the non-code folk in my business unit".

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#308
post #54

My only interaction in this space is helping out a friend of mine with Streamlit. I'm surprised you haven't mentioned anything about it in your HN comment, given it seems, at least on the face of it, extremely similar. Are you able to go into a bit more detail about why Pynecone and not others? Did you ever consider contributing to Streamlit instead or forking it? if so, why didn't that work out? What do you do bette…

We didn't consider forking it because our architecture if fundamentally different. This allows us to customize our apps more and make larger apps. We compile down to a react/next app vs streamlit who uses tornado and has to re-render based on changes to the app. I think the idea's behind the projects are a little different. Streamlit - small data science apps vs Pynecone - A more generalized framework to built a broa…

Thanks! I asked a question and now see you had already answered it.

For those who are curious why these frameworks are great:

I'm an experienced full stack developer, and I can write React apps in my sleep and I've used a bunch of different state management frameworks including redux/mobx/etc, but my current startup is a back-end API as a service company and I simply don't have the time to hand-code front-ends with whatever flavor of the month developments in the JS front-end ecosystem.

Frankly, I'm sick and tired of the entire front-end ecosystem. It changes too fast for very little gain. So so so so many new tools that empower you but then come with baggage. I don't want to deal with it for some internal apps or basic things like allowing my customers to check their usage balances.... this looks promising!

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#309

I'm not exaggerating but this might just be the highest impact library I've seen. As a backend developer who has lots of great project ideas but bail at the thought of having to use JavaScript and HTML, this library is a godsend! My only question is why it took so long for someone to implement it? And where are the equivalent libraries for Go, Rust and Java?

Nope, but something better, e.g. Leptos for Rust which enables you to write Rust code and RsX (JsX equivalent) that runs on the server until all WASM is loaded to run it in the browser

Re: Launch HN: Pynecone (YC W23) – Web Apps in Pure Python

#310
post #307

Earlier quoted context omitted.

Wait, it can't generate static sites? This is gonna melt if more than a few hundred users join. Python's socket.io implementation is slow at best.

Something tells me it's not designed for hundreds of users and more like "Here is my data-scientist quasi-code thing and I want a web interface for it to show the non-code folk in my business unit".

Fair enough, that does seem like the most common use case.
Post reply on HN