Wow there's a surprising amount of negativity here.
I've used this for a fairly complex app at work and it's great. (It's certainly not vibe coded as one commenter suggested.) It's a Python layer on top of Flutter, and it was the only UI framework I could find for Python that was fast and worked on all major desktop and mobile OSs. I think maybe Kivy could too but it seemed like it would be an uphill struggle for a good desktop app.
It's a bit of a gateway drug for pure Flutter. If you need some complex, quickly updating control then you can write a Flutter control (in Dart) and wrap it in a Flet (for Python) control for better performance than doing it all in Python. I've ended up doing that for the main display in our app, and there's always the option to move more and more business logic into that.
One downside to Flet is that I wish they didn't try "fix" some design decisions in Flutter. For example, they have a Flet "Container" widget that wraps a bunch of different Flutter layout widgets. The Flet version does seem easier to understand to me, but there's just so much more documentation (and StackOverflow answers etc.) for Flutter than for Flet that it would be easier overall if they just mirrored the Flutter controls precisely.
WillAdams 5 hours ago [-]
I gave it a try, and the on-line studio managed to one-shot a convincing prototype of a type of drawing program which I've asked LLM App-Dev tools to create in the past and which heretofore, none has managed anything resembling a workable effort, so colour me impressed.
So, I've downloaded it, and unless I overcome a couple of hurdles in a current project in SpiderBasic, I know what I'm doing this weekend.... (porting what I've done to this and finishing it in Python).
norman784 9 hours ago [-]
I would think about if it was at least Go or Rust, but yet another interpreted language built on top of other abstractions? No thanks, I had my fair share of Xamarin, React Native, Electron, Tauri and TBH building native is the best (more work, sure, but at least when you have bugs or issues, it's easier to find solutions), with abstractions you need to deal with bugs on each layer.
Also in the era of AI, sharing native code is easier than ever, just compile down to WASM for the web and for the other binary.
pythonRon 6 hours ago [-]
I dabbled with Flet for a couple of weeks and all I can say is: I wish it were further along in development. Either that, or had more documentation and examples available. I love that it targets all platforms and that it's so easily distributable, but where I ran into problems was with layouts in general and aligning controls with one another specifically. I was ready to drop all other GUI toolkits before I ran into that snag. Perhaps in another year or two I'll take another look.
PostOnce 15 hours ago [-]
Choosing to build an application around a framework whose top contributors are Claude and Copilot may have catastrophic consequences for your project, especially if it's a business.
pietz 17 hours ago [-]
Using a to-do list app as the first example to advertise a new app framework is absolutely wild in Q3 2026.
hackyhacky 17 hours ago [-]
Is it more fashionable to build an AI harness?
taude 17 hours ago [-]
We should go back to petstore examples.
brazukadev 17 hours ago [-]
A blog in 15 minutes would be great.
hackyhacky 16 hours ago [-]
That's fine, but a blog doesn't seem technically more demanding or interesting than a to-do list
taude 15 hours ago [-]
wasn't the original ruby on rails demonstrating how to create a blog? I think it was a call back to that 2004 era....
quietbritishjim 9 hours ago [-]
I genuinely have no idea what this comment is about. Why is a to do list a bad example? It's common precisely because it's ideal: it shows a few different basic widgets, and it shows how to update state in a way that keeps them in sync.
Is it because it's clichéd? That doesn't matter so long as it gets the point across.
Is it because you object to having desktop applications that do a simple task like this? I remember when simple single-purpose desktop apps were common e.g. Card File in Windows 3.1. Also this is meant to be an example for both desktop and mobile. Are only SPA web pages allowed to do things like this now? What a depressing world if so.
Or is your comment satire? I honestly can't tell.
Edit: What would you allow as a first example of a new UI toolkit. (Not that Flet is new, it's had plenty of 0.x releases.)
pietz 8 hours ago [-]
I don't think there is demand for this framework in the first place.
- Cross platform frameworks are starting to become an anti pattern these days
- Hello world examples are losing relevance when I'm not the one writing code
- A To Do list is just the absolute least impressive thing you can showcase
From a marketing perspective, I want to showcase something that other frameworks cannot do and "this only took 10 lines of Python code" is a very weak sales pitch in 2026.
quietbritishjim 7 hours ago [-]
OK, I think your main objection is really that you don't like the idea of a cross platform UI toolkit. I don't share that view, but fair enough. But your first comment, complaining about a to-do list example, is a very confusing way of expressing that.
And you think the front page shouldn't show a basic example because you just vibe code everything anyway. That is a very odd objection - it would be very concerning if a code library didn't include a basic usage example on its front page. Also, guess what, some of us do actually write (or at least look at!) some of the code in the programs we work on. And even AI benefits from a clean API.
And your complaint about a to do list is that it's not "impressive"? It's not meant to be! It's a basic illustration of the API. It's like reading the Rust tutorial and objecting, "ugh, another programming language with for loops".
pietz 5 hours ago [-]
My main argument is that if you want my attention in a world where an AI agent can build me a native iPhone app in 30min, you need to do better than showing me a to do list app in the hero of your landing page. Your comparison doesn't hold at all. This is not a tutorial page called "first steps", it is the first showcase of what is possible with it.
Anyway, it's fine for us to just disagree here. You just sound like someone that likes to argue for the sake of arguing, and just like to do apps, I don't have time for that.
quietbritishjim 3 hours ago [-]
Do I just like to do apps? No. I've built serious business application with a graphically complex client area and a bunch of supporting chrome around it and dialogue boxes on top, using Flet. It's nothing like a to do app. But if the first example I saw on the Flet website was that complex I would never have figured out if it was useful!
(Do I just like arguing? Not really but I really did have no idea what your first comment was about, and your follow up was too odd not to reply to, so I got hooked.)
jasonlotito 3 hours ago [-]
> My main argument is that if you want my attention in a world where an AI agent can build me a native iPhone app in 30min, you need to do better than showing me a to do list app in the hero of your landing page.
That's a lie. It got your attention enough to post here, talk about it, and as a result, help push it up the front page. It's held your attention for so long, advertisers pay good money for that sort of attention. And you are just giving it out for free.
All because it used a Todo app.
8 hours ago [-]
9 hours ago [-]
keyle 16 hours ago [-]
They didn't even show a prompt box with starry icon button!
rk06 35 minutes ago [-]
ehh, it is pretty standard. in fact, todo app is the standard hello world for any GUI framework. it has been standard for js frameworks from before js fatigue started
stackghost 13 hours ago [-]
Why?
pietz 9 hours ago [-]
Because it's literally the least impressive thing you can build and in a world where I don't write the code anyway, a "hello world" example has lost its place (at least for human viewers).
jasonlotito 3 hours ago [-]
It demonstrates CRUD at a small scale and is familiar, so we don't need to figure out what it's trying to demonstrate. It allows us to see how large the final product is and how much memory and CPU it uses.
It's not meant to be a showcase of what you can build with it; it's meant to give you the smallest complete application so you can get a good idea of what you need to know.
The thing that's meant to be a showcase is usually referred to as a Showcase or a Gallery.
LoganDark 12 hours ago [-]
It's one of the standard benchmarks for web frameworks.
No clue why it's being done here.
brazukadev 17 hours ago [-]
Specially one looking so bad.
ChrisChou 11 hours ago [-]
My personal stance on this type of UI framework is that I won't waste my time on it unless I see it being used in mature, large-scale applications. Complex software often involves dealing with obscure edge cases; you certainly wouldn't want to spend a huge amount of time building an app, only to discover that the framework itself has serious flaws that make it impossible to proceed.
easytiger 10 hours ago [-]
What is the point of this comment?
To paraphrase you: "no one should release new open source software libraries because it is not enterprise ready on day one with thousands of deployments and every feature imaginable".
If you don't want to use it, don't use it
wiseowise 8 hours ago [-]
What is the point of this comment?
To paraphrase you: “if you have objective reasons preventing you from adopting the code then keep them to yourself because I concluded they’re bad vibes”.
ricardobeat 16 hours ago [-]
Is there a downloadable sample somewhere? Would like to see how large a native build is.
skeledrew 14 hours ago [-]
Native build size depends on what you want in the app, like the app I'm currently working on is almost 300MB, but I've added a few custom extensions to it (charts, iroh, and more). Earliest APK I can find is 140MB. In this day and age I honestly wouldn't worry much about app size though given how much storage devices have.
eviks 14 hours ago [-]
Given the prices of storage and ram you should still worry about wasting user resources
skeledrew 5 hours ago [-]
Doesn't really apply to Android devices, which is the context here. You buy a phone and that's the storage/RAM you're stuck with until you get another phone.
eviks 4 hours ago [-]
Sure it does. The amount of storage/RAM when you buy your phone depends on the price. But also the lifetime of a device is longer if the replacement is more expensive. And those older devices have even less storage/ram.
And it affects the amount in the cloud, so higher chance of users retaining more pic/vid data on their devices
Also the number of apps a user has increases, and if every one of those wastes hundreds of megs it accumulates.
skeledrew 8 minutes ago [-]
I'd say sacrifices need to be made. If one wants apps with reasonably modern capabilities, then one has to invest in a device that can handle such capabilities. And those devices come with ample storage. Like I had the OnePlus One and 2, which came with 64GB, and then the 6 which came with 128GB I think. Currently I have the 12, with 512GB. At no time have I ever ran out of space, and I always have a crazy number of apps installed along with media; what has happened though is a device can't handle some apps (particularly games) well, or performance generally falls over time, or other hardware starts to give out (both the camera and buttons died on the 6, which is when I bought the 12).
ricardobeat 7 hours ago [-]
I like efficiency! Nowadays my phone and laptop are constantly running out of storage since every calculator app is 1GB.
skeledrew 4 hours ago [-]
I know you're exaggerating, but still you should probably mind what you're downloading.
poulpy123 6 hours ago [-]
The "it's ok because the €/gb is cheap" was already bad when it was true, because you can increase ram and disk slots, but now it's hilariously wrong
tcfhgj 7 hours ago [-]
> In this day and age I honestly wouldn't worry much about app size though given how much storage devices have.
Are you serious?
Do you think people buy more storage just for fun?
I definitely don't buy it for devs to go YOLO
pythonRon 6 hours ago [-]
I feel very lucky in that I bought a handful of SSDs mere months before the prices went insane. RAM, not so much, especially for my new laptop which demands DDR5. It may be a while before I can expand that past the 16GB that came with it.
skeledrew 4 hours ago [-]
Context. You don't buy storage for phones. Not anymore anyway.
40four 14 hours ago [-]
I built a few Kivy apps years ago at an old job. It was a little clunky, but it got the job done. Haven’t heard of this framework yet, I wonder how compares in developer experience? Anyone have any experience with it?
The problem is I don’t want to use Python for everything that bad. If I’m going to reach for a cross platform toolkit these days, I’m personally going to reach for Tauri. Could be useful if you’re really married to Python I suppose.
bnchrch 17 hours ago [-]
Python needs to be in less places not more.
I believe Python has done more harm than good to the industry.
Its by nature very inefficient, it leads you in the direction to some very poor abstractions (inheritance, monkey patching, mixins etc) and as a result code that is very prone to subtle bugs and issues.
It deserves all the love it gets as an approachable language, but it deserves a lot more flack for everything else.
skeledrew 15 hours ago [-]
Big disagree. I've been following this project since it's early days, and have made a few projects based on it. I haven't been bitten by any "inefficiencies" in such a way that'd make me give up the language. And at this very moment I'm working on what's essentially a Python REPL that can build and return Flet controls (as well as the traditional string result), making writing and running adhoc native "applets" fully on mobile a possibility (haven't seen anything else that does this).
noufalibrahim 11 hours ago [-]
I'm in the middle. I've been using Python since the early 2.x series.
The good parts are that the inbuilt data structures and their apis are efficient and clean enough to write code that's mostly readable. Most of the heavy lifting is done in hand tuned C and performance intensive external modules are also written in C. There are several good projects that are written using it and while it's not theoretically perfect, it's useful enough. Like Stroustrup said - there are 2 kinds of the languages, ones that everyone complains about and ones that no one uses.
The bad parts are that it's very easy to use. Almost in a Visual Basic "producing crap just takes a squeeze" kind of way. It opened up programming to a lot of people (the genesis of Python was in the CP4E project - where this was the aim). This resulted in a lot of bad patterns, inefficient code, badly written but popular libraries. Also, the indentation idiom and other restrictions resulted in a lot of convoluted APIs.There's also a lot of baggage from the pre multi-core CPU era (threading etc.).
I still think of it as a great glue language. If there are libraries that are fast and can run well, a good FFI or wrapper which Python can leverage will amplify the reach and usability of the library.
On the overall, a language that's older than the venerable Java which people are still using (and hence complaining about) speaks to its longevity. So, atleast by that definition, it is successful.
pjmlp 10 hours ago [-]
At least BASIC was originally designed as compiled language, only the 8 bit home computers made interpreter versions more widely known due to their hardware limitations.
Starting with version 5, Visual Basic "crap" was using the same compiler backend as Visual C++.
spider-mario 5 hours ago [-]
I don’t think the parent comment was complaining about the compiler backend.
pjmlp 4 hours ago [-]
That is a side effect from Python adoption at scale in the form of CPython, even though there is PyPy crying on its little corner for lack of attention.
The slowness of Python based software, and the continuous rewrite of Python into C, C++, and nowadays Rust.
skeledrew 4 hours ago [-]
> slowness of Python based software
I know of very few cases of this. For the most part I find the "slow" to be in the network/IO things. Unless one is doing heavy matrix math or something similar in pure Python, which I'd seriously question.
pjmlp 3 hours ago [-]
Some people write full blown desktop software in Python, and then get amazed how fast it flies when rewritten into a compiled language.
skeledrew 3 hours ago [-]
This sounds like my experience switching from conda to uv. The speed seriously blew my mind, and sometimes still does today. But then I think about the tradeoffs: I've encountered issues with uv-packaged Python because they've optimized the heck out of it, like a few months ago I was working with tkinter and things were failing hard on ways I couldn't understand, then I switched to conda for those projects and... things just worked. Also package management isn't a thing that's regularly run, so while it's blazingly fast, it really doesn't have much effect on overall dev time. If it was just about speed, I would've stuck with conda, but uv offers a lot of actual valuable features and simplified some of my flows, so it's now my main Python project manager and conda kept as fallback.
It's essentially the same re regular desktop software. The performance for a particular bit may be nice, but it really doesn't impact the overall experience as one can only move at a certain speed as a user, and there are still those other bottlenecks. Like with my current project that's using Flet, the UI is extremely snappy and a joy in every way, but the networking bit (using iroh, which is implemented in Rust) has been a constant pain that I have to keep returning to. The speed of Rust is doing 0 to help anything, and I feel like it would've been less painful if iroh was actually implemented in Python as then I could dig into the source to see what's up and tweak to fit my circumstances, instead of dealing with essentially an immutable black box.
unsungNovelty 12 hours ago [-]
But when it comes to GUI toolkits, which of them are efficient? React Native, Tauri, Electron. I don't see a efficient one other than Native toolkits. Even they have their own problems.
PS: Loved your website's (https://ben.church/) messaging for different audiences. Especially the "My Wife" one. Gave me a good laugh. :)
13 hours ago [-]
IshKebab 10 hours ago [-]
I agree. They got some things right - the indentation based syntax is quite approachable even if it breaks down quite quickly (e.g. `lambda`), and infinite precision integers are fantastic.
But it's soooooo slow, tooling was abysmal until uv came on the scene (which some people still don't use), it has a ton of old janky APIs, and features like implicit bool coercion.
I wish there was a popular scripting language that was good. Modern robust semantics, infinite precision integers, static typing, good tooling, easy to embed. As far as I can tell it doesn't exist. Roto is the closest I've seen but it's moderately domain specific and doesn't have arbitrary precision integers.
12 hours ago [-]
bobajeff 19 hours ago [-]
Interesting, looks like this is a framework built on Flutter.
absqueued 19 hours ago [-]
Yeah, I have been doing a small poc for mobile, then did a web export (why not) and the entire web app is one giant <canvas> element.
I have never written web app with Flutter so this caught me by surprise.
nop17 10 hours ago [-]
I built an iOS app with python library as core component and SwiftUI as UI layer. It is not fun to cross compile the dependencies for iOS, I need implement the iOS interfaces, cannot just simplify use macos for native api. There is a good beeware project port a lot python libraries to iOS. Without that to port from scratch would be a lot of work for a middle size apple.
skeledrew 15 hours ago [-]
Loving it. Been using in projects for a while now.
xiaohanyu 16 hours ago [-]
Is this build on top of flutter?
And for web, does it generate plain HTML/CSS, the DOM tree, or just generate everything in a canvas?
skeledrew 14 hours ago [-]
It uses Flutter for UI and native services, but there's a full Python interpreter there.
I think it does mostly canvas, but that could just be due to my selected option back when I tried web with it (couple years ago).
5 hours ago [-]
bjord 17 hours ago [-]
kivy, which does the same thing, has been around for over 10 years. I built my thesis in it a few years ago. not recommended—too many limitations and build issues in practice. given that this one is less mature...I'm not optimistic.
PostOnce 15 hours ago [-]
All software has limitations, that's why we keep writing more software.
Kivy is great, and the contributors are friendlier than most. I particularly like it for Android, but it's definitely way up there in terms of "easy reliable multiplatform python framework".
It also gives you a ton of options for how you want to use it, more than one way to skin a cat philosophy.
bjord 8 minutes ago [-]
absolutely! no shade towards contributors, my impression was that compiling for iOS is just a bit of a moving target. everyone was willing and ready to help where they could, I just had a lot of trouble.
skeledrew 15 hours ago [-]
I tried using Kivy some years ago and also found it pretty painful. Flet I've been using for a while now and find it a joy by comparison, and it's actively developed, with a release every couple months or so. With the stability of v1.0 I expect that to slow a bit though, as I'd say at least core Flet is feature complete.
claytongulick 18 hours ago [-]
Looks really interesting, but I notice that Bluetooth isn't in the supported services.
Sort of limits how useful it would be for me - Bluetooth is one of the only reasons I'd do a native app instead of PWA.
skeledrew 15 hours ago [-]
It should be supported, but if somehow it isn't, support can be added by creating an extension.
Please no, python should be deprecated at this age, especially in the era of llm, horrible language from the performance to the dependencies to everything, can’t believe it got popular over perl back in the day
orthogonal_cube 16 hours ago [-]
I don’t understand the points attempted to be made here.
> especially in the era of LLM
Using a tool to generate a product in a language that someone isn’t familiar with is not a good idea.
> horrible language from the performance…
Nor is it a good idea to choose a language strictly for its performance when requirements like portability and framework maturity are at the forefront.
> …to the dependencies…
Dependency management isn’t the greatest, but it’s also not awful for a deployed product. Managing dependencies as a developer with multiple projects that each have their own virtual environment may not be fun but it’s not exactly an impossible mess.
> …to everything
from __future__ import everything
> can’t believe it got popular over Perl back in the day
And I’m sure people can’t believe that the iPod got more popular than the Zune, but sometimes convenience and taste are what drive decisions.
conductr 17 hours ago [-]
Performance isn’t important for any of the millions of things I use python for. I learned Perl first and gladly gave it up for syntax readability and easy of use over the years.
Pick the tool that’s right for you and the job, arguing against something based on your specific preferences should be seen as an argument without merit. I gave up Perl around the turn of the millennium, maybe it improved sense, but I really hated it back then-but I don’t go around badmouthing it and telling people to get rid of it.
Python is almost as ubiquitous as html, css, etc. It’s everywhere
tcfhgj 7 hours ago [-]
JavaScript is way more ubiquitous thanks to Electron, which is not so great for the end users.
I have little experience, but I somehow doubt that Python will improve a lot regarding resource usage compared to Electron... but great if it works for you.
skeledrew 4 hours ago [-]
You'd be surprised. But you're comparing a browser to an interpreter, so it's already apples and oranges.
flexagoon 9 hours ago [-]
Python is a fine language once you install a proper typechecker for it. Just like typescript makes JS a fine language.
skeledrew 15 hours ago [-]
The things it focuses on makes it wildly popular, and will continue to make it so. So popular that quite a few have been using it as a wrapper for packages with a Rust core, for example. I personally think they should stick to all Rust because they're only polluting the ecosystem, making Python less usable for an increasing number of scenarios.
GlacierFox 17 hours ago [-]
I used it quite a bit for writing tools for applications like Maya and Blender as it's the only fully supported API surface. I take it it's pretty bad for anything more complex. I notice it's used quite a bit in science and math communities too.
joshheitzman 16 hours ago [-]
It's not. OP just has a hate-on for Python. Python is widely used in many domains and has one of the richest ecosystems of packages.
Yoofie 14 hours ago [-]
Popular and/or widespread does not mean good. Common misconception.
joshheitzman 14 hours ago [-]
There is more than one axis (or two or three). One some axis popular and/or widespread is required for good. You can't have very large number of readily available libraries applicable to many domains without a language being popular and/or widespread.
biglost 15 hours ago [-]
I love Python,i have been writting Python since 2.2 era, Is great. Bit it's slow as hell, Django is slow, and the filters and custom shit to hit db on the template makes it slower. The parameters styles are too many and now instead of removing things they keep adding features, ok no Gil Is great but match? They should stop now. I hope i will never have to use custom cython modules again. I have even used Python in asterisk agi fastagi etc. But it's really slow and we should accept that
joshheitzman 15 hours ago [-]
I don't really disagree with any of that and I have my own complaints about Python. Personally I would have been happy if they stopped at Python 2.7 but I also have numerous complaints about all of the programming languages I use heavily. There's no perfect language.
vouaobrasil 15 hours ago [-]
What the heck? Python is a joy to program in and it's great for making small utilies, scripts, and even programs that don't require incredible performance. Perl is a pretty horrific-looking language.
Rendered at 16:24:40 GMT+0000 (UTC) with Wasmer Edge.
I've used this for a fairly complex app at work and it's great. (It's certainly not vibe coded as one commenter suggested.) It's a Python layer on top of Flutter, and it was the only UI framework I could find for Python that was fast and worked on all major desktop and mobile OSs. I think maybe Kivy could too but it seemed like it would be an uphill struggle for a good desktop app.
It's a bit of a gateway drug for pure Flutter. If you need some complex, quickly updating control then you can write a Flutter control (in Dart) and wrap it in a Flet (for Python) control for better performance than doing it all in Python. I've ended up doing that for the main display in our app, and there's always the option to move more and more business logic into that.
One downside to Flet is that I wish they didn't try "fix" some design decisions in Flutter. For example, they have a Flet "Container" widget that wraps a bunch of different Flutter layout widgets. The Flet version does seem easier to understand to me, but there's just so much more documentation (and StackOverflow answers etc.) for Flutter than for Flet that it would be easier overall if they just mirrored the Flutter controls precisely.
So, I've downloaded it, and unless I overcome a couple of hurdles in a current project in SpiderBasic, I know what I'm doing this weekend.... (porting what I've done to this and finishing it in Python).
Also in the era of AI, sharing native code is easier than ever, just compile down to WASM for the web and for the other binary.
Is it because it's clichéd? That doesn't matter so long as it gets the point across.
Is it because you object to having desktop applications that do a simple task like this? I remember when simple single-purpose desktop apps were common e.g. Card File in Windows 3.1. Also this is meant to be an example for both desktop and mobile. Are only SPA web pages allowed to do things like this now? What a depressing world if so.
Or is your comment satire? I honestly can't tell.
Edit: What would you allow as a first example of a new UI toolkit. (Not that Flet is new, it's had plenty of 0.x releases.)
- Cross platform frameworks are starting to become an anti pattern these days
- Hello world examples are losing relevance when I'm not the one writing code
- A To Do list is just the absolute least impressive thing you can showcase
From a marketing perspective, I want to showcase something that other frameworks cannot do and "this only took 10 lines of Python code" is a very weak sales pitch in 2026.
And you think the front page shouldn't show a basic example because you just vibe code everything anyway. That is a very odd objection - it would be very concerning if a code library didn't include a basic usage example on its front page. Also, guess what, some of us do actually write (or at least look at!) some of the code in the programs we work on. And even AI benefits from a clean API.
And your complaint about a to do list is that it's not "impressive"? It's not meant to be! It's a basic illustration of the API. It's like reading the Rust tutorial and objecting, "ugh, another programming language with for loops".
Anyway, it's fine for us to just disagree here. You just sound like someone that likes to argue for the sake of arguing, and just like to do apps, I don't have time for that.
(Do I just like arguing? Not really but I really did have no idea what your first comment was about, and your follow up was too odd not to reply to, so I got hooked.)
That's a lie. It got your attention enough to post here, talk about it, and as a result, help push it up the front page. It's held your attention for so long, advertisers pay good money for that sort of attention. And you are just giving it out for free.
All because it used a Todo app.
It's not meant to be a showcase of what you can build with it; it's meant to give you the smallest complete application so you can get a good idea of what you need to know.
The thing that's meant to be a showcase is usually referred to as a Showcase or a Gallery.
No clue why it's being done here.
To paraphrase you: "no one should release new open source software libraries because it is not enterprise ready on day one with thousands of deployments and every feature imaginable".
If you don't want to use it, don't use it
To paraphrase you: “if you have objective reasons preventing you from adopting the code then keep them to yourself because I concluded they’re bad vibes”.
Are you serious?
Do you think people buy more storage just for fun?
I definitely don't buy it for devs to go YOLO
The problem is I don’t want to use Python for everything that bad. If I’m going to reach for a cross platform toolkit these days, I’m personally going to reach for Tauri. Could be useful if you’re really married to Python I suppose.
I believe Python has done more harm than good to the industry.
Its by nature very inefficient, it leads you in the direction to some very poor abstractions (inheritance, monkey patching, mixins etc) and as a result code that is very prone to subtle bugs and issues.
It deserves all the love it gets as an approachable language, but it deserves a lot more flack for everything else.
The good parts are that the inbuilt data structures and their apis are efficient and clean enough to write code that's mostly readable. Most of the heavy lifting is done in hand tuned C and performance intensive external modules are also written in C. There are several good projects that are written using it and while it's not theoretically perfect, it's useful enough. Like Stroustrup said - there are 2 kinds of the languages, ones that everyone complains about and ones that no one uses.
The bad parts are that it's very easy to use. Almost in a Visual Basic "producing crap just takes a squeeze" kind of way. It opened up programming to a lot of people (the genesis of Python was in the CP4E project - where this was the aim). This resulted in a lot of bad patterns, inefficient code, badly written but popular libraries. Also, the indentation idiom and other restrictions resulted in a lot of convoluted APIs.There's also a lot of baggage from the pre multi-core CPU era (threading etc.).
I still think of it as a great glue language. If there are libraries that are fast and can run well, a good FFI or wrapper which Python can leverage will amplify the reach and usability of the library.
On the overall, a language that's older than the venerable Java which people are still using (and hence complaining about) speaks to its longevity. So, atleast by that definition, it is successful.
Starting with version 5, Visual Basic "crap" was using the same compiler backend as Visual C++.
The slowness of Python based software, and the continuous rewrite of Python into C, C++, and nowadays Rust.
I know of very few cases of this. For the most part I find the "slow" to be in the network/IO things. Unless one is doing heavy matrix math or something similar in pure Python, which I'd seriously question.
It's essentially the same re regular desktop software. The performance for a particular bit may be nice, but it really doesn't impact the overall experience as one can only move at a certain speed as a user, and there are still those other bottlenecks. Like with my current project that's using Flet, the UI is extremely snappy and a joy in every way, but the networking bit (using iroh, which is implemented in Rust) has been a constant pain that I have to keep returning to. The speed of Rust is doing 0 to help anything, and I feel like it would've been less painful if iroh was actually implemented in Python as then I could dig into the source to see what's up and tweak to fit my circumstances, instead of dealing with essentially an immutable black box.
PS: Loved your website's (https://ben.church/) messaging for different audiences. Especially the "My Wife" one. Gave me a good laugh. :)
But it's soooooo slow, tooling was abysmal until uv came on the scene (which some people still don't use), it has a ton of old janky APIs, and features like implicit bool coercion.
I wish there was a popular scripting language that was good. Modern robust semantics, infinite precision integers, static typing, good tooling, easy to embed. As far as I can tell it doesn't exist. Roto is the closest I've seen but it's moderately domain specific and doesn't have arbitrary precision integers.
I have never written web app with Flutter so this caught me by surprise.
And for web, does it generate plain HTML/CSS, the DOM tree, or just generate everything in a canvas?
I think it does mostly canvas, but that could just be due to my selected option back when I tried web with it (couple years ago).
Kivy is great, and the contributors are friendlier than most. I particularly like it for Android, but it's definitely way up there in terms of "easy reliable multiplatform python framework".
It also gives you a ton of options for how you want to use it, more than one way to skin a cat philosophy.
Sort of limits how useful it would be for me - Bluetooth is one of the only reasons I'd do a native app instead of PWA.
https://flet.dev/docs/extend/user-extensions/
> especially in the era of LLM
Using a tool to generate a product in a language that someone isn’t familiar with is not a good idea.
> horrible language from the performance…
Nor is it a good idea to choose a language strictly for its performance when requirements like portability and framework maturity are at the forefront.
> …to the dependencies…
Dependency management isn’t the greatest, but it’s also not awful for a deployed product. Managing dependencies as a developer with multiple projects that each have their own virtual environment may not be fun but it’s not exactly an impossible mess.
> …to everything
> can’t believe it got popular over Perl back in the dayAnd I’m sure people can’t believe that the iPod got more popular than the Zune, but sometimes convenience and taste are what drive decisions.
Pick the tool that’s right for you and the job, arguing against something based on your specific preferences should be seen as an argument without merit. I gave up Perl around the turn of the millennium, maybe it improved sense, but I really hated it back then-but I don’t go around badmouthing it and telling people to get rid of it.
Python is almost as ubiquitous as html, css, etc. It’s everywhere
I have little experience, but I somehow doubt that Python will improve a lot regarding resource usage compared to Electron... but great if it works for you.