committed by
GitHub
1 changed files with 86 additions and 0 deletions
@ -0,0 +1,86 @@ |
|||
# Über FastAPI-Versionen |
|||
|
|||
**FastAPI** wird bereits in vielen Anwendungen und Systemen produktiv eingesetzt. Und die Testabdeckung wird bei 100 % gehalten. Aber seine Entwicklung geht immer noch schnell voran. |
|||
|
|||
Es werden regelmäßig neue Funktionen hinzugefügt, Fehler werden regelmäßig behoben und der Code wird weiterhin kontinuierlich verbessert. |
|||
|
|||
Aus diesem Grund sind die aktuellen Versionen immer noch `0.x.x`, was darauf hindeutet, dass jede Version möglicherweise nicht abwärtskompatible Änderungen haben könnte. Dies folgt den Konventionen der <a href="https://semver.org/" class="external-link" target="_blank">semantischen Versionierung</a>. |
|||
|
|||
Sie können jetzt Produktionsanwendungen mit **FastAPI** erstellen (und das tun Sie wahrscheinlich schon seit einiger Zeit), Sie müssen nur sicherstellen, dass Sie eine Version verwenden, die korrekt mit dem Rest Ihres Codes funktioniert. |
|||
|
|||
## `fastapi`-Version pinnen |
|||
|
|||
Als Erstes sollten Sie die Version von **FastAPI**, die Sie verwenden, an die höchste Version „pinnen“, von der Sie wissen, dass sie für Ihre Anwendung korrekt funktioniert. |
|||
|
|||
Angenommen, Sie verwenden in Ihrer Anwendung die Version `0.45.0`. |
|||
|
|||
Wenn Sie eine `requirements.txt`-Datei verwenden, können Sie die Version wie folgt angeben: |
|||
|
|||
```txt |
|||
fastapi==0.45.0 |
|||
``` |
|||
|
|||
Das würde bedeuten, dass Sie genau die Version `0.45.0` verwenden. |
|||
|
|||
Oder Sie können sie auch anpinnen mit: |
|||
|
|||
```txt |
|||
fastapi>=0.45.0,<0.46.0 |
|||
``` |
|||
|
|||
Das würde bedeuten, dass Sie eine Version `0.45.0` oder höher verwenden würden, aber kleiner als `0.46.0`, beispielsweise würde eine Version `0.45.2` immer noch akzeptiert. |
|||
|
|||
Wenn Sie zum Verwalten Ihrer Installationen andere Tools wie Poetry, Pipenv oder andere verwenden, sie verfügen alle über eine Möglichkeit, bestimmte Versionen für Ihre Packages zu definieren. |
|||
|
|||
## Verfügbare Versionen |
|||
|
|||
Die verfügbaren Versionen können Sie in den [Release Notes](../release-notes.md){.internal-link target=_blank} einsehen (z. B. um zu überprüfen, welches die neueste Version ist). |
|||
|
|||
## Über Versionen |
|||
|
|||
Gemäß den Konventionen zur semantischen Versionierung könnte jede Version unter `1.0.0` potenziell nicht abwärtskompatible Änderungen hinzufügen. |
|||
|
|||
FastAPI folgt auch der Konvention, dass jede „PATCH“-Versionsänderung für Bugfixes und abwärtskompatible Änderungen gedacht ist. |
|||
|
|||
!!! tip "Tipp" |
|||
Der „PATCH“ ist die letzte Zahl, zum Beispiel ist in `0.2.3` die PATCH-Version `3`. |
|||
|
|||
Sie sollten also in der Lage sein, eine Version wie folgt anzupinnen: |
|||
|
|||
```txt |
|||
fastapi>=0.45.0,<0.46.0 |
|||
``` |
|||
|
|||
Nicht abwärtskompatible Änderungen und neue Funktionen werden in „MINOR“-Versionen hinzugefügt. |
|||
|
|||
!!! tip "Tipp" |
|||
„MINOR“ ist die Zahl in der Mitte, zum Beispiel ist in `0.2.3` die MINOR-Version `2`. |
|||
|
|||
## Upgrade der FastAPI-Versionen |
|||
|
|||
Sie sollten Tests für Ihre Anwendung hinzufügen. |
|||
|
|||
Mit **FastAPI** ist das sehr einfach (dank Starlette), schauen Sie sich die Dokumentation an: [Testen](../tutorial/testing.md){.internal-link target=_blank} |
|||
|
|||
Nachdem Sie Tests erstellt haben, können Sie die **FastAPI**-Version auf eine neuere Version aktualisieren und sicherstellen, dass Ihr gesamter Code ordnungsgemäß funktioniert, indem Sie Ihre Tests ausführen. |
|||
|
|||
Wenn alles funktioniert oder nachdem Sie die erforderlichen Änderungen vorgenommen haben und alle Ihre Tests bestehen, können Sie Ihr `fastapi` an die neue aktuelle Version pinnen. |
|||
|
|||
## Über Starlette |
|||
|
|||
Sie sollten die Version von `starlette` nicht pinnen. |
|||
|
|||
Verschiedene Versionen von **FastAPI** verwenden eine bestimmte neuere Version von Starlette. |
|||
|
|||
Sie können **FastAPI** also einfach die korrekte Starlette-Version verwenden lassen. |
|||
|
|||
## Über Pydantic |
|||
|
|||
Pydantic integriert die Tests für **FastAPI** in seine eigenen Tests, sodass neue Versionen von Pydantic (über `1.0.0`) immer mit FastAPI kompatibel sind. |
|||
|
|||
Sie können Pydantic an jede für Sie geeignete Version über `1.0.0` und unter `2.0.0` anpinnen. |
|||
|
|||
Zum Beispiel: |
|||
```txt |
|||
pydantic>=1.2.0,<2.0.0 |
|||
``` |
Loading…
Reference in new issue