Maison >développement back-end >Tutoriel Python >Emporte-pièce pour démarrer rapidement avec le polylithe

Emporte-pièce pour démarrer rapidement avec le polylithe

DDD
DDDoriginal
2024-12-01 18:35:11850parcourir

Cookiecutter for fast starting with polylith

Je vous présente un emporte-pièce Python pour démarrer rapidement avec polylith en Python. Si vous ne savez pas ce qu'est le polylithe, lisez la documentation, pour le lecteur impatient :

Polylith est une architecture logicielle qui vise à créer des systèmes backend simples, maintenables, testables et évolutifs. Pour ce faire, il applique une réflexion fonctionnelle à l'échelle du système, en traitant le code comme des éléments de base pouvant être combinés en fonctionnalités.

Et python-polylith est l'outil qui nous permet d'implémenter cela en Python.

Je n'entrerai pas dans les détails sur les avantages de cette approche. Dans cet article, je vous présente poésie-poly-cc, un emporte-pièce très avisé pour démarrer un projet avec python-polylith.

Vous pouvez commencer par installer cookiecutter et générer un projet avec :

cookiecutter https://github.com/ybenitezf/poetry-poly-cc.git

Répondez aux questions et tout va bien. Vous devriez obtenir quelque chose comme :

.
├── LICENSE
├── README.md
├── bases
├── build-packages.sh
├── components
├── development
│   └── __init__.py
├── poetry.toml
├── projects
├── pyproject.toml
├── update-locks.sh
└── workspace.toml

Les premières étapes sont incluses dans le README.md :

  • Installer la poésie : https://python-poetry.org/docs/#installation
  • Ajouter des outils polylith : https://davidvujic.github.io/python-polylith-docs/installation/

Courir

git init
poetry install
# install pre-commit hook
poetry run pre-commit install
# install pre-commit dependencies
poetry run pre-commit run -a

Ce qui est inclus

  1. Poetry est configuré pour créer le virtualenv dans le dossier du projet (voir poésie.toml)
  2. pytest est ajouté en tant que dépendance de test, comprend également quelques goodies pour pytest : pytest-mock, pytest-cov et pytest-asyncio
  3. pré-commit et ruff en tant que dépendances de développement.
  4. mypy pour la vérification de frappe statique, intégré au pré-commit
  5. Les scripts de support build-packages.sh et update-locks.sh
  6. Extensions vscode recommandées

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn