Neues Projekt erstellen

Um ein komplett neues Pythonprojekt zu erstellen, tippen wir einmal poetry new <name> in die Konsole ein. Für <name> kannst du hier, wie auch immer du dein Projekt nennen möchtest, eingeben.

Ich werde mal ein Projekt namens "poetry-demo" erstellen.

poetry new poetry-demo

Dies erstellt mir einen neuen Ordner mit dem Namen "poetry-demo". Mit folgender Dateien- und Ordnerstruktur:

poetry-demo/
├── pyproject.toml
├── README.md
├── src
│   └── poetry_demo
│       └── __init__.py
└── tests
    └── __init__.py

Gehen wir mal Schritt für Schritt über alles.

pyproject.toml

Die pyproject.toml hat alle Metadaten von unserem Projekt in sich. Die automatisch generierte pyproject.toml sieht bei mir so aus:

pyproject.toml:

[project]
name = "poetry-demo"
version = "0.1.0"
description = ""
authors = [
    {name = "Marc Mäurer",email = "marc.maeurer@pm.me"}
]
readme = "README.md"
requires-python = ">=3.13"
dependencies = []

[tool.poetry]
packages = [{include = "poetry_demo", from = "src"}]

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

Der einzige Part, der für uns wichtig sind die ganzen Zeilen direkt unter [project]. Den Rest können wir ignorieren und brauchen wir nur in sehr spezifischen Situation zu editieren.

Das meißte sollte schon vom Namen her offensichtlich sein. Mit name definieren den Namen unserers Projektes, mit version welche Version unser Programm ist (wird erst wichtig, wenn wir unser Programm veröffentlichen wollen), bei description kommt eine Beschreibung unserers Programmes, authors sind alle Authoren des Projektes drinne, automatisch hat poetry meinen Namen und meine Emailadresse herausgefunden. requires-python sagt genau aus welche Version an Python unser Programm braucht. Poetry tut automatisch für uns eine Projekt-eigene Version von Python installieren und benutzten, falls wir eine andere Version hier reinschreiben sollten, als auf unserem Computer installiert ist. In dependencies müssen wir gar nichts editieren, weil hier kommen alle Packages rein, die wir mit poetry für unseren Projekt installieren, wie das geht zeige ich dir gleich noch, aber selber editieren müssen wir hier "goar nix."

README.md

In README.md können wir eine Einleitung oder Vorstellung unseres Projektes reinschreiben. Ist für uns jetzt komplett uninteressant, aber wenn wir unser Projekt veröffentlichen wollen, dann können wir diese Datei hier als Vorstellung benutzen.

src/

Der src Ordner ist wohl der wichtigste Ordner. Hier wirst du die meiste Zeit verbringen, weil hier kommt der ganze Sourcecode (Quellcode) unseres Projektes rein.

Wichtig zu beachten ist, dass poetry den Sourcecode in mehrer Module aufteilt. Was Module genau sind, werden wir noch lernen, aber fürs erste bedeutet, dass das all unser Code nicht direkt in src reinkommt, sondern in src/poetry_demo.

Die src/poetry_demo/__init__.py ist dabei eine spezielle py Datei, die automatisch vorm Ausführen des Programmes ausgeführt wird.

tests/

Der tests Ordner ist für uns komplett irrelevant und du kannst den auch gerne löschen. Was tests sind, werden wir in diesem Buch hier nicht lernen.