Pebble is the ultimate smartwatch because it knows what it is. Its a watch first and foremost, readable in any lighting conditions, waterproof, battery lasts for weeks. They made a watch first then added only the QOL features that most people need.
I've been really enjoying the reboot of Pebble with their new Time 2 for a few months now. I'm using ForecastWatch 2 watch face which crams calendar, watch and weather data into one screen and it's perfect. Lasts weeks on charge too. For apps their built-in workout apps etc are perfectly fine and I built some of my own apps quite easily.
My only complaint is that app limitation are apollo moon lander level of bad, like 128KB code and 256kb resources. I'm not particularly versed in optimizations patterns in here, but building fun stuff is really hard with these limitations. So what you have to do is roll a "companion app" android app that does all compute on the phone and streams it to the watch but that sucks.
One obvious app I tried to build here is a calendar with a daily message and I've tried to include a little graphic emoji with each day. You can't do that because you can only fit around 100 emoji graphics and the font on Pebble Time 2 only has 50 emojis. So at best you can get 150 icons which is not enough for unique icon for each day. This is kinda sad in 2026 ngl.
This practically means you can't ship any runtimes, standard libraries, nor any big libraries with your app. Your app has to be just the business code and all the extras has to be stuff already on the watch. Crucially, size requirements like this doesn't mean you can't write slow python apps or whatever, so long as the watch ships with a python interpreter.
I suspect 10MB might be more friendly in the current day and age.
It already comes with a standard library, but, since the drawing algos left a lot to be desired, my watchface ships with its own image format and rendering code to allow for handling of transparency and blending modes (since you can not only use the integrated render utilities, but simply draw directly to buffer with whatever you bring)
So all in all: it has been done.
That being said: you mention python, and I'm not sure where this is coming from. When in rome, you don't drag your favourite language throught the streets unless it is roman latin.
I assure you it's most certainly not waterproof in any reasonable sense of the word. The seals and glue on that thing is nowhere up to the standard of modern smartwatches.
I can dismiss/decline/silence popped up on my Pebble without breaking eye contact with the real life human I'm talking to.
In a car, I've handed my watch to my kids in the backseat so they can control music playback. There's no accidentally closing the media app because they fat fingered a stupid teeny tiny touchscreen. Nope. Just regular buttons that anyone with functioning hand-eye coordination can use.
And unlike the Garmin Instinct, the buttons are actually ergonomic. The Instinct was literally painful as you had to contort your hand. And on top of that, the UI was totally insane. I was never quite sure how to interact with it and frequently had to experiment to do basic actions. Nothing was consistent.