Simple To-Do List Manager
A simple command-line interface (CLI) application to manage your to-do list.
- 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
- Python 3.7+
-
make
utility
-
Clone the repository:
git clone https://github.com/rmkane/todo-cli.git cd todo-cli
-
Create a virtual environment and install dependencies:
./install.sh
The CLI supports the following commands:
todo-cli {add,remove,list,clear,done} [--file FILE] [--repl]
-
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
-
--file FILE: Specify the to-do list file
todo list --file mytasks.txt
-
--repl: Enter REPL (Read-Eval-Print Loop) mode
todo --repl
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
Here are some examples of how to use this package:
from todo_client.example import add_one
print(add_one(1)) # 2
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.
See CHANGELOG.md for details.
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
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
This project is licensed under the MIT license - see the LICENSE file for details.