Skip to main content

✅ 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 delete et empty) 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 --rm supprime 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.

Metadata

Release files for k-todo 0.5.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 k-todo 0.5.0
File Size Uploaded
k_todo-0.5.0.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for k-todo 0.5.0
File Interpreter ABI Platform
k_todo-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.5 kB

Release files / k_todo-0.5.0.tar.gz

Download URL k_todo-0.5.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
956dd50c96f5d856662b9bb2ce21e9f686d8a0a56d34669e790e424dbe718475
BLAKE2b-256 checksum
How to use checksums
398c8820be56f28c510effa294797e5ed2afeeecc432edffea5c7c268c8f5505
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / k_todo-0.5.0-py3-none-any.whl

Download URL k_todo-0.5.0-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68adf8da7989cd9cc02301234813fbf9d0e19055b40e3a4d4f9d1071575330c5
BLAKE2b-256 checksum
How to use checksums
b6f6f187e3128563c7e11c4c4f623d56cd4a19fcf7b1a84f49672cb6857bb196
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

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