Dashboards in Pythonista
Does anyone here has experience with building dashboards in Pythonista? What modules, methods, ways to go would you advise. Love to hear ideas and see examples.
@GARP , hi. I often think that Pythonista is perfect for a status/dashboard. I haven't done much about it though. I get too distracted.
I had a quick play to do something. You can see the code in the gist below. Not sure others here would agree about my approach. I am still a beginner. The example is pretty hard coded in its presentation, but there is a form of a idea of building different panel classes from a base class and having the main class go through and call their update methods.
As you eluded, there are many ways to skin a cat. For me if I was doing a dashboard, I would do something like this.
I am relying on ui.Delays in the example. That will keep the ui responsive for other things. But being a dashboard, this may not be required at all. A loop with @ui.in_backgroundcould be better. Another way is that the panel classes could have their own background tasks via a thread. For more complicated panels that take a lot of time to execute this might be required. I think you could still mix and match these approaches. Well at least I think so. I think as long as a panel is fully independent of other panels which would normal be the case, i think it should be ok.
Not sure if you are aware of the iOS App Status Board by Panic, Inc.
https://appsto.re/au/qBC0A.i or not. Could be good for inspiration as well as Pythonista seems like a perfect tool to feed data to it in the form of json.
I have gone on here a little bit. But I also like Dashboards 😱
Hope it helps
Pythonista on the Apple TV would be perfect for making a dashboard. You'd write your code on an iPad/iPhone, send it somehow to the TV app and run it there.
@lukaskollmer , could still just use AirPlay to display your dashboard
@Phuket2 yeah but this would work only while Pythonista is running on the iPad. It'd stop once you quit the app
@lukaskollmer , sure. I was thinking another way. I have a few iPads in my room. Also, I never use my Ipad in my room, so it would be free anyway, could be my iphone also.
But sure a native app on Apple TV That the contents/settings could be specified from a iOS device would be great.
I love my Apple TV. What I hate about it is the integration of alarms/alerts etc is just missing. If I am watching a movie, I would like to get a alarm. If not, I could use a feature like on the iOS devices, DND. Anyway, it's a little off track. But not really. Eg, if your dash board was monitoring stock prices, and you wanted an alert if something was going up or down. It would be great if a movie you are watching on Apple TV could be paused and that info displayed.
It's so hard for people to relax these days and watch a movie for 2 hours. If you are waiting on something important, you will be cradling your iphone, constantly looking at it. If they had a new class of notifications that will interrupt you no matter what. Each iOS / mac/ Apple TV makes sure you get this notification and will not stop until you respond on any given device, could elevate a lot of anguish.
Well maybe. I think so. We are all so scared of missing mission critical information. To me this is a category of notifications that has not be dealt with
Hi Phuket2, Thanks very much for your input and source code. Will definitely check it out. I have made an dashboard in Excel about the stock market where I download stock/index data and want to translate that to Pythonista. Online I read all sorts of solutions with Python on a desktop with flask, beautiful soup.. etc.., but didn't know how to do that in Pythonista. My aim is to use the iPad more and more instead of the desktop and finally make an app out of it :-). Your response is very much appreciated!
@GARP your welcome. That Status Board app I mentioned could be a fast solution. As it can look to Dropbox for json files. You could generate the json files in Pythonista and use the Pythonista Dropbox to upload the files to your Dropbox account.
But it's more fun to create the whole think in Pythonista I think 😁