Gooey transforme presque n'importe quel programme console Python en une application GUI complète
Gooey transforme presque n'importe quel programme console Python en une application GUI complète, et vous permet de vous concentrer sur la construction de programmes robustes et configurables
Transformez (presque) n'importe quel programme de console Python 3 en une application GUI en une seule ligne. Gooey convertit vos applications console en applications graphiques conviviales pour l'utilisateur final. Il vous permet de vous concentrer sur la construction de programmes robustes et configurables d'une manière familière, sans avoir à vous soucier de la manière dont ils seront présentés à l'utilisateur moyen et avec lesquels il interagira.
Pourquoi Gooey ?
Parce qu'autant nous aimons l'invite de commande, autant le reste du monde la considère comme une laide relique du début des années 80. De plus, la plupart du temps, les programmes ont besoin de faire plus qu'une seule chose, et cela implique de donner des options, ce qui signifiait auparavant soit construire une interface graphique, soit essayer d'expliquer comment fournir des arguments à une application console. Gooey a été conçu pour (espérons-le) résoudre ces problèmes. Il rend les programmes faciles à utiliser, et jolis à regarder.
A qui s'adresse-t-il ?
Si vous construisez des utilitaires pour vous-même, pour d'autres programmeurs, ou quelque chose qui produit un résultat que vous voulez capturer et envoyer vers une autre application console (par exemple *nix philosophy utils), Gooey n'est probablement pas l'outil qu'il vous faut. Cependant, si vous construisez des scripts de type "run and done", des scripts de type "around-the-office", des choses qui envoient des bits d'un point A à un point B, ou simplement quelque chose qui s'adresse à un non-programmeur, Gooey est l'outil parfait pour ce travail. Il vous permet de construire une application aussi complexe que vous le souhaitez, tout en bénéficiant gratuitement de l'interface graphique.
Instructions d'installation
La façon la plus simple d'installer Gooey est via pip.
Vous pouvez également installer Gooey en clonant le projet dans votre répertoire local :
Code:
git clone https://github.com/chriskiehl/Gooey.git
Exécuter setup.py.
Code:
python setup.py install
Comment fonctionne Gooey ?
Gooey est attaché à votre code via un simple décorateur sur n'importe quelle méthode contenant vos déclarations argparse (habituellement main).
Code:
1 2 3 4
| @Gooey
def my_run_func():
parser = ArgumentParser(...)
# rest of code |
Au moment de l'exécution, il analyse votre script Python pour y trouver toutes les références à ArgumentParser (l'ancien optparse n'est actuellement pas pris en charge). Ces références sont ensuite extraites, un component type leur est attribué en fonction de l'"action" qu'elles fournissent, et elles sont finalement utilisées pour assembler l'interface graphique.
Différents styles et fonctionnalités peuvent être configurés en passant des arguments au décorateur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| # options
@Gooey(advanced=Boolean, # toggle whether to show advanced config or not
language=language_string, # Translations configurable via json
auto_start=True, # skip config screens all together
target=executable_cmd, # Explicitly set the subprocess executable arguments
program_name='name', # Defaults to script name
program_description, # Defaults to ArgParse Description
default_size=(610, 530), # starting size of the GUI
required_cols=1, # number of columns in the "Required" section
optional_cols=2, # number of columns in the "Optional" section
dump_build_config=False, # Dump the JSON Gooey uses to configure itself
load_build_config=None, # Loads a JSON Gooey-generated configuration
monospace_display=False) # Uses a mono-spaced font in the output screen
)
def main():
parser = ArgumentParser(...)
# rest of code |
Gooey fera de son mieux pour choisir les valeurs par défaut des widgets à afficher dans l'interface graphique. Cependant, si un réglage plus fin est souhaité, vous pouvez utiliser le substitut GooeyParser à la place d'ArgumentParser. Cela vous permet de contrôler quel widget s'affiche dans l'interface graphique.
Code:
1 2 3 4 5 6 7 8
| from gooey import Gooey, GooeyParser
@Gooey
def main():
parser = GooeyParser(description="My Cool GUI Program!")
parser.add_argument('Filename', widget="FileChooser")
parser.add_argument('Date', widget="DateChooser")
... |
Exemples
Gooey a été téléchargé et installé ? Superbe ! Vous voulez le voir en action ? Rendez-vous sur le dépôt d'exemples pour télécharger quelques scripts d'exemple prêts à l'emploi. Ils vous donneront un aperçu rapide des différentes mises en page, widgets et fonctionnalités de Gooey.
Source : Gooey (GitHub)
Et vous ?
:fleche: Que pensez-vous de Gooey et de ses fonctionnalités ?
Voir aussi
:fleche: Python 3.12 : la dernière version apporte des modifications du langage et de la bibliothèque standard, elle comporte aussi une amélioration des messages d'erreur
:fleche: Les organisateurs de la conférence africaine DjangoCon critiquent le manque de soutien de la Python Software Foundation dans une lettre ouverte
:fleche: Le plan de travail pour la future version 3.13 de Python a été dévoilé, et vise la réduction d'au moins 50 % du temps passé dans l'interpréteur ainsi qu'une meilleure gestion de la mémoire