A modern and productive CLI for managing your daily tasks.
Project description
✅ kpihx-todo
Un outil en ligne de commande (CLI) moderne et productif pour gérer vos tâches quotidiennes, construit avec Python et Typer.
✨ Fonctionnalités
- 📝 Gestion complète : Ajoutez, supprimez et basculez le statut de vos tâches en toute simplicité.
- 🔍 Recherche et tri puissants : Filtrez les tâches par statut (terminées/non terminées) et triez-les par nom ou par ID.
- 🚀 Recherche par Regex : Trouvez des tâches avec des motifs de recherche avancés grâce aux expressions régulières.
- 🛡️ Sécurité avant tout : Les commandes destructrices (comme
deleteetempty) demandent une confirmation pour éviter les erreurs. - 🐳 Prêt pour Docker : Utilisez l'application dans un environnement conteneurisé pour une portabilité maximale.
- 💻 Multi-plateforme : Fonctionne sur macOS, Linux et Windows.
🚀 Installation
Il est recommandé d'installer kpihx-todo avec pipx pour l'isoler dans son propre environnement et rendre la commande todo disponible globalement.
Depuis PyPI (Méthode recommandée)
Le paquet est publié sur PyPI sous le nom kpihx-todo.
# Installe le paquet et expose la commande 'todo'
pipx install kpihx-todo
Depuis un clone local
Si vous souhaitez installer à partir des sources :
# 1. Clonez le dépôt
git clone https://github.com/votre-nom-utilisateur/kpihx-todo.git
cd kpihx-todo
# 2. Installez avec pipx
pipx install .
🛠️ Guide d'utilisation
❓ Obtenir de l'aide
L'aide est intégrée directement dans l'outil.
# Aide générale et liste de toutes les commandes
todo --help
# Aide spécifique pour une commande (par exemple, 'list')
todo list --help
📋 Commandes principales
Ajouter une tâche
todo add "Apprendre à utiliser ce super outil CLI"
Lister les tâches
La commande list est très puissante. Voici quelques exemples :
# Lister toutes les tâches
todo list
# Afficher uniquement les tâches terminées
todo list --done
# Afficher uniquement les tâches non terminées
todo list --not-done
# Trier les tâches par nom par ordre décroissant
todo list --sort-by-name desc
# Trouver les tâches qui commencent par "Acheter" (insensible à la casse)
todo list --query "^Acheter"
Gérer les tâches
# Marquer la tâche n°2 comme terminée
todo done 2
# Basculer le statut de la tâche n°3 (terminée <-> non terminée)
todo toggle 3
# Supprimer la tâche n°5
todo delete 5
Vider la liste
Cette commande supprime toutes les tâches.
# Supprimer toutes les tâches (avec confirmation)
todo empty
🐳 Utilisation avec Docker
Vous pouvez également exécuter l'application via Docker, ce qui est parfait pour une utilisation isolée sans rien installer sur votre machine hôte.
Lancer des commandes
Pour que vos données persistent entre les lancements, il est essentiel d'utiliser un volume pour lier le fichier de base de données du conteneur à un fichier sur votre machine.
# Assurez-vous que le fichier existe sur votre machine
touch ~/.todo_cli.json
# Exemple : Ajouter une tâche
docker run --rm -v ~/.todo_cli.json:/root/.todo_cli.json kpihx-todo add "Ma tâche Docker"
# Exemple : Lister les tâches
docker run --rm -v ~/.todo_cli.json:/root/.todo_cli.json kpihx-todo list
Note : L'option
--rmsupprime le conteneur après chaque exécution, gardant votre système propre.
Avec Docker Compose (Méthode simplifiée)
Pour une expérience encore plus simple, vous pouvez utiliser le fichier docker-compose.yml inclus dans le projet. Il pré-configure le volume pour vous, rendant les commandes beaucoup plus courtes.
# Exemple : Ajouter une tâche
docker compose run --rm todo add "Ma tâche avec Docker Compose"
# Exemple : Lister les tâches
docker compose run --rm todo list
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file k_todo-0.5.0.tar.gz.
File metadata
- Download URL: k_todo-0.5.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
956dd50c96f5d856662b9bb2ce21e9f686d8a0a56d34669e790e424dbe718475
|
|
| MD5 |
0ff0de530da07f89bb0fa4f9eb19c9d9
|
|
| BLAKE2b-256 |
398c8820be56f28c510effa294797e5ed2afeeecc432edffea5c7c268c8f5505
|
File details
Details for the file k_todo-0.5.0-py3-none-any.whl.
File metadata
- Download URL: k_todo-0.5.0-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.3 {"installer":{"name":"uv","version":"0.10.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68adf8da7989cd9cc02301234813fbf9d0e19055b40e3a4d4f9d1071575330c5
|
|
| MD5 |
b010237c6ab185c19fbd67c4ca3cdea5
|
|
| BLAKE2b-256 |
b6f6f187e3128563c7e11c4c4f623d56cd4a19fcf7b1a84f49672cb6857bb196
|