Skip to main content

A todo client with CLI and REPL interfaces.

Project description

todo-client

PyPI version License

Simple To-Do List Manager

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

Table of Contents

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:

    git clone https://github.com/rmkane/todo-cli.git
    cd todo-cli
    
  2. Create a virtual environment and install dependencies:

    ./install.sh
    

Usage

The CLI supports the following commands:

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

Commands

  • add: Add a new task

    todo add "Your new task"
    
  • remove: Remove a task by index

    todo remove 1
    
  • done: Mark a task as done by index

    todo done 1
    
  • list: List all tasks

    todo list
    
  • clear: Clear all tasks

    todo clear
    

Optional Arguments

  • --file FILE: Specify the to-do list file

    todo list --file mytasks.txt
    
  • --repl: Enter REPL (Read-Eval-Print Loop) mode

    todo --repl
    

Installation

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

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

To install from PyPI:

pip install todo-client

To install locally:

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

Usage

Here are some examples of how to use this package:

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

Updating the Changelog

To update the changelog, please use the following format:

## [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

License

This project is licensed under the MIT license - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todo_client-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

todo_client-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file todo_client-0.1.0.tar.gz.

File metadata

  • Download URL: todo_client-0.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.5.0

File hashes

Hashes for todo_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 88062e5da61a8b8d1a7182008e71e3468b2a003bd2dbb567ac9a9a5589c101c0
MD5 eb9cbd76fb45810044f216a76689179f
BLAKE2b-256 1107f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b

See more details on using hashes here.

File details

Details for the file todo_client-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: todo_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.5.0

File hashes

Hashes for todo_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8450b974e77a96473bc87628106cbfbaac41f3fc19adc94218985fb5e760ff9a
MD5 bf8fb04f40341e92f62b52d30b675363
BLAKE2b-256 85e64a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page