tasktracker-ehdlg


Nametasktracker-ehdlg JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummarySimple task tracker CLI program to manage your tasks
upload_time2024-09-18 13:32:19
maintainerNone
docs_urlNone
authorEnrique Hidalgo
requires_python>=3.9
licenseNone
keywords tasks cli
VCS
bugtrack_url
requirements colorama tabulate
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Task Tracker CLI

This is a simple command-line interface (CLI) application for managing tasks. It was built as part of the [roadmap.sh Task Tracker project](https://roadmap.sh/projects/task-tracker) to practice and familiarize myself with Python, developing skills such as efficient handling of lists, lambdas, dictionaries, `argparser`, dates, reading/writing files and working with the `json` module.

## Features

The application allows users to manage tasks through terminal commands. Tasks are stored in a JSON file, and the following actions can be performed:

- Add, update, and delete tasks.
- Mark a task as "in progress", "done", or "todo".
- List all tasks.
- List tasks by status (pending, in progress, or completed).

## Requirements

- **Python**

- **Pip**

## Installation

To install and run the Task Tracker CLI, follow these steps:

1. Clone the repository:

   ```bash
   git clone https://github.com/ehdlg/task-tracker
   cd task-tracker
   ```

2. Intall the required packages with Pip:

   ```bash
   pip install -r requirements.txt
   ```

3. Run the program:

   ```bash
   python main.py
   ```

## Commands

The application accepts several commands to interact with the tasks:

```bash
    add <description>           Add a new task.
    delete <id>                 Delete an existing task.
    update <id> <description>   Update an existing task.
    mark-in-progress <id>       Mark the task as 'in progress'.
    mark-done <id>              Mark the task as 'done'.
    mark-todo <id>              Mark the task as 'todo'.
    list [filter]               List the tasks in a table.

options:
  -h, --help            Show the help message and exit.
```

## Usage Examples

1. Add a new task:

   ```bash
     python main.py add "Study Python"
   ```

2. Update a task:

   ```bash
     python main.py update 1 "Study advanced Python"
   ```

3. Delete a task:

   ```bash
     python main.py delete 1
   ```

4. Mark a task as 'in progress':

   ```bash
     python main.py mark-in-progress 1
   ```

5. Mark a task as 'done':

   ```bash
     python main.py mark-done 1
   ```

6. Mark a task as 'todo':

   ```bash
     python main.py mark-todo 1
   ```

7. List all tasks:

   ```bash
     python main.py list
   ```

8. List done tasks:

   ```bash
     python main.py list done
   ```

### Learnings

This project has allowed me to gain fluency in Python by working with:

- Efficient handling of lists and lambdas.
- Using dictionaries to manage tasks and their statuses
- Installing and using packages from the standard library.
- Reading and writing JSON files to persist using the json module.
- Using the argparse module to process command-line arguments.
- Handling dates to add timestamps to tasks.

### Objectives

The goal of this project is to continue improving my Python skills, deepening my understanding of the language, and familiarizing myself with developing CLI applications that interact with files and handle terminal arguments

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tasktracker-ehdlg",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "tasks, cli",
    "author": "Enrique Hidalgo",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/7e/ae/8c7743997ec91ac55041845a297f9cbf1a9dcd93778e66a1b2c416ee6f61/tasktracker_ehdlg-1.0.1.tar.gz",
    "platform": null,
    "description": "# Task Tracker CLI\n\nThis is a simple command-line interface (CLI) application for managing tasks. It was built as part of the [roadmap.sh Task Tracker project](https://roadmap.sh/projects/task-tracker) to practice and familiarize myself with Python, developing skills such as efficient handling of lists, lambdas, dictionaries, `argparser`, dates, reading/writing files and working with the `json` module.\n\n## Features\n\nThe application allows users to manage tasks through terminal commands. Tasks are stored in a JSON file, and the following actions can be performed:\n\n- Add, update, and delete tasks.\n- Mark a task as \"in progress\", \"done\", or \"todo\".\n- List all tasks.\n- List tasks by status (pending, in progress, or completed).\n\n## Requirements\n\n- **Python**\n\n- **Pip**\n\n## Installation\n\nTo install and run the Task Tracker CLI, follow these steps:\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/ehdlg/task-tracker\n   cd task-tracker\n   ```\n\n2. Intall the required packages with Pip:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Run the program:\n\n   ```bash\n   python main.py\n   ```\n\n## Commands\n\nThe application accepts several commands to interact with the tasks:\n\n```bash\n    add <description>           Add a new task.\n    delete <id>                 Delete an existing task.\n    update <id> <description>   Update an existing task.\n    mark-in-progress <id>       Mark the task as 'in progress'.\n    mark-done <id>              Mark the task as 'done'.\n    mark-todo <id>              Mark the task as 'todo'.\n    list [filter]               List the tasks in a table.\n\noptions:\n  -h, --help            Show the help message and exit.\n```\n\n## Usage Examples\n\n1. Add a new task:\n\n   ```bash\n     python main.py add \"Study Python\"\n   ```\n\n2. Update a task:\n\n   ```bash\n     python main.py update 1 \"Study advanced Python\"\n   ```\n\n3. Delete a task:\n\n   ```bash\n     python main.py delete 1\n   ```\n\n4. Mark a task as 'in progress':\n\n   ```bash\n     python main.py mark-in-progress 1\n   ```\n\n5. Mark a task as 'done':\n\n   ```bash\n     python main.py mark-done 1\n   ```\n\n6. Mark a task as 'todo':\n\n   ```bash\n     python main.py mark-todo 1\n   ```\n\n7. List all tasks:\n\n   ```bash\n     python main.py list\n   ```\n\n8. List done tasks:\n\n   ```bash\n     python main.py list done\n   ```\n\n### Learnings\n\nThis project has allowed me to gain fluency in Python by working with:\n\n- Efficient handling of lists and lambdas.\n- Using dictionaries to manage tasks and their statuses\n- Installing and using packages from the standard library.\n- Reading and writing JSON files to persist using the json module.\n- Using the argparse module to process command-line arguments.\n- Handling dates to add timestamps to tasks.\n\n### Objectives\n\nThe goal of this project is to continue improving my Python skills, deepening my understanding of the language, and familiarizing myself with developing CLI applications that interact with files and handle terminal arguments\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Simple task tracker CLI program to manage your tasks",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/ehdlg/task-tracker"
    },
    "split_keywords": [
        "tasks",
        " cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb6dbe82848cdf095749b41b921737e7ced08c5d2a430e3ba7c5114d08537233",
                "md5": "bac36654689626a506d2e31386bfe6eb",
                "sha256": "bdba8a753d40b75ba4027d3d2fd8c0b38ca89bf6fcaed5d7448896bf0c4afc28"
            },
            "downloads": -1,
            "filename": "tasktracker_ehdlg-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bac36654689626a506d2e31386bfe6eb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 5367,
            "upload_time": "2024-09-18T13:32:18",
            "upload_time_iso_8601": "2024-09-18T13:32:18.046093Z",
            "url": "https://files.pythonhosted.org/packages/cb/6d/be82848cdf095749b41b921737e7ced08c5d2a430e3ba7c5114d08537233/tasktracker_ehdlg-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7eae8c7743997ec91ac55041845a297f9cbf1a9dcd93778e66a1b2c416ee6f61",
                "md5": "7c6adde4e0e02c4d4d7486f30a01238f",
                "sha256": "1654d9c87a24ec1faca6a503862779cab115b6084a6f80128ea067002a40e960"
            },
            "downloads": -1,
            "filename": "tasktracker_ehdlg-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7c6adde4e0e02c4d4d7486f30a01238f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4379,
            "upload_time": "2024-09-18T13:32:19",
            "upload_time_iso_8601": "2024-09-18T13:32:19.059214Z",
            "url": "https://files.pythonhosted.org/packages/7e/ae/8c7743997ec91ac55041845a297f9cbf1a9dcd93778e66a1b2c416ee6f61/tasktracker_ehdlg-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-18 13:32:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ehdlg",
    "github_project": "task-tracker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        }
    ],
    "lcname": "tasktracker-ehdlg"
}
        
Elapsed time: 9.79881s