Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Python program that tracks total time spent on projects and saves sessions. It supports multiple projects.
💻 Windows, Linux and Mac compatible. 💻
A Python script to track time spent on various projects. This script allows you to start, stop, and monitor time tracking for different projects, as well as output data to files.
It is very lightweight since it doesnt have to be running in the background.
This script is going to help you track:
pip install hourtrack
hourtrack start myProject
pipx
is recommended, but you can use pip
instead.
.txt
file.From PyPI
pip install hourtrack
Optional installation alternative
git clone https://github.com/P-ict0/HourTrack.git
cd HourTrack
pip install .
hourtrack --help
hourtrack <command> --help
Create a project to start tracking time. You can also initialize a project with a goal.
hourtrack init <project> # Create a new empty project
hourtrack init <project> --goal <hours> # Create a new project with a goal
Start tracking session for a project. If the project does not exist, it will be created.
hourtrack start <project>
Stop current session for a project, saving the time spent. With option to delete all projects.
hourtrack stop <project> # Stop tracking for a project
hourtrack stop --all # Stop tracking for all projects
Delete all sessions for a project or all projects and reset the timer to 0, but don't delete
hourtrack reset <project> # Reset a project
hourtrack reset --all # Reset all projects
hourtrack edit <project> --rename <new_name> # Rename a project
hourtrack edit <project> --goal <hours> # Set/edit an hour goal for a project (or remove it with 0)
hourtrack edit <project> --add-session <hours> # Add a session to a project
# ending now that started <hours> hours ago.
hourtrack edit <project> --delete-session <id> # Delete session by its id (use `info` command to get the id)
hourtrack edit <project> --delete-session -1 # Delete last session
Delete a project and all its data. With option to delete all projects.
hourtrack delete <project> # Delete a project
hourtrack delete --all # Delete all projects
List all/active projects.
Available formats: smart
, full
, short
, hours
.
Note: If not specified, smart
format is the default format.
hourtrack list all [-f <format>] # List all projects
hourtrack list active [-f <format>] # List active projects
Show the status of a specific project or of all projects. With option to output to a file.
Available formats: smart
, full
, short
, hours
.
Note: If not specified, smart
format is the default format.
hourtrack info <project> [-f <format>] # Show project info
hourtrack info --all [-f <format>] # Show current active session info
hourtrack info <project|-all> -o <outputPath> [-f <format>] # Output to a file
Command | Requirement | Default | Description |
---|---|---|---|
hourtrack --help | None | None | For help |
hourtrack init <project> | Project name | None | Create a new empty project. |
hourtrack start <project> | Project name | None | Start tracking session for a project. If the project does not exist, it will be created. |
hourtrack stop <project|--all> | Project name or -a/--all flag | None | Stop current session for a project, saving the time spent. With option to stop all projects |
hourtrack reset <project|--all> | Project name or -a/--all flag | None | Reset a project's data. With option to reset all projects |
hourtrack edit <project> <--rename <name>|--add-session <hours>|--delete-session <id|-1>|-g/--goal <hours>> | One of --rename , --add-session , --delete-session , -g/--goal | None | Renames a project, edits hour goal, adds a session or deletes a session |
hourtrack delete <project|--all> | Project name or -a/--all flag | None | Delete a project and all its data. With option to delete all projects |
hourtrack list <all|active> [-f <smart|full|short|hours>] | None | format smart | List all/active projects. |
hourtrack info [<project>] [-f <smart|full|short|hours>] [-o <outputPath>] | None | format smart | Show the info of a specific project or show current active session if project is not specified. With option to output to a file. |
git clone https://github.com/P-ict0/HourTrack.git
cd HourTrack
# Note: You probably will need to remove the line from `utils/argument_parser.py`: from importlib.metadata import version
# And also remove the `version` option from the parser (below in the file).
# Run the script
python src/hourtrack.py --help
Contributions are welcome! Please fork the repository and submit a pull request with your suggested changes.
FAQs
Python program that tracks total time spent on projects and saves sessions. It supports multiple projects.
We found that hourtrack 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.