![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Simple command-line time tracker based on a simple text file format.
This simple utility uses a text file to store tasks with date/time information. Each time you start working on a task, a new line is created on the file with the current time and a description of the task you are starting to work on.
At the end of the day, or anytime, you can then generate reports and statistics based on the file.
The file structure is very simple and can be edited using the script or directly with your favorite text editor. Here is an example file:
[2022-01-01]
10:00 Starting project X +projectX
11:23 Starting documentation of project X +projectX +doc
12:00 [Stop]
[2022-01-02]
08:05 Starting workday, checking emails +office +emails
09:00 Back on documentation +projectX +doc
10:00 [Stop]
An entry in this file can be associated with tags if you start the tag with a +
(+tag
) or ID if you start with a .
(.456
).
Tags allow for powerful filtering and reporting. They are ordered, meaning that +project +doc
is different from +doc +project
(see reports and filters below).
IDs allow to track time of tasks from an external tool, such as Jira. Entries with an ID are automatically assigned a default tag (+jira
).
The [Stop]
task is used to stop the last task. It is not required if you switch tasks without taking a break.
The program is available as a python packge through Pypi, so you can download it using pip:
python -m pip install clock-tracking
You can create a shortcut (alias) to make the package easier to be called from the command line. Follow the instructions below depending on your operating system.
On Windows, you can use the script with PowerShell. To create an alias permenantly, open your profile.ps1
file (see Windows PowerShell Profiles) and add these lines:
function Invoke-Clock { python -m clock_tracking $args }
New-Alias -Name clock -Value Invoke-Clock
Open your bash profile (see Bash Profiles) and add these lines:
alias clock="python -m clock_tracking"
Use the clock_tracking
python package to run the program, i.e. python -m clock_tracking
or directly the command alias (see above). In this documentation, we'll use the alias clock
to call the python -m clock_tracking
package.
You can add a new entry by adding the entry definition after the package name:
$ clock Definition of the prototype +myapp +proto
Added: 08:10 Definition of the prototype +myapp +proto
Duration Date Start Stop Tags Name IDs
00:00 2022-01-01 08:10 08:10 +myapp,+proto Definition of the prototype
To switch to a new task, just use the same command:
$ clock Switching to new task
Added: 09:02 Switching to a new task
Duration Date Start Stop Tags Name IDs
00:00 2022-01-01 08:10 08:10 Switching to a new task
This will automatically stop the last task and start a new one. When you have finished working, use the stop
command:
$ clock stop
Added: 10:00 [Stop]
You can show reports/statistics with the show
command:
$ clock show
All tasks are ordered by first tag by default. Several filters are available, see ./clock --help
for the full documentation.
To show all the tasks with their details:
$ clock show --details
To filter by a tag:
$ clock show +tag
To filter by an ID:
$ clock show .345
Report by tags / projects:
Show today's tasks details:
usage: __main__.py [-h] [-f FILE] [--target HH:MM] [--target-per-day HH:MM] [-a HH:MM] [-t] [-w] [-s YYYY-mm-dd] [-e YYYY-mm-dd] [-l n] [-d]
[--categories] [--timeline]
command
Helps managing time tracking from the command-line
positional arguments:
command Command (add, edit, show). add: add a new entry. edit: edit current entry's description. show: show reports and statistics.
options:
-h, --help show this help message and exit
settings:
-f FILE, --file FILE Speficy the file to store time entries. Default is ~/clock.txt
--target HH:MM <show> Sets expected target time (format HH:MM) and computes the difference with actual times in the reports
--target-per-day HH:MM
<show> Sets expected target time per day (format HH:MM) and computes the difference with actual times in the reports
add:
-a HH:MM, --at HH:MM <add> Specify a time (format HH:MM) of a new entry
filters:
-t, --today <show> Show only entries from today
-w, --week <show> Show only entries from the current week
-s YYYY-mm-dd, --from YYYY-mm-dd
<show> Include entries with start date later or equal to given date (format YYYY-mm-dd)
-e YYYY-mm-dd, --to YYYY-mm-dd
<show> Include entries with start date earlier or equal to given date (format YYYY-mm-dd)
-l n, --last n <show> Show only the last n entries
reports:
-d, --details <show> Shows detailed report
--categories <show> Shows categories report (default)
--timeline <show> Shows issues on a timeline (only when --today is specified)
FAQs
Time tracking management from python / command line
We found that clock-tracking demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.