Launch HN: Pynecone (YC W23) тАУ Web Apps in Pure Python
532 by picklelo | 310 comments on Hacker News.
Hi! WeтАЩre Nikhil and Alek, founders of Pynecone ( https://pynecone.io ), an open source framework to build web apps in pure Python. This can be anything from a small data science/internal app to a large multi-page web app. Once your app is built, you can deploy your app with a single command to our hosting service (coming soon!), or self-host with your preferred provider. Our Github is: https://ift.tt/Pv7ojGT Python is one of the most popular programming languages in the world. Webdev is one of the most popular applications of programming. So why canтАЩt we make full-stack web apps using just Python? We worked in the AI/infra space and saw that even skilled engineers who wanted to make web apps but didnтАЩt know traditional frontend tools like Javascript or React found it overwhelming and time consuming to learn. On the other hand, no code and low code solutions that save time in the development process lack the flexibility and robustness of traditional web development. These tools are great for prototyping, but they can be limiting as your app becomes more complex. We wanted to build a framework that is easy to get started with, yet flexible and powerful enough so you donтАЩt outgrow it. Our main website is fully built with Pynecone and deployed on our hosting service. In Pynecone, the frontend compiles down to a React/NextJS app, so from the end-userтАЩs perspective it looks like any other website. We have 60+ built-in components ranging from forms to graphing. Components are defined as Python functions. They can be nested within each other for flexible layouts, and you can use keyword args to style them with full CSS. We also provide a way to easily wrap any existing React component. Our goal is to leverage the existing webdev ecosystem and make it accessible to Python devs. The app state is just a class. State updates are functions in the class. And the UI is a reflection of the state. When the user opens the app, they are given a unique token and a new instance of the state. We store user state on the backend, and use Websockets to send events and state updates. When a user performs an action, such as clicking a button, an event is sent to the server with the client token and the function to handle the event. On the server side, we retrieve the user's state, execute the function to update the state, then send the updated state back to the frontend for rendering. Since Pynecone is 100% Python, you can easily integrate all your existing Python libraries into your app. In the future, we hope to leverage WebAssembly to offload many operations to the client. Once your app is built, the next big challenge is deploying it. WeтАЩre building a single-line deploy, so you can type pc deploy and get a URL of your live app in minutes. Since we specialize in hosting a single type of app, we aim to provide a zero configuration deployment process. We are still working on releasing the hosting service, but you can sign up for its waitlist on our homepage. Alternatively, you can choose to host your app with your preferred cloud provider. Things users have built with Pynecone so far include internal apps ranging from CRM to ML tools, UIs for LLM apps, landing pages, and personal websites. If you use Python, we would love to hear your thoughts and feedback in the comments!
New best story on Hacker News: FBI arrests judge accused of helping man evade immigration authorities
FBI arrests judge accused of helping man evade immigration authorities 868 by eterps | 726 comments on Hacker News.
-
рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрд╡рд░реАрд▓ рдЕрдорд╛рдиреБрд╖ рдЕрддреНрдпрд╛рдЪрд╛рд░ тАУ рдореБрдЦреНрдпрд╛рдзреНрдпрд╛рдкрдХ рд╡ рдЕрдзреАрдХреНрд╖рдХрд╛рд╡рд░ рдЧреБрдиреНрд╣рд╛ рджрд╛рдЦрд▓ рдХрд░реВрди рддрд╛рддреНрдХрд╛рд│ рдХрд╛рд░рд╡рд╛рдИ рдХрд░рд╛. рдЖрджрд┐рд╡рд╛рд╕реА рдЯрд╛рдпрдЧрд░ рд╕реЗрдиреЗрдЪреЗ рдЪрдВрджреНрд░рдкреВрд░ рдЬрд┐рд▓реНрд╣рд╛ рдЙрдкрд╛рдз...
-
рдпреЗрдиреНрд╕рд╛ рдпреЗрдереАрд▓ рдЕрдкрдШрд╛рддрд╛рдд рдореВрддреНрдпреБрдВрдореБрдЦреА рдорд╣рд┐рд▓рд╛рдЪреНрдпрд╛ рд╡рд╛рд░рд╕рд╛рдирд╛ 5 рд▓рд╛рдЦрд╛рдЪреА рдЖрд░реНрдерд┐рдХ рдорджрдд рдХрд░рд╛ рддреБрд▓рд╕реА рдЕрд▓рд╛рдо рд╡рд░реЛрд░рд╛ рд╢рд╣рд░рд╛рддреАрд▓ рдмрд╛рд╡рдгреЗ рд▓реЗрдЖрдКрдЯ рд╡ рдХрд╛реЕрд▓рд░реА рд╡реЙрд░реНрдб...
-
рдкрд╛рд╡рдирд╛ (рд░реИ)рдпреЗрдереЗ рдЧреЛрдВрдбреА рдзрд░реНрдо рдкреНрд░рдмреЛрдзрди рдореЗрд│рд╛рд╡рд╛. рдЧреЛрдВрдбреА рдкрд╛рд░рдВрдкрд░рд┐рдХ рдиреВрддреНрдп рддрдерд╛ рдЧреЛрдВрдбреА рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рдбрд╛рдБрдиреНрд╕ рдиреВрддреНрдп рд╕реНрдкрд░реНрдзреЗрдЪреЗ рдЖрдпреЛрдЬрди. рднрджреНрд░рд╛рд╡рддреА(рджрд┐ .3...