{"id":28563588,"url":"https://github.com/wasi0013/PyTM","last_synced_at":"2025-06-10T13:02:44.148Z","repository":{"id":33180989,"uuid":"154284378","full_name":"wasi0013/PyTM","owner":"wasi0013","description":"A Python :snake: :three: CLI time tracker with invoice generation","archived":false,"fork":false,"pushed_at":"2023-11-10T18:10:55.000Z","size":9353,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-24T12:06:19.802Z","etag":null,"topics":["billing","cli","click","hacktoberfest","invoice","invoice-generator","python-pytm","python3","python312","rich","time","time-tracker","time-tracking"],"latest_commit_sha":null,"homepage":"https://pytm.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wasi0013.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-23T07:40:47.000Z","updated_at":"2025-02-27T06:47:14.000Z","dependencies_parsed_at":"2023-10-24T04:39:34.890Z","dependency_job_id":"32968c56-1b7e-4826-ba60-3ea5f8dfd48e","html_url":"https://github.com/wasi0013/PyTM","commit_stats":{"total_commits":101,"total_committers":4,"mean_commits":25.25,"dds":"0.37623762376237624","last_synced_commit":"a5f88ffcdc7809190c74c8ece254e9751b09b1c7"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wasi0013%2FPyTM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wasi0013%2FPyTM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wasi0013%2FPyTM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wasi0013%2FPyTM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wasi0013","download_url":"https://codeload.github.com/wasi0013/PyTM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wasi0013%2FPyTM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259080921,"owners_count":22802393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["billing","cli","click","hacktoberfest","invoice","invoice-generator","python-pytm","python3","python312","rich","time","time-tracker","time-tracking"],"created_at":"2025-06-10T13:02:26.930Z","updated_at":"2025-06-10T13:02:44.134Z","avatar_url":"https://github.com/wasi0013.png","language":"Python","funding_links":[],"categories":["Time Tracking CLI Tools"],"sub_categories":[],"readme":" .. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/PyTM-logo.png\n    :target: https://github.com/wasi0013/PyTM/\n    :alt: PyTM - Logo\n\n\n\n\n**PУΓM** -  A CLI time tracker for projects with invoice generation\n-------------------------------------------------------------------\n\n\n|image1| |coverage| |image3| |Contributors| |DownloadStats| |DocsStats| |image2|\n================================================================================\n\n.. |image1| image:: https://badge.fury.io/py/python-pytm.png\n   :target: https://badge.fury.io/py/python-pytm\n.. |image2| image:: https://img.shields.io/pypi/l/python-pytm.svg\n   :target: https://pypi.org/project/python-pytm/\n.. |image3| image:: https://img.shields.io/pypi/pyversions/python-pytm.svg\n   :target: https://pypi.org/project/python-pytm/\n   :alt: Supported Python Versions\n.. |Contributors| image:: https://img.shields.io/github/contributors/wasi0013/PyTM.svg\n   :target: https://github.com/wasi0013/PyTM/graphs/contributors\n   :alt: List of Contributors\n.. |DownloadStats| image:: https://pepy.tech/badge/python-pytm\n   :target: https://pepy.tech/project/python-pytm\n   :alt: Download Stats\n.. |DocsStats| image:: https://readthedocs.org/projects/pytm/badge/?version=latest\n   :target: https://pytm.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n.. |coverage| image:: https://img.shields.io/badge/coverage-56%25-blue\n   :target: https://pytm.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\nGoals\n-----\n\nProject time management, billing, and invoice generation.\n\nPreview\n-------\n\n .. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.gif\n    :target: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.gif\n    :alt: PyTM - Preview\n\nScreenshots\n-----------\n\n .. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/demo.png\n    :target: https://github.com/wasi0013/PyTM/\n    :alt: PyTM - Screenshot\n\n .. image:: https://github.com/wasi0013/PyTM/raw/master/ext/images/Demo-Invoice.png\n    :target: https://github.com/wasi0013/PyTM/\n    :alt: PyTM - Invoice\n\nInstalling PyTM\n---------------\n\n* First download and install `pyenv \u003chttps://github.com/pyenv/pyenv#installation\u003e`_. Use the command::\n\n    curl https://pyenv.run | bash\n\n* Next, install Python 3.12 using the command::\n\n    pyenv install 3.12.0\n\n  Alternatively, you can skip pyenv installation and download python 3.12 or above from the official website and setup a virtualenv as well. \n\n\n* Next, install PyTM from `PyPI \u003chttps://pypi.org/project/python-pytm/\u003e`_ using :code:`pip`::\n\n    python -m pip install python-pytm\n\nCheck the version by typing the following in your terminal.::\n    \n     pytm --version\n\n\nBasic commands\n---------------\n\nTo see the available commands type::\n\n    pytm --help\n\n\nCommands related to projects\n============================\n* Start a new project with a default name: :code:`pytm project start`\n* Start a new project with the given name or, start an existing project: :code:`pytm project start PROJECT_NAME`\n* Rename a project: :code:`pytm project rename OLD_PROJECT_NAME NEW_NAME`\n* Remove a project: :code:`pytm project remove PROJECT_NAME`\n* Check the status of a project: :code:`pytm project status PROJECT_NAME`\n* Check the list of tasks and duration of a project: :code:`pytm project summary PROJECT_NAME`\n* Finish active project: :code:`pytm project finish`\n* Pause active project: :code:`pytm project pause`\n* Abort active project: :code:`pytm project abort`\n\nCommands related to Task\n========================\n* Start a new task with a default name in the current active project: :code:`pytm task start`\n* Start a new task with the given name or existing task in the current active project: :code:`pytm task start TASK_NAME`\n* Rename a task of the active project: :code:`pytm task rename OLD_TASK_NAME NEW_NAME`\n* Remove a task: :code:`pytm task remove TASK_NAME`\n* current task's status: :code:`pytm task status`\n* Finish active task: :code:`pytm task finish`\n* Pause active task: :code:`pytm task pause`\n* Abort active task: :code:`pytm task abort`\n\nOthers\n======\nConfigure project, user and invoice info::\n\n    pytm config project PROJECT_NAME\n    pytm config user\n    pytm config invoice\n\nGenerate Invoice::\n    \n    pytm invoice auto PROJECT_NAME\n    pytm invoice manual\n\nCheck version::\n\n    pytm --version\n    pytm -v\n\nCheck summary of all the projects::\n\n    pytm summary\n\nFor a list of all the available commands try::\n\n    pytm --help\n\n\nRunning the tests\n-----------------\n\n* Clone this `repository \u003chttps://github.com/wasi0013/PyTM\u003e`_\n\n* Install dependencies::\n\n    pip install -r requirements.txt\n\n* run the tests::\n\n    py.test\n\n\nNotes\n-----\n\n* **Author** - `Wasi \u003chttps://www.wasi0013.com/\u003e`_ - (`wasi0013 \u003chttps://github.com/wasi0013\u003e`_).\n* **License** - see the `LICENSE \u003cLICENSE\u003e`_ file.\n* **Contributing** - see `CONTRIBUTING.rst \u003cCONTRIBUTING.rst\u003e`_ for detail. You can also help by creating `issues \u003chttps://github.com/wasi0013/PyTM/issues/new/\u003e`_.\n* **Version** - see the `tags on this repository \u003chttps://github.com/wasi0013/PyTM/tags\u003e`_.\n* **Acknowledgments** - bootstrapped using `this cookiecutter package \u003chttps://github.com/audreyr/cookiecutter-pypackage\u003e`_.\n* Built With :heart: using `Python \u003chttps://python.org/\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwasi0013%2FPyTM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwasi0013%2FPyTM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwasi0013%2FPyTM/lists"}