Hackadash
- 7 Devlogs
- 13 Total hours
A python dashboard CLI to show you hackatime stats built with Textual TUI
A python dashboard CLI to show you hackatime stats built with Textual TUI
Final Touches for Hackadash, including some formatting, an asciinema demo recording. Also just created a github release (although I don’t know if I did it right) but now everything is ready to ship!
Edit: I just added the project to PyPI so go check it out at https://pypi.org/project/Hackadash/
Got time switching in, so now you can see your total time for total, last 7 days or the current day. I also took some time today to add to the README file, including some new images and some better instructions on how to use the app, and what features there are. As I said in the last devlog, I only have one more feature I need to add before shipping! Hopefully I can get that done in the next couple of days!
I’m just going to start off by saying I hate styling these boxes. Anyway, hackadash now shows top projects, and top languages, as well as total time in a big font. Everything is separated into related boxes. In the future I hope to make this a little bit more uniform, but other than that I have one more feature to add before this project is ready to ship!
Added in some data from the Hackatime API, using bearer auth. I ran into a lot of trouble getting the API’s to accept some data, as the API’s use different keywords for the current user. For example one use ‘current’ to indicate the current user by the API key, and one uses ‘my’. Once all that was working It was taking a bit to load the UI as the the http requests had to finish first, so I did a little research and found out about textual workers, that fixed the problem right up. All in all a lot got done today.
Added functionality for the setup screen. It can now search for the wakatime.cfg file in your home directory, or you can input your api key manually. I then learned how to make a settings.cfg file to store everything in it. I also then made it so it changed the the new dashboard screen, which isn’t designed yet. Can’t wait to continue this project, but I also need to work on/finish my other project WordChains, this weekend.
I’m just going to say this should not have take as long as it did. Anyway I was working on creating the setup screen of my hackatime dashboard app using textual. When the app first opens this is the screen you will see. You can then either choose to use you wakatime config file, you manually entering your Hackatime API key, so later we can use it to fetch some stats to display on the dashboard.
Where I ran into a lot of issues is the formating. Getting the text to go at the top of these boxes, and the buttons at the bottom, but still have everything centered in the boxes. In the end the solution was to use multiple containers under the hood to get everything into the right spot.
Its my first time creating a project like this so there was a lot of research involed into pyproject.toml files and .gitignore files. I finally got some stuff working, and now I get to work on the fun stuff the app!
I’m planning for this app to be a small dash board for Hacktime stats using Textual. So far I just have some place holder stuff in and no logic. I did do some drawings of what this might look like, but we will see how well I can bring them to life.