python-pytm


Namepython-pytm JSON
Version 0.0.15 PyPI version JSON
download
home_pagehttps://github.com/wasi0013/PyTM
SummaryPyTM - an Open Source Python Time Management Tool for Mankind
upload_time2023-11-08 13:32:23
maintainer
docs_urlNone
authorWasi
requires_python
licenseMIT
keywords pytm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
             .. 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| |image2| |image3| |Contributors| |DownloadStats| |DocsStats|
=====================================================================

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


Goals
-----

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

Screenshots
-----------

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

Installing PyTM
---------------

* First download and install `pyenv <https://github.com/pyenv/pyenv#installation>`_. 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 <https://pypi.org/project/python-pytm/>`_ using :code:`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: :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 invoice

Generate Invoice::
    
    pytm invoice auto PROJECT_NAME
    pytm invoice manual

Check version::

    pytm --version
    pytm -v


For a list of all the available commands try::

    pytm --help


Running the tests
-----------------

* Clone this `repository <https://github.com/wasi0013/PyTM>`_

* Install dependencies::

    pip install -r requirements.txt

* run the tests::

    py.test


Notes
-----

* **Author** - `Wasi <https://www.wasi0013.com/>`_ - (`wasi0013 <https://github.com/wasi0013>`_).
* **License** - see the `LICENSE <LICENSE>`_ file.
* **Contributing** - see `CONTRIBUTING.rst <CONTRIBUTING.rst>`_ for detail. You can also help by creating `issues <https://github.com/wasi0013/PyTM/issues/new/>`_.
* **Version** - see the `tags on this repository <https://github.com/wasi0013/PyTM/tags>`_.
* **Acknowledgments** - bootstrapped using `this cookiecutter package <https://github.com/audreyr/cookiecutter-pypackage>`_.
* Built With :heart: using `Python <https://python.org/>`_.



Documentation
-------------

The full documentation is at http://PyTM.rtfd.org.



History
-------

0.0.1 (2018-10-23)
------------------

* First release on PyPI.

0.0.2 (2018-11-09)
------------------

* Second release on PyPI.
* Created Skeleton of the command line Interface.

0.0.3 (2023-10-18)
------------------

* Implemented data store in home directory. 
* Made project commands functional.

0.0.4 (2023-10-28)
------------------

* Implemented state.
* Improved project commands.

0.0.5 (2023-10-30)
------------------

* Made task commands functional.
* Improved project summary.
* Project summary now shows total duration of the project.

0.0.6 (2023-10-31)
------------------

* bug fix
* readme and doc update
* Improved Command line interface outputs.

0.0.7 (2023-11-01)
------------------

* Added show sub command for project.
* Added json sub command for project.
* refactored project and task commands output messages.
* fixed bugs in project sub commands.

0.0.8 (2023-11-01)
------------------

* Added config sub command.
* added command to save default user information.
* refactored project and task commands.
* fixed bugs.
* added config command to configure project meta data such as title, billable? etc.
  
0.0.9 (2023-11-02)
------------------

* Added config invoice command for configuring default invoice texts and logo.
* Added invoice sub command.
* Added invoice manual command to generate manual invoice using prompts.
* Added invoice auto <Project> command to generate invoice from existing projects.
* invoice manual and auto command generates HTML invoices using Tailwind CSS and opens it in a Browser.

0.0.10 (2023-11-03)
-------------------

* open invoices using python's standard library.
* code refactor
* bug fix

0.0.11 (2023-11-03)
-------------------

* Major bug fix.

0.0.12 (2023-11-04)
-------------------

* Bug fix.

0.0.13 (2023-11-07)
-------------------

* Made the init command optional.

0.0.14 (2023-11-07)
-------------------

* config invoice command bug fix.
* copy logo instead of moving it permanently when configuring invoice.
* fixed f strings quote issue.
* made init command hidden.
* improved doc strings and help texts.

0.0.15 (2023-11-08)
-------------------

* added new command rename for renaming existing projects.
* added new command rename for renaming existing tasks.
* updated show command to show active task and project when available.
* Simplified project start command.
* New projects can be started without project name. 
* Project started without a name will now have a default name which can be renamed later.
* Simplified task start command.
* New tasks can be started without task name. 
* Task started without a name will have a default name which can be renamed later at ease.
* Bug fix

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/wasi0013/PyTM",
    "name": "python-pytm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "PyTM",
    "author": "Wasi",
    "author_email": "wasi0013@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/03/51/b5b2cfd63912345a16e39d3f571c246ee427c63225f80f27af0240071b8a/python-pytm-0.0.15.tar.gz",
    "platform": null,
    "description": " .. 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\u0423\u0393M** -  A CLI time tracker for projects with invoice generation\n-------------------------------------------------------------------\n\n\n|image1| |image2| |image3| |Contributors| |DownloadStats| |DocsStats|\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\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 <https://github.com/pyenv/pyenv#installation>`_. 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 <https://pypi.org/project/python-pytm/>`_ 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\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 <https://github.com/wasi0013/PyTM>`_\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 <https://www.wasi0013.com/>`_ - (`wasi0013 <https://github.com/wasi0013>`_).\n* **License** - see the `LICENSE <LICENSE>`_ file.\n* **Contributing** - see `CONTRIBUTING.rst <CONTRIBUTING.rst>`_ for detail. You can also help by creating `issues <https://github.com/wasi0013/PyTM/issues/new/>`_.\n* **Version** - see the `tags on this repository <https://github.com/wasi0013/PyTM/tags>`_.\n* **Acknowledgments** - bootstrapped using `this cookiecutter package <https://github.com/audreyr/cookiecutter-pypackage>`_.\n* Built With :heart: using `Python <https://python.org/>`_.\n\n\n\nDocumentation\n-------------\n\nThe full documentation is at http://PyTM.rtfd.org.\n\n\n\nHistory\n-------\n\n0.0.1 (2018-10-23)\n------------------\n\n* First release on PyPI.\n\n0.0.2 (2018-11-09)\n------------------\n\n* Second release on PyPI.\n* Created Skeleton of the command line Interface.\n\n0.0.3 (2023-10-18)\n------------------\n\n* Implemented data store in home directory. \n* Made project commands functional.\n\n0.0.4 (2023-10-28)\n------------------\n\n* Implemented state.\n* Improved project commands.\n\n0.0.5 (2023-10-30)\n------------------\n\n* Made task commands functional.\n* Improved project summary.\n* Project summary now shows total duration of the project.\n\n0.0.6 (2023-10-31)\n------------------\n\n* bug fix\n* readme and doc update\n* Improved Command line interface outputs.\n\n0.0.7 (2023-11-01)\n------------------\n\n* Added show sub command for project.\n* Added json sub command for project.\n* refactored project and task commands output messages.\n* fixed bugs in project sub commands.\n\n0.0.8 (2023-11-01)\n------------------\n\n* Added config sub command.\n* added command to save default user information.\n* refactored project and task commands.\n* fixed bugs.\n* added config command to configure project meta data such as title, billable? etc.\n  \n0.0.9 (2023-11-02)\n------------------\n\n* Added config invoice command for configuring default invoice texts and logo.\n* Added invoice sub command.\n* Added invoice manual command to generate manual invoice using prompts.\n* Added invoice auto <Project> command to generate invoice from existing projects.\n* invoice manual and auto command generates HTML invoices using Tailwind CSS and opens it in a Browser.\n\n0.0.10 (2023-11-03)\n-------------------\n\n* open invoices using python's standard library.\n* code refactor\n* bug fix\n\n0.0.11 (2023-11-03)\n-------------------\n\n* Major bug fix.\n\n0.0.12 (2023-11-04)\n-------------------\n\n* Bug fix.\n\n0.0.13 (2023-11-07)\n-------------------\n\n* Made the init command optional.\n\n0.0.14 (2023-11-07)\n-------------------\n\n* config invoice command bug fix.\n* copy logo instead of moving it permanently when configuring invoice.\n* fixed f strings quote issue.\n* made init command hidden.\n* improved doc strings and help texts.\n\n0.0.15 (2023-11-08)\n-------------------\n\n* added new command rename for renaming existing projects.\n* added new command rename for renaming existing tasks.\n* updated show command to show active task and project when available.\n* Simplified project start command.\n* New projects can be started without project name. \n* Project started without a name will now have a default name which can be renamed later.\n* Simplified task start command.\n* New tasks can be started without task name. \n* Task started without a name will have a default name which can be renamed later at ease.\n* Bug fix\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "PyTM - an Open Source Python Time Management Tool for Mankind",
    "version": "0.0.15",
    "project_urls": {
        "Homepage": "https://github.com/wasi0013/PyTM"
    },
    "split_keywords": [
        "pytm"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6dbadaee56904d6ddb48cb4d165be63d36ee3537e36a4a79d38ac74aa04e84fd",
                "md5": "65250630b008641e7067b7d6abab45cc",
                "sha256": "bc9b9c0f3a1c5bb5fda8139d50ea6373653eb0e8cf59019e2bdfc8aae3fb25cc"
            },
            "downloads": -1,
            "filename": "python_pytm-0.0.15-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "65250630b008641e7067b7d6abab45cc",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 15642,
            "upload_time": "2023-11-08T13:32:21",
            "upload_time_iso_8601": "2023-11-08T13:32:21.977361Z",
            "url": "https://files.pythonhosted.org/packages/6d/ba/daee56904d6ddb48cb4d165be63d36ee3537e36a4a79d38ac74aa04e84fd/python_pytm-0.0.15-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0351b5b2cfd63912345a16e39d3f571c246ee427c63225f80f27af0240071b8a",
                "md5": "7818978c9a78f47a088a0d4372fbf3b0",
                "sha256": "30efd9487ddf73eefc359f62642687cf0c301ed44679aed54369c34ba066fcb9"
            },
            "downloads": -1,
            "filename": "python-pytm-0.0.15.tar.gz",
            "has_sig": false,
            "md5_digest": "7818978c9a78f47a088a0d4372fbf3b0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 16671,
            "upload_time": "2023-11-08T13:32:23",
            "upload_time_iso_8601": "2023-11-08T13:32:23.188951Z",
            "url": "https://files.pythonhosted.org/packages/03/51/b5b2cfd63912345a16e39d3f571c246ee427c63225f80f27af0240071b8a/python-pytm-0.0.15.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-08 13:32:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wasi0013",
    "github_project": "PyTM",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "python-pytm"
}
        
Elapsed time: 0.16008s