Coder Social home page Coder Social logo

wasi0013 / pytm Goto Github PK

View Code? Open in Web Editor NEW
17.0 2.0 2.0 9.13 MB

A Python :snake: :three: CLI time tracker with invoice generation

Home Page: https://pytm.readthedocs.io/

License: MIT License

Makefile 3.04% Python 96.96%
python3 time python-pytm hacktoberfest billing cli click invoice invoice-generator rich

pytm's Introduction

PyTM - Logo

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

image1 Documentation Status Supported Python Versions List of Contributors Download Stats Documentation Status image2

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

pytm's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar pyprism avatar wasi0013 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

adnan-alam aareon

pytm's Issues

SyntaxError after install

File "...\PyTM-f4mTLz1x\Lib\site-packages\python_pytm-0.0.12-py3.11.egg\PyTM\cli.py", line 98
    table.add_row(key, f'{datetime.datetime.fromisoformat(value['created_at']).strftime("%Y, %B, %d, %H:%M:%S %p")}', value['status'])
                                                                 ^^^^^^^^^^
SyntaxError: f-string: unmatched '['

SyntaxError: f-string expression part cannot include a backslash

Describe the bug
SyntaxError: f-string expression part cannot include a backslash

pytm --version
Traceback (most recent call last):
File "../bin/pytm", line 5, in
from PyTM.cli import cli
File "../lib/python3.10/site-packages/PyTM/cli.py", line 16, in
from PyTM.core import data_handler, invoice_handler
File "../lib/python3.10/site-packages/PyTM/core/invoice_handler.py", line 116
"""

Python version: 3.10.11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.