Skip to main content

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 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k_todo-0.5.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

k_todo-0.5.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

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

Hashes for k_todo-0.5.0.tar.gz
Algorithm Hash digest
SHA256 956dd50c96f5d856662b9bb2ce21e9f686d8a0a56d34669e790e424dbe718475
MD5 0ff0de530da07f89bb0fa4f9eb19c9d9
BLAKE2b-256 398c8820be56f28c510effa294797e5ed2afeeecc432edffea5c7c268c8f5505

See more details on using hashes here.

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

Hashes for k_todo-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68adf8da7989cd9cc02301234813fbf9d0e19055b40e3a4d4f9d1071575330c5
MD5 b010237c6ab185c19fbd67c4ca3cdea5
BLAKE2b-256 b6f6f187e3128563c7e11c4c4f623d56cd4a19fcf7b1a84f49672cb6857bb196

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page