todo-client


Nametodo-client JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/rmkane/todo-client
SummaryA todo client with CLI and REPL interfaces.
upload_time2024-06-13 00:21:30
maintainerNone
docs_urlNone
authorRyan Kane
requires_python<4.0,>=3.9
licenseMIT
keywords todo client cli repl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # todo-client

[![PyPI version](https://badge.fury.io/py/todo-client.svg)](https://badge.fury.io/py/todo-client)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

> Simple To-Do List Manager

A simple command-line interface (CLI) application to manage your to-do list.

## Table of Contents

- [todo-client](#todo-client)
    - [Features](#features)
    - [Requirements](#requirements)
    - [Setup](#setup)
    - [Usage](#usage)
        - [Commands](#commands)
    - [Installation](#installation)
    - [Usage](#usage)
    - [Build Instructions](#build-instructions)
        - [Commands](#commands)
    - [Changelog](#changelog)
        - [Updating the Changelog](#updating-the-changelog)
    - [Contributing](#contributing)
    - [License](#license)

## Features

- Add a new task
- Remove a task by index
- Mark a task as done by index
- List all tasks
- Clear all tasks
- Optionally specify the to-do list file
- Enter REPL mode

## Requirements

- Python 3.7+
- `make` utility

## Setup

1. Clone the repository:
   ```bash
   git clone https://github.com/rmkane/todo-cli.git
   cd todo-cli
   ```

2. Create a virtual environment and install dependencies:
   ```bash
   ./install.sh
   ```

## Usage

The CLI supports the following commands:

```bash
todo-cli {add,remove,list,clear,done} [--file FILE] [--repl]
```

### Commands

- **add**: Add a new task
   ```bash
   todo add "Your new task"
   ```

- **remove**: Remove a task by index
   ```bash
   todo remove 1
   ```

- **done**: Mark a task as done by index
   ```bash
   todo done 1
   ```

- **list**: List all tasks
   ```bash
   todo list
   ```

- **clear**: Clear all tasks
   ```bash
   todo clear
   ```

### Optional Arguments

- **--file FILE**: Specify the to-do list file
   ```bash
   todo list --file mytasks.txt
   ```

- **--repl**: Enter REPL (Read-Eval-Print Loop) mode
   ```bash
   todo --repl
   ```

## Installation

To install this package, you can clone the repository using the following command:

```shell
git clone https://github.com/rmkane/packaging_tutorial.git
```

To install from PyPI:

```shell
pip install todo-client
```

To install locally:

```shell
make install   # Install
.venv/bin/todo # Run
```

## Usage

Here are some examples of how to use this package:

```python
from todo_client.example import add_one

print(add_one(1))  # 2
```

## Build Instructions

This project uses a Makefile for managing build tasks. Here are some of the commands you can use:

- `make all`: Default target, sets up the virtual environment and runs the build.
- `make create_venv`: Creates a virtual environment and installs Poetry.
- `make activate`: Activates the virtual environment.
- `make install_deps`: Installs project dependencies using Poetry.
- `make build`: Sets up the virtual environment, installs dependencies, and runs the build.
- `make publish`: Builds the project and uploads it to TestPyPI.
- `make test`: Runs tests using pytest.
- `make format`: Formats code using black.
- `make apidoc`: Generates Sphinx `.rst` files.
- `make docs`: Builds Sphinx documentation.
- `make clean`: Removes build artifacts.
- `make clean_all`: Removes the virtual environment, build artifacts, and `__pycache__` directories.
- `make help`: Shows available make targets.

Remember to run `source .venv/bin/activate` to activate the virtual environment before running the build commands.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for details.

### Updating the Changelog

To update the changelog, please use the following format:

```markdown
## [Unreleased]

### Added

- New features that have been added since the last release

### Changed

- Changes to existing functionality

### Deprecated

- Features that will be removed in upcoming releases

### Removed

- Features that have been removed

### Fixed

- Any bug fixes

### Security

- Any security enhancements
```

## Contributing

We welcome contributions to this project! To contribute:

1. Fork this repository
2. Create your feature branch (`git checkout -b feature/yourFeature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin feature/yourFeature`)
5. Create a new [Pull Request](https://github.com/rmkane/packaging_tutorial/pulls)

## License

This project is licensed under the MIT license - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rmkane/todo-client",
    "name": "todo-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "todo, client, cli, repl",
    "author": "Ryan Kane",
    "author_email": "rmkane@proton.me",
    "download_url": "https://files.pythonhosted.org/packages/11/07/f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b/todo_client-0.1.0.tar.gz",
    "platform": null,
    "description": "# todo-client\n\n[![PyPI version](https://badge.fury.io/py/todo-client.svg)](https://badge.fury.io/py/todo-client)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n> Simple To-Do List Manager\n\nA simple command-line interface (CLI) application to manage your to-do list.\n\n## Table of Contents\n\n- [todo-client](#todo-client)\n    - [Features](#features)\n    - [Requirements](#requirements)\n    - [Setup](#setup)\n    - [Usage](#usage)\n        - [Commands](#commands)\n    - [Installation](#installation)\n    - [Usage](#usage)\n    - [Build Instructions](#build-instructions)\n        - [Commands](#commands)\n    - [Changelog](#changelog)\n        - [Updating the Changelog](#updating-the-changelog)\n    - [Contributing](#contributing)\n    - [License](#license)\n\n## Features\n\n- Add a new task\n- Remove a task by index\n- Mark a task as done by index\n- List all tasks\n- Clear all tasks\n- Optionally specify the to-do list file\n- Enter REPL mode\n\n## Requirements\n\n- Python 3.7+\n- `make` utility\n\n## Setup\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/rmkane/todo-cli.git\n   cd todo-cli\n   ```\n\n2. Create a virtual environment and install dependencies:\n   ```bash\n   ./install.sh\n   ```\n\n## Usage\n\nThe CLI supports the following commands:\n\n```bash\ntodo-cli {add,remove,list,clear,done} [--file FILE] [--repl]\n```\n\n### Commands\n\n- **add**: Add a new task\n   ```bash\n   todo add \"Your new task\"\n   ```\n\n- **remove**: Remove a task by index\n   ```bash\n   todo remove 1\n   ```\n\n- **done**: Mark a task as done by index\n   ```bash\n   todo done 1\n   ```\n\n- **list**: List all tasks\n   ```bash\n   todo list\n   ```\n\n- **clear**: Clear all tasks\n   ```bash\n   todo clear\n   ```\n\n### Optional Arguments\n\n- **--file FILE**: Specify the to-do list file\n   ```bash\n   todo list --file mytasks.txt\n   ```\n\n- **--repl**: Enter REPL (Read-Eval-Print Loop) mode\n   ```bash\n   todo --repl\n   ```\n\n## Installation\n\nTo install this package, you can clone the repository using the following command:\n\n```shell\ngit clone https://github.com/rmkane/packaging_tutorial.git\n```\n\nTo install from PyPI:\n\n```shell\npip install todo-client\n```\n\nTo install locally:\n\n```shell\nmake install   # Install\n.venv/bin/todo # Run\n```\n\n## Usage\n\nHere are some examples of how to use this package:\n\n```python\nfrom todo_client.example import add_one\n\nprint(add_one(1))  # 2\n```\n\n## Build Instructions\n\nThis project uses a Makefile for managing build tasks. Here are some of the commands you can use:\n\n- `make all`: Default target, sets up the virtual environment and runs the build.\n- `make create_venv`: Creates a virtual environment and installs Poetry.\n- `make activate`: Activates the virtual environment.\n- `make install_deps`: Installs project dependencies using Poetry.\n- `make build`: Sets up the virtual environment, installs dependencies, and runs the build.\n- `make publish`: Builds the project and uploads it to TestPyPI.\n- `make test`: Runs tests using pytest.\n- `make format`: Formats code using black.\n- `make apidoc`: Generates Sphinx `.rst` files.\n- `make docs`: Builds Sphinx documentation.\n- `make clean`: Removes build artifacts.\n- `make clean_all`: Removes the virtual environment, build artifacts, and `__pycache__` directories.\n- `make help`: Shows available make targets.\n\nRemember to run `source .venv/bin/activate` to activate the virtual environment before running the build commands.\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for details.\n\n### Updating the Changelog\n\nTo update the changelog, please use the following format:\n\n```markdown\n## [Unreleased]\n\n### Added\n\n- New features that have been added since the last release\n\n### Changed\n\n- Changes to existing functionality\n\n### Deprecated\n\n- Features that will be removed in upcoming releases\n\n### Removed\n\n- Features that have been removed\n\n### Fixed\n\n- Any bug fixes\n\n### Security\n\n- Any security enhancements\n```\n\n## Contributing\n\nWe welcome contributions to this project! To contribute:\n\n1. Fork this repository\n2. Create your feature branch (`git checkout -b feature/yourFeature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin feature/yourFeature`)\n5. Create a new [Pull Request](https://github.com/rmkane/packaging_tutorial/pulls)\n\n## License\n\nThis project is licensed under the MIT license - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A todo client with CLI and REPL interfaces.",
    "version": "0.1.0",
    "project_urls": {
        "Documentation": "https://github.com/rmkane/todo-client",
        "Homepage": "https://github.com/rmkane/todo-client",
        "Repository": "https://github.com/rmkane/todo-client"
    },
    "split_keywords": [
        "todo",
        " client",
        " cli",
        " repl"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "85e64a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e",
                "md5": "bf8fb04f40341e92f62b52d30b675363",
                "sha256": "8450b974e77a96473bc87628106cbfbaac41f3fc19adc94218985fb5e760ff9a"
            },
            "downloads": -1,
            "filename": "todo_client-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bf8fb04f40341e92f62b52d30b675363",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 10152,
            "upload_time": "2024-06-13T00:21:29",
            "upload_time_iso_8601": "2024-06-13T00:21:29.088496Z",
            "url": "https://files.pythonhosted.org/packages/85/e6/4a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e/todo_client-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1107f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b",
                "md5": "eb9cbd76fb45810044f216a76689179f",
                "sha256": "88062e5da61a8b8d1a7182008e71e3468b2a003bd2dbb567ac9a9a5589c101c0"
            },
            "downloads": -1,
            "filename": "todo_client-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "eb9cbd76fb45810044f216a76689179f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 9021,
            "upload_time": "2024-06-13T00:21:30",
            "upload_time_iso_8601": "2024-06-13T00:21:30.567975Z",
            "url": "https://files.pythonhosted.org/packages/11/07/f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b/todo_client-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-13 00:21:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rmkane",
    "github_project": "todo-client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "todo-client"
}
        
Elapsed time: 1.59950s