Created My First Python Package Ever
On September, 23, 2020, I was able to successfully built my 1 year old python code for tracking time into a nice python package which is now hosted on PyPI and also on GitHub
Watch jupyter-timetracker running
History behind development of jupyter-timetracker
I had always obsessed about saving each and every second of my time in my life. More than just saving, I was more concerned about being able to look at where my time is going throughout the day. The led me to install so many time management app on my mobile, after a lot of trial and error, I found atimelogger the best. It has all the capability what I was looking for. However, later it started to provide only basic features in free version and asking to pay to upgrade to have full features. Also, it has no desktop app. I found helpless in situations, where I am on desktop and away from my mobile. That led me to search for more productive and free apps that were both for mobile and desktop. Then i got to know about toggl and timecamp. However, these sites also provide very minimal features for free and require to pay for all features.
As an introvert guy, I want to know deeply about myself ( self-introspection ). So apart from just logging time and having timesheet, I want to know detalied statistics about myself over a long period ( > 3 months ), which none of the time management tools available on internet were providing for free. This made me feel helpless and powerless. I want to make some new habits like reading books and I need a tool that records how much I was being able to read everyday.
Meanwhile, I was learning pandas and Jupyter Ipywidgets. Suddenly, an idea came to my mind, it’s better to learn these Python libraries by having a project in my mind. I already knew about datetime in Python. So, I mentally draw a picture of making my own custom timesheet, save in compact pandas dataframe and make a front end User Interface using IPywidgets. It turns out to be a revolutionary idea and I was able to make this complete GUI in the 6 months of coding. It was a very nice and satisfying experience of being independent of any apps and tools and using my own code for my own benefits. I become very happy after making this. Each time i use it, i felt a kind of inner satisfaction that can’t be described in words.
After using privately for a year, another idea came about wrapping this code into a open source python package and upload it on PyPI and GitHub so that other experienced programmers may add new features in it. Again, as an introvert and reserved guy, it took me more than a year to open source my code. So, recently I learned about packaging code and host it on PyPI and here is the result.