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
Hashes for todo_client-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8450b974e77a96473bc87628106cbfbaac41f3fc19adc94218985fb5e760ff9a |
|
MD5 | bf8fb04f40341e92f62b52d30b675363 |
|
BLAKE2b-256 | 85e64a643aa69abfab9e5558f28f60721f650d66f248a6cf9cf0ef6662a7dd8e |