A todo client with CLI and REPL interfaces.
Project description
todo-client
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
-
Clone the repository:
git clone https://github.com/rmkane/todo-cli.git cd todo-cli
-
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:
- Fork this repository
- Create your feature branch (
git checkout -b feature/yourFeature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/yourFeature
) - Create a new Pull Request
License
This project is licensed under the MIT license - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88062e5da61a8b8d1a7182008e71e3468b2a003bd2dbb567ac9a9a5589c101c0 |
|
MD5 | eb9cbd76fb45810044f216a76689179f |
|
BLAKE2b-256 | 1107f3538c317a1558404e7a2430f2d0802243d332fbca58994a05a09795016b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8450b974e77a96473bc87628106cbfbaac41f3fc19adc94218985fb5e760ff9a |
|
MD5 | bf8fb04f40341e92f62b52d30b675363 |
|
BLAKE2b-256 | 85e64a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e |