Verwenden Sie unser python-cli-tool cookiecutter Projekt. Bringen Sie in wenigen Schritten ein python-cli-Projekt zum Laufen. In meinem früheren Blog speedup-event-driven-projects. habe ich beschrieben, wie Sie Cookiecutter verwenden können, um ein ereignisgesteuertes Projekt für AWS zu starten. In diesem Blogbeitrag zeige ich Ihnen, wie Sie dies für Python-Cli-Projekte tun können.
Für diesen Blog-Beitrag gehe ich davon aus, dass Sie die folgenden Programme installiert haben:
- python3
- Keksausstecher
- Poesie
Lassen Sie uns ein cli-Projekt erstellen
Wir beginnen mit der Ausführung des Befehls cookiecutter:
cookiecutter gh:binxio/python-cli-tool

Cookiecutter erstellt einen Ordner auf der Basis von project_name. In diesem Ordner müssen Sie nun nur noch die Abhängigkeiten installieren. Sie können den folgenden Befehl verwenden:
make install
Das install Ziel der Makefile wird:
- Führen Sie
poetry initaus. Dadurch wird die Dateipyproject.tomlerstellt. - Erstellen Sie ein Git-Repository und installieren Sie die Pre-Commit-Hooks.
- Führen Sie
poetry installaus. Dadurch werden alle Projektabhängigkeiten auf der Grundlage der Dateipyproject.tomlinstalliert. - Fügt der Datei
pyproject.tomleine zusätzliche Konfiguration hinzu. - Übergibt alles an das Git-Repository.
Am Ende erhalten Sie so etwas wie das hier:

Das Projekt selbst hat bereits Unit-Tests durchgeführt:

Und Sie können Ihr Cli-Tool auch testen, indem Sie die Befehle über Poesie ausführen:

Jetzt ist es an der Zeit, Ihr entferntes GitHub-Repository zu konfigurieren:
git remote add origin git@github.com:binxio/my-example-cli.git
git branch -M main
git push -u origin main
git checkout -b develop
git push --set-upstream origin develop
Wir haben den Zweig main in den Remote-Zweig verschoben und einen Zweig develop als Arbeitszweig erstellt.
Das Projekt selbst enthält die folgenden Arbeitsabläufe:
- Kontinuierliche Integration, prüft, wann Sie auf
mainpushen oder eine Pull-Anfrage aufdevelopöffnen. - Freigabe erstellen, erstellt eine Freigabe für Sie, wenn Sie sie auf
mainzusammenführen und lädt sie auf PyPi.org hoch. (Sie müssen einPYPI_API_TOKENGeheimnis in GitHub konfigurieren, damit dies funktioniert) - Release Notes, erstellt einen Vorschlag für Ihre Release Notes. Dieser basiert auf Ihren zusammengeführten Pull-Anfragen. Stellen Sie also sicher, dass Sie die richtigen Nachrichten verwenden.
Fazit
Mit dem python-cli-tool cookiecutter Projekt beschleunigen Sie Ihr python cli Projekt!
Und Sie können sich auf das konzentrieren, was zählt! Ihre Geschäftslogik!
Foto von Ekaterina Belinskaya
Verfasst von

Joris Conijn
Joris is the AWS Practise CTO of the Xebia Cloud service line and has been working with the AWS cloud since 2009 and focussing on building event-driven architectures. While working with the cloud from (almost) the start, he has seen most of the services being launched. Joris strongly believes in automation and infrastructure as code and is open to learning new things and experimenting with them because that is the way to learn and grow.
Unsere Ideen
Weitere Blogs
Contact




