Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wasi0013/pytm
A Python :snake: :three: CLI time tracker with invoice generation
https://github.com/wasi0013/pytm
billing cli click hacktoberfest invoice invoice-generator python-pytm python3 python312 rich time time-tracker time-tracking
Last synced: 4 days ago
JSON representation
A Python :snake: :three: CLI time tracker with invoice generation
- Host: GitHub
- URL: https://github.com/wasi0013/pytm
- Owner: wasi0013
- License: mit
- Created: 2018-10-23T07:40:47.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-10T18:10:55.000Z (about 1 year ago)
- Last Synced: 2024-09-16T23:58:37.182Z (about 2 months ago)
- Topics: billing, cli, click, hacktoberfest, invoice, invoice-generator, python-pytm, python3, python312, rich, time, time-tracker, time-tracking
- Language: Python
- Homepage: https://pytm.readthedocs.io/
- Size: 8.92 MB
- Stars: 17
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: HISTORY.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
.. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/PyTM-logo.png
:target: https://github.com/wasi0013/PyTM/
:alt: PyTM - Logo**PУΓM** - A CLI time tracker for projects with invoice generation
-------------------------------------------------------------------|image1| |coverage| |image3| |Contributors| |DownloadStats| |DocsStats| |image2|
================================================================================.. |image1| image:: https://badge.fury.io/py/python-pytm.png
:target: https://badge.fury.io/py/python-pytm
.. |image2| image:: https://img.shields.io/pypi/l/python-pytm.svg
:target: https://pypi.org/project/python-pytm/
.. |image3| image:: https://img.shields.io/pypi/pyversions/python-pytm.svg
:target: https://pypi.org/project/python-pytm/
:alt: Supported Python Versions
.. |Contributors| image:: https://img.shields.io/github/contributors/wasi0013/PyTM.svg
:target: https://github.com/wasi0013/PyTM/graphs/contributors
:alt: List of Contributors
.. |DownloadStats| image:: https://pepy.tech/badge/python-pytm
:target: https://pepy.tech/project/python-pytm
:alt: Download Stats
.. |DocsStats| image:: https://readthedocs.org/projects/pytm/badge/?version=latest
:target: https://pytm.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. |coverage| image:: https://img.shields.io/badge/coverage-56%25-blue
:target: https://pytm.readthedocs.io/en/latest/?badge=latest
:alt: Documentation StatusGoals
-----Project time management, billing, and invoice generation.
Preview
-------.. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.gif
:target: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.gif
:alt: PyTM - PreviewScreenshots
-----------.. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.png
:target: https://github.com/wasi0013/PyTM/
:alt: PyTM - Screenshot.. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/Demo-Invoice.png
:target: https://github.com/wasi0013/PyTM/
:alt: PyTM - InvoiceInstalling 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 :code:`pip`::
python -m pip install python-pytm
Check the version by typing the following in your terminal.::
pytm --versionBasic commands
---------------To see the available commands type::
pytm --help
Commands related to projects
============================
* Start a new project with a default name: :code:`pytm project start`
* Start a new project with the given name or, start an existing project: :code:`pytm project start PROJECT_NAME`
* Rename a project: :code:`pytm project rename OLD_PROJECT_NAME NEW_NAME`
* Remove a project: :code:`pytm project remove PROJECT_NAME`
* Check the status of a project: :code:`pytm project status PROJECT_NAME`
* Check the list of tasks and duration of a project: :code:`pytm project summary PROJECT_NAME`
* Finish active project: :code:`pytm project finish`
* Pause active project: :code:`pytm project pause`
* Abort active project: :code:`pytm project abort`Commands related to Task
========================
* Start a new task with a default name in the current active project: :code:`pytm task start`
* Start a new task with the given name or existing task in the current active project: :code:`pytm task start TASK_NAME`
* Rename a task of the active project: :code:`pytm task rename OLD_TASK_NAME NEW_NAME`
* Remove a task: :code:`pytm task remove TASK_NAME`
* current task's status: :code:`pytm task status`
* Finish active task: :code:`pytm task finish`
* Pause active task: :code:`pytm task pause`
* Abort active task: :code:`pytm task abort`Others
======
Configure project, user and invoice info::pytm config project PROJECT_NAME
pytm config user
pytm config invoiceGenerate Invoice::
pytm invoice auto PROJECT_NAME
pytm invoice manualCheck version::
pytm --version
pytm -vCheck 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
-----* **Author** - `Wasi `_ - (`wasi0013 `_).
* **License** - see the `LICENSE `_ file.
* **Contributing** - see `CONTRIBUTING.rst `_ for detail. You can also help by creating `issues `_.
* **Version** - see the `tags on this repository `_.
* **Acknowledgments** - bootstrapped using `this cookiecutter package `_.
* Built With :heart: using `Python `_.