Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

hourtrack

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hourtrack

Python program that tracks total time spent on projects and saves sessions. It supports multiple projects.

  • 1.7.2
  • PyPI
  • Socket score

Maintainers
1

⌛ HourTrack


Badge Workflow Badge License Badge Language Badge Pull Requests Badge Issues


Contents

📖 Description

💻 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:

  • Total time spent on different projects
  • Work sessions information
  • Time spent on each session
  • Set a goal for each project

🚀 Quick start

pip install hourtrack
hourtrack start myProject

pipx is recommended, but you can use pip instead.

✨ Features

  • Supports multiple projects: Track time for multiple projects.
  • Set goals: Set an hour goal for each project.
  • Start/Stop tracking: Start and stop tracking time for a project.
  • List projects: List all projects being tracked.
  • Delete project: Delete a project and all its data.
  • Reset project: Reset a project's data.
  • Export data: Export data to a .txt file.
  • ...

📦 Installation

From PyPI

pip install hourtrack

Optional installation alternative

git clone https://github.com/P-ict0/HourTrack.git
cd HourTrack
pip install .

📲 Usage

Help!

hourtrack --help
hourtrack <command> --help

Initialize a project

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

Start tracking session for a project. If the project does not exist, it will be created.

hourtrack start <project>

Stop tracking

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

Reset project

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

Edit project

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 project

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 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

Project Info

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

⚙ Options

CommandRequirementDefaultDescription
hourtrack --helpNoneNoneFor help
hourtrack init <project>Project nameNoneCreate a new empty project.
hourtrack start <project>Project nameNoneStart tracking session for a project. If the project does not exist, it will be created.
hourtrack stop <project|--all>Project name or -a/--all flagNoneStop current session for a project, saving the time spent. With option to stop all projects
hourtrack reset <project|--all>Project name or -a/--all flagNoneReset 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/--goalNoneRenames a project, edits hour goal, adds a session or deletes a session
hourtrack delete <project|--all>Project name or -a/--all flagNoneDelete a project and all its data. With option to delete all projects
hourtrack list <all|active> [-f <smart|full|short|hours>]Noneformat smartList all/active projects.
hourtrack info [<project>] [-f <smart|full|short|hours>] [-o <outputPath>]Noneformat smartShow the info of a specific project or show current active session if project is not specified. With option to output to a file.

💻 Development

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

👥 Contributing

Contributions are welcome! Please fork the repository and submit a pull request with your suggested changes.

Keywords

FAQs


Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc