Skip to main content

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.

Metadata

Release files for todo-client 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for todo-client 0.1.0
File Size Uploaded Provenance Actions
todo_client-0.1.0.tar.gz 9.0 kB Without provenance Details for todo_client-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for todo-client 0.1.0
File Interpreter ABI Platform Actions
todo_client-0.1.0-py3-none-any.whl Python 3 none any Details for todo_client-0.1.0-py3-none-any.whl

Total release size: 19.2 kB

Release files / todo_client-0.1.0.tar.gz

Download URL todo_client-0.1.0.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
88062e5da61a8b8d1a7182008e71e3468b2a003bd2dbb567ac9a9a5589c101c0
BLAKE2b-256 checksum
How to use checksums
1107f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/23.5.0

Release files / todo_client-0.1.0-py3-none-any.whl

Download URL todo_client-0.1.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8450b974e77a96473bc87628106cbfbaac41f3fc19adc94218985fb5e760ff9a
BLAKE2b-256 checksum
How to use checksums
85e64a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Darwin/23.5.0

Security for todo-client 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page