Skip to content
/ PyTM Public

A Python 🐍 3️⃣ CLI time tracker with invoice generation

License

Notifications You must be signed in to change notification settings

wasi0013/PyTM

Repository files navigation

PyTM - Logo

PУΓM - A CLI time tracker for projects with invoice generation

Goals

Project time management, billing, and invoice generation.

Preview

PyTM - Preview

Screenshots

PyTM - Screenshot PyTM - Invoice

Installing PyTM

  • First download and install pyenv. Use the command:

    curl https://pyenv.run | bash
    
  • Next, install Python 3.12 using the command:

    pyenv install 3.12.0
    

    Alternatively, you can skip pyenv installation and download python 3.12 or above from the official website and setup a virtualenv as well.

  • Next, install PyTM from PyPI using pip:

    python -m pip install python-pytm
    

Check the version by typing the following in your terminal.:

pytm --version

Basic commands

To see the available commands type:

pytm --help

Commands related to projects

  • Start a new project with a default name: pytm project start
  • Start a new project with the given name or, start an existing project: pytm project start PROJECT_NAME
  • Rename a project: pytm project rename OLD_PROJECT_NAME NEW_NAME
  • Remove a project: pytm project remove PROJECT_NAME
  • Check the status of a project: pytm project status PROJECT_NAME
  • Check the list of tasks and duration of a project: pytm project summary PROJECT_NAME
  • Finish active project: pytm project finish
  • Pause active project: pytm project pause
  • Abort active project: pytm project abort

Commands related to Task

  • Start a new task with a default name in the current active project: pytm task start
  • Start a new task with the given name or existing task in the current active project: pytm task start TASK_NAME
  • Rename a task of the active project: pytm task rename OLD_TASK_NAME NEW_NAME
  • Remove a task: pytm task remove TASK_NAME
  • current task's status: pytm task status
  • Finish active task: pytm task finish
  • Pause active task: pytm task pause
  • Abort active task: pytm task abort

Others

Configure project, user and invoice info:

pytm config project PROJECT_NAME
pytm config user
pytm config invoice

Generate Invoice:

pytm invoice auto PROJECT_NAME
pytm invoice manual

Check version:

pytm --version
pytm -v

Check summary of all the projects:

pytm summary

For a list of all the available commands try:

pytm --help

Running the tests

  • Clone this repository

  • Install dependencies:

    pip install -r requirements.txt
    
  • run the tests:

    py.test
    

Notes