Package: wage-labor-record
Wage Labor RecordWage Labor Record is a tool to help you to keep track of what you did for whom
and how much time you spent on it ... if you are into that kind of thing.This one weird trick to live a comfortable lifeI recently discovered this trick to live a comfortable life:You help people with their problems, and they give you some token in return.Here they call this the "service economy" and the tokens are called "money".
I also found out that it is a lot easier when you:Talk to them before you do something for them and find an agreement on what you will do and what you will get in return. They call it a "contract".Write down what you did, how much time you spent on it and how many tokens you like to get in return. They call this writing an "invoice".If you give those tokens to other people, they arevastly more likely to let your use food and shelterthat they own[^1].
Or they might be willing to do something for you in return.This software tool helps you to record what tasks you did for whom and how much time you spent on it.[^1]: "Ownership" is a widely accepted social construct here.
If you own something you are to decide who can use it and what to do with it.
If necessary, people are convinced to play by those "ownership" by violence.
Violence means harming somebodies mental and/or physical well-being in a way that they don't want to happen.
However, most of the time people play by those rules since the think that "ownership" is a nice idea, and they don't want to ruin it for everybody.Why chose WLR?There are lots of other time tracking software.
I did not try all of them, but I made the following observations:The simple ones often only run in the CLI.
This means I cannot see at a glance if and what task I am recording right now.
Those tools also won't be able to detect any idle time and remind me about it.The GUI ones are mostly overtly complex and require way too many clicks.
The friction to use them day-to-day is way too high.The ones with a decent usabilityandGUI are proprietary solutions tied to some
cloud infrastructure, and at some point they drop support for the Linux desktop client
(looking at your Toggle Track ...)So this time tracker tries toprovide a minimal GUI that does not get into my waynever needs an internet connection to work or any cloud infrastructurebe simple enough that I can afford to maintain it over the next years
and adapt it to unforeseen needs in the futureFeaturesDetect idle time, remind me about it, let me decide what to do with itLow friction: let me start tracking with a single click and decide later what I actually didHuman-Readable file formatUIExplorable (cli is not enough)Linux Desktop integrationIndicate if I am currently tracking time via tray iconCentered around trayMinimal dependencies (make it future-proof)Minimal configuration needed/Sensible defaultsNon-FeaturesInternet connectivityUsing the electron framework to eat CPU, RAM and batteryDependenciesxprintidleas a dependency to detect idle time.GTK 3.0 for the GUIInstallationI recommend installing via pipx:pipxinstallwage-labor-recordUsagewlrDevelopment ResourcesGtk 3.0 API DocumentationPyGObject tutorialPython GTK+ 3 tutorialHow to install PyGObjectMaking a Releasepython-mbuild
twineuploaddist/*Hint: usetokenas username and the token frompypi.orgas password.Alternatives to this and why they don't work for mejupyter-timetracker- GUI too complex/too close to DB editing tools. No support for clientstimCLI only, no idle time detection but uses hledger as a backend!salary-timetrackerCLI only, tracking bound to git repos, fixed hourly rate but hey it uses CSV files!ttracCLI only, no idle time detection, no support for clients or tasks but uses JSON files!tickertockonly with a StreamDeck, wants to use cloud service as backend but uses a hardware interface!mtttCLI only, no idle time detection but uses plain text files!tt-cliCLI only, no idle time detection, no support for clientstimetrackerCLI only, no idle time detection, no support for clientshamstercomes pretty close but seems outdated/abandoned and a little bit too complex