Toolbox est une application en ligne de commande modulaire qui permet d'exécuter des scripts Python comme des modules interchangeables. L'idée est de pouvoir réaliser en local toutes les opérations que proposent les sites web (conversion d'images, manipulation de fichiers, etc.).
- Modulaire : Ajoutez et supprimez des modules à volonté
- Multi-plateforme : Compatible Linux, macOS et Windows
- Simple : Interface en ligne de commande intuitive
- Extensible : Créez vos propres modules facilement
- Python 3.6 ou plus récent
- pip (gestionnaire de paquets Python)
- Téléchargez tous les fichiers du projet
- Ouvrez un terminal dans le dossier du projet
- Exécutez le script d'installation :
Linux/macOS :
sudo python3 install.pyWindows (en tant qu'administrateur) :
python install.py-
Créez le dossier d'installation :
- Linux/macOS :
/opt/toolbox - Windows :
C:\Program Files\Toolbox
- Linux/macOS :
-
Copiez
toolbox.pydans ce dossier -
Créez un script de lancement dans votre PATH :
- Linux/macOS :
/usr/local/bin/toolbox - Windows : Ajoutez le dossier à votre PATH
- Linux/macOS :
# Lister tous les modules disponibles
toolbox list
# Exécuter un module
toolbox <nom_module> [arguments]
# Installer un nouveau module
toolbox install chemin/vers/module.py
# Désinstaller un module
toolbox uninstall nom_module# Convertir une image JPG en PNG
toolbox run imgconv photo.jpg photo.png
# Convertir avec qualité spécifique
toolbox run imgconv photo.jpg photo.webp --quality 80
# Voir les informations d'une image
toolbox run imgconv --info photo.jpgUn module Toolbox est un fichier Python avec :
- Métadonnées (optionnelles) :
VERSION = "1.0.0"
DESCRIPTION = "Description du module"
AUTHOR = "Votre nom"- Fonction main (obligatoire) :
def main(args):
"""
Point d'entrée du module
Args:
args: Liste des arguments de la ligne de commande
Returns:
int: Code de retour (0 = succès, autre = erreur)
"""
# Votre code ici
return 0#!/usr/bin/env python3
"""Module exemple pour Toolbox"""
VERSION = "1.0.0"
DESCRIPTION = "Module de démonstration"
def main(args):
if not args:
print("Hello, Toolbox!")
else:
print(f"Arguments reçus: {' '.join(args)}")
return 0
# Test direct du module
if __name__ == "__main__":
import sys
sys.exit(main(sys.argv[1:]))- Gestion des arguments : Utilisez
argparsepour analyser les arguments - Gestion d'erreurs : Capturez les exceptions et retournez des codes d'erreur appropriés
- Documentation : Incluez une aide accessible via
--help - Dépendances : Vérifiez la présence des modules requis et affichez des messages clairs
- Tests : Permettez l'exécution directe du module pour les tests
Convertit les images entre différents formats (JPG, PNG, WEBP, BMP, HEIC).
Dépendances :
pip install PillowUsage :
# Conversion simple
toolbox imgconv input.jpg output.png
# Avec qualité personnalisée
toolbox imgconv input.jpg output.webp --quality 85
# Informations sur une image
toolbox imgconv --info image.jpgtoolbox/
├── toolbox.py # Application principale
├── install.py # Script d'installation
├── README.md # Cette documentation
├── requirements.txt # Dépendances Python
└── modules/ # Modules d'exemple
└── imgconv.py # Convertisseur d'images
# Linux/macOS
sudo python3 install.py uninstall
# Windows (en tant qu'administrateur)
python install.py uninstall- Forkez le projet
- Créez une branche pour votre fonctionnalité
- Ajoutez vos modifications
- Testez vos changements
- Soumettez une pull request
- Créez un fichier
.pyavec la structure requise - Testez votre module individuellement
- Installez-le avec
toolbox install - Partagez-le avec la communauté
"Module not found"
- Vérifiez que le module est installé avec
toolbox list - Réinstallez le module si nécessaire
"Permission denied"
- Utilisez
sudosur Linux/macOS - Exécutez en tant qu'administrateur sur Windows
"Python module not found"
- Installez les dépendances requises avec
pip install
Les fichiers de configuration se trouvent dans :
- Linux/macOS :
~/.toolbox/ - Windows :
%USERPROFILE%\.toolbox\
Ce projet est sous licence LOC
Pour obtenir de l'aide :
- Consultez cette documentation
- Ouvrez une issue sur le dépôt du projet
