PyFabricate est une application Mac OS X qui simplifie la création de projets Python. Depuis que je l'ai écrit, il s'agit évidemment d'une version avisée de ce à quoi je pense qu'un projet Python devrait ressembler. De plus, j'utilise un certain ensemble d'outils pour me permettre d'écrire des applications Python Mac OS X. Cependant, j'ai essayé de créer un peu de personnalisation en exposant les modèles à partir desquels je crée des fichiers de projet. Nous en reparlerons plus tard.
PyFabricate utilise une interface de type assistant pour interroger les détails du projet.
Le développeur utilise HomeBrew pour installer les dépendances opiniâtres.
Le nom du projet est le même que le nom du package du module
Obtenez la version actuelle à partir d'ici.
Copiez ce fichier dans votre dossier d'applications Mac OS. L'application est signée en code Apple, vous recevrez donc un message simple que vous devrez accuser réception la première fois que vous l'exécuterez.
Ce qui suit est un exemple du squelette initial créé par PyFabricator. Il montre maintenant l'environnement virtuel qu'il crée. Nous en reparlerons plus tard.
Essentiellement, PyFabricate crée les répertoires src et tests. Dans le répertoire racine du projet, il crée les fichiers suivants :
De plus, PyFabricate crée tous les fichiers du package Python (__init__.py) à tous les endroits appropriés. Et enfin, il place deux ensembles de fichiers de configuration de journalisation, un pour votre application et un pour vos tests unitaires.
A la fin de la fabrication, PyFabricate crée un environnement virtuel Python. En raison de limitations techniques, PyFabricate ne peut pas utiliser une version pyenv de Python pour créer l'environnement virtuel. Ainsi, cela dépend de la version installée par homebrew.
L'interface utilisateur de l'assistant est un processus en 4 étapes dans lequel PyFabricate rassemble suffisamment de détails sur le projet qu'il utilise pour remplir les modèles de squelette. Les modèles utilisent les jetons de substitution explicites suivants.
Nom du jeton | Description |
---|---|
PROJECT_NAME | Utilisé pour construire le répertoire de base du projet et est le nom du module Python |
DESCRIPTION | Placé comme description dans le pyproject.toml généré |
OWNER_NAME | Placé comme nom de l'auteur et nom du responsable dans le pyproject.toml généré |
OWNER_EMAIL | Placé comme adresse e-mail pour l'auteur et le responsable dans le pyproject.toml généré |
MOTS CLÉS | Utilisé comme mots-clés du projet dans le pyproject.toml généré |
PYTHON_VERSION | Utilisé dans le fichier .gitignore généré pour exclure le répertoire qui contient l'environnement virtuel. Ajouté en outre comme nom de répertoire pour l’environnement virtuel généré. Par exemple, 'pyenv-3.12.0' |
Ce qui suit est un graphique annoté du modèle pyroject.toml.
Cette étape est une introduction à PyFabricate. Après cette étape, PyFabricate fait de son mieux pour garantir que ses dépendances d'exécution sont respectées. Dans le cas contraire, le développeur ne peut pas dépasser cette étape.
À cette étape, PyFabricate collecte des informations spécifiques au projet. La plupart de ces éléments servent à remplir le modèle pyproject.toml.
PyFabricate suppose que le développeur conserve tous ses projets Python dans un seul sous-répertoire. Il s’agit d’un point de vue opiniâtre et simplement d’une préférence organisationnelle.
PyFabricate interroge pyenv pour les versions Python installées par le développeur. Ce sont les seuls à partir desquels PyFabricate peut créer des environnements virtuels Python.
À la fin de l'assistant, PyFabricate présente un journal lors de la création du projet. Ce qui suit est un exemple de journal.
Comme mentionné précédemment, le développeur peut personnaliser certains aspects de la génération du projet. PyFabricate stocke les modèles qu'il utilise dans $HOME/.config/pyfabricate/templates comme indiqué ci-dessous.
Par exemple, un développeur peut souhaiter utiliser une licence différente. Remplacez simplement le fichier LICENSE.template
PyFabricate n'est actuellement qu'à la version 0.5.0. J'étudie actuellement l'ajout de fonctionnalités supplémentaires et la suppression de limitations.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3