From 5a88f0815d35940fe268bd4b67cbeb852371f2cc Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Wed, 20 Sep 2023 09:12:58 +0200 Subject: [PATCH 01/18] German translation of docs/index.md * Full translation * Based on #3631 * In sync with current en/docs/index.md * Hand-translated (Google translate rarely used) * Checked for errors using LanguageTool * Manually checked --- docs/de/docs/index.md | 470 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 470 insertions(+) create mode 100644 docs/de/docs/index.md diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md new file mode 100644 index 0000000000000..75037e1ea48ad --- /dev/null +++ b/docs/de/docs/index.md @@ -0,0 +1,470 @@ +

+ FastAPI +

+

+ FastAPI Framework, hochperformant, leicht zu erlernen, schnell zu programmieren, einsatzbereit +

+

+ + Test + + + Coverage + + + Package version + + + Unterstützte Python Versionen + +

+ +--- + +**Dokumentation**: https://fastapi.tiangolo.com + +**Quellcode**: https://github.com/tiangolo/fastapi + +--- + +FastAPI ist ein modernes, schnelles (High-Performance) Web-Framework zur Erstellung von APIs mit Python 3.7+ auf Basis von Standard Python Type Hints. + +Seine Schlüssel-Merkmale sind: + +* **Schnell**: Sehr hohe Leistung, auf Augenhöhe mit **NodeJS** und **Go** (Dank Starlette und Pydantic). [Eines der schnellsten verfügbaren Python-Frameworks](#performance). + +* **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * +* **Weniger Bugs**: Verringern Sie die von Menschen (Entwicklern) verursachten Fehler um etwa 40 %. * +* **Intuitiv**: Exzellente Editor-Unterstützung. Code-Vervollständigung überall. Weniger Debuggen. +* **Einfach**: Entworfen, um einfach zu benutzen und zu erlernen zu sein. Weniger Zeit für das Lesen der Dokumentation. +* **Kurz**: Minimieren Sie die Verdoppelung von Code. Mehrere Funktionen aus jeder Parameterdeklaration. Weniger Bugs. +* **Robust**: Erhalten Sie produktionsreifen Code. Mit automatischer, interaktiver Dokumentation. +* **Standards-basiert**: Basierend auf (und vollständig kompatibel mit) den offenen Standards für APIs: OpenAPI (früher bekannt als Swagger) und JSON Schema. + +* Schätzung auf Basis von Tests in einem internen Entwicklungsteam, das Produktionsanwendungen erstellt. + +## Sponsoren + + + +{% if sponsors %} +{% for sponsor in sponsors.gold -%} + +{% endfor -%} +{%- for sponsor in sponsors.silver -%} + +{% endfor %} +{% endif %} + + + +Andere Sponsoren + +## Meinungen + +"_[...] Ich verwende **FastAPI** heutzutage sehr oft. [...] Ich habe tatsächlich vor, es für alle **ML-Dienste meines Teams bei Microsoft** zu verwenden. Einige davon werden in das Kernprodukt **Windows** und einige **Office**-Produkte integriert._" + +
Kabir Khan - Microsoft (Ref)
+ +--- + +"_Wir haben die **FastAPI**-Bibliothek genommen, um einen **REST**-Server zu erstellen, der abgefragt werden kann, um **Vorhersagen** zu erhalten. [für Ludwig]_" + +
Piero Molino, Yaroslav Dudin, und Sai Sumanth Miryala - Uber (Ref)
+ +--- + +"_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierung-Frameworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_" + +
Kevin Glisson, Marc Vilanova, Forest Monsen - Netflix (Ref)
+ +--- + +"_Ich bin überglücklich mit **FastAPI**. Es macht so viel Spaß!_" + +
Brian Okken - Host des Python Bytes Podcast (Ref)
+ +--- + +"_Ehrlich, was Du gebaut hast, sieht super solide und poliert aus. In vielerlei Hinsicht ist es so, wie ich **Hug** haben wollte – es ist wirklich inspirierend, jemanden so etwas bauen zu sehen._" + +
Timothy Crosley - Autor von Hug (Ref)
+ +--- + +"_Wenn Sie ein **modernes Framework** zum Erstellen von REST-APIs erlernen möchten, schauen Sie sich **FastAPI** an. [...] Es ist schnell, einfach zu verwenden und leicht zu erlernen [...]_" + +"_Wir haben zu **FastAPI** für unsere **APIs** gewechselt [...] Ich denke, es wird Ihnen gefallen [...]_" + +
Ines Montani - Matthew Honnibal - Gründer von Explosion AI - Autoren von spaCy (Ref) - (Ref)
+ +--- + +"_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön gestaltet**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** in unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Dienste an, wie etwa unseren virtuellen TAC-Ingenieur._" + +
Deon Pillsbury - Cisco (Ref)
+ +--- + +## **Typer**, das FastAPI der CLIs + + + +Wenn Sie eine CLI-Anwendung für das Terminal erstellen, anstelle einer Web-API, schauen Sie sich **Typer** an. + +**Typer** ist die kleine Schwester von FastAPI. Und es soll das **FastAPI der CLIs** sein. ⌨️ 🚀 + +## Anforderungen + +Python 3.7+ + +FastAPI steht auf den Schultern von Giganten: + +* Starlette für die Webanteile. +* Pydantic für die Datenanteile. + +## Installation + +
+ +```console +$ pip install fastapi + +---> 100% +``` + +
+ +Sie benötigen außerdem einen ASGI-Server. Für die Produktumgebung beispielsweise Uvicorn oder Hypercorn. + +
+ +```console +$ pip install "uvicorn[standard]" + +---> 100% +``` + +
+ +## Beispiel + +### Erstellung + +* Erstellen Sie eine Datei `main.py` mit: + +```Python +from typing import Union + +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/") +def read_root(): + return {"Hello": "World"} + + +@app.get("/items/{item_id}") +def read_item(item_id: int, q: Union[str, None] = None): + return {"item_id": item_id, "q": q} +``` + +
+Oder verwenden Sie async def ... + +Wenn Ihr Code `async` / `await` verwendet, benutzen Sie `async def`: + +```Python hl_lines="9 14" +from typing import Union + +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/") +async def read_root(): + return {"Hello": "World"} + + +@app.get("/items/{item_id}") +async def read_item(item_id: int, q: Union[str, None] = None): + return {"item_id": item_id, "q": q} +``` + +**Anmerkung**: + +Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _"In Eile?"_ über `async` und `await` in der Dokumentation an. +
+ +### Starten + +Führen Sie den Server aus: + +
+ +```console +$ uvicorn main:app --reload + +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +INFO: Started reloader process [28720] +INFO: Started server process [28722] +INFO: Waiting for application startup. +INFO: Application startup complete. +``` + +
+ +
+Was macht der Befehl uvicorn main:app --reload ... + +Der Befehl `uvicorn main:app` bezieht sich auf: + +* `main`: die Datei `main.py` (das Python "Modul"). +* `app`: das Objekt, das innerhalb von `main.py` mit der Zeile `app = FastAPI()` erzeugt wurde. +* `--reload`: lässt den Server nach Codeänderungen neu starten. Tun Sie das nur während der Entwicklung. + +
+ +### Testen + +Öffnen Sie Ihren Browser unter http://127.0.0.1:8000/items/5?q=somequery. + +Sie erhalten die JSON-Antwort: + +```JSON +{"item_id": 5, "q": "somequery"} +``` + +Damit haben Sie bereits eine API erstellt, welche: + +* HTTP-Anfragen auf den _Pfaden_ `/` und `/items/{item_id}` entgegennimmt. +* Beide _Pfade_ erhalten `GET` Operationen (auch bekannt als HTTP _Methoden_). +* Der _Pfad_ `/items/{item_id}` hat einen _Pfadparameter_ `item_id`, der ein `int` sein sollte. +* Der _Pfad_ `/items/{item_id}` hat einen optionalen `str` _Query Parameter_ `q`. + +### Interaktive API-Dokumentation + +Gehen Sie nun auf http://127.0.0.1:8000/docs. + +Sie sehen die automatische interaktive API-Dokumentation (bereitgestellt von Swagger UI): + +![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png) + +### Alternative API-Dokumentation + +Gehen Sie jetzt auf http://127.0.0.1:8000/redoc. + +Sie sehen die alternative automatische Dokumentation (bereitgestellt von ReDoc): + +![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png) + +## Beispiel Aktualisierung + +Ändern Sie jetzt die Datei `main.py`, um den Body einer `PUT`-Anfrage zu empfangen. + +Deklarieren Sie den Body mithilfe von normalen Python-Typen, dank Pydantic. + +```Python hl_lines="4 9-12 25-27" +from typing import Union + +from fastapi import FastAPI +from pydantic import BaseModel + +app = FastAPI() + + +class Item(BaseModel): + name: str + price: float + is_offer: Union[bool, None] = None + + +@app.get("/") +def read_root(): + return {"Hello": "World"} + + +@app.get("/items/{item_id}") +def read_item(item_id: int, q: Union[str, None] = None): + return {"item_id": item_id, "q": q} + + +@app.put("/items/{item_id}") +def update_item(item_id: int, item: Item): + return {"item_name": item.name, "item_id": item_id} +``` + +Der Server sollte automatisch neu geladen werden (weil Sie oben `--reload` zum Befehl `uvicorn` hinzugefügt haben). + +### Aktualisierung der interaktiven API-Dokumentation + +Gehen Sie jetzt auf http://127.0.0.1:8000/docs. + +* Die interaktive API-Dokumentation wird automatisch aktualisiert, einschließlich des neuen Bodys: + +![Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png) + +* Klicken Sie auf die Taste "Try it out", damit können Sie die Parameter ausfüllen und direkt mit der API interagieren: + +![Swagger UI Interaktion](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png) + +* Klicken Sie dann auf die Taste "Execute", die Benutzeroberfläche wird mit Ihrer API kommunizieren, sendet die Parameter, holt die Ergebnisse und zeigt sie auf dem Bildschirm an: + +![Swagger UI Interaktion](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png) + +### Aktualisierung der alternativen API-Dokumentation + +Und nun gehen Sie auf http://127.0.0.1:8000/redoc. + +* Die alternative Dokumentation wird ebenfalls den neuen Abfrageparameter und -inhalt widerspiegeln: + +![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png) + +### Zusammenfassung + +Zusammengefasst deklarieren Sie **einmal** die Typen von Parametern, Body, etc. als Funktionsparameter. + +Das machen Sie mit normalen, modernen Python Typen. + +Sie müssen keine neue Syntax, Methoden oder Klassen einer bestimmten Bibliothek usw. lernen. + +Nur normales **Python 3.7+**. + +Zum Beispiel für ein `int`: + +```Python +item_id: int +``` + +oder für ein komplexeres `Item`-Modell: + +```Python +item: Item +``` + +... und mit dieser einen Deklaration erhalten Sie: + +* Editor-Unterstützung, einschließlich: + * Code-Vervollständigung. + * Typprüfungen. +* Validierung von Daten: + * Automatische und eindeutige Fehler, wenn die Daten ungültig sind. + * Validierung auch für tief verschachtelte JSON-Objekte. +* Konvertierung von Eingabedaten: Aus dem Netzwerk kommend, zu Python-Daten und -Typen. Lesen von: + * JSON. + * Pfad-Parametern. + * Abfrage-Parametern. + * Cookies. + * Header-Feldern. + * Formularen. + * Dateien. +* Konvertierung von Ausgabedaten: Konvertierung von Python-Daten und -Typen zu Netzwerkdaten (als JSON): + * Konvertieren von Python-Typen (`str`, `int`, `float`, `bool`, `list`, usw.). + * `Datetime`-Objekte. + * `UUID`-Objekte. + * Datenbank-Modelle. + * ... und viele mehr. +* Automatische interaktive API-Dokumentation, einschließlich 2 alternativer Benutzeroberflächen: + * Swagger UI. + * ReDoc. + +--- + +Um auf das vorherige Codebeispiel zurückzukommen, **FastAPI** wird: + +* Überprüfen, dass es eine `item_id` im Pfad für `GET`- und `PUT`-Anfragen gibt. +* Überprüfen, ob die `item_id` vom Typ `int` für `GET`- und `PUT`-Anfragen ist. + * Falls nicht, wird dem Client ein nützlicher, eindeutiger Fehler angezeigt. +* Prüfen, ob es einen optionalen Abfrageparameter namens `q` (wie in `http://127.0.0.1:8000/items/foo?q=somequery`) für `GET`-Anfragen gibt. + * Da der `q`-Parameter mit `= None` deklariert ist, ist er optional. + * Ohne das `None` wäre er erforderlich (wie der Body im Fall von `PUT`). +* Bei `PUT`-Anfragen an `/items/{item_id}` den Body als JSON lesen: + * Prüfen, ob er ein erforderliches Attribut `name` hat, das ein `str` sein muss. + * Prüfen, ob er ein erforderliches Attribut `price` hat, das ein `float` sein muss. + * Prüfen, ob er ein optionales Attribut `is_offer` hat, das ein `bool` sein muss, falls vorhanden. + * All dies würde auch für tief verschachtelte JSON-Objekte funktionieren. +* Automatisch von und nach JSON konvertieren. +* Alles mit OpenAPI dokumentieren, welches verwendet werden kann von: + * Interaktiven Dokumentationssystemen. + * Automatisch Client-Code generierenden Systemen für viele Sprachen. +* 2 interaktive Dokumentation-Webschnittstellen direkt zur Verfügung stellen. + +--- + +Wir haben nur an der Oberfläche gekratzt, aber Sie bekommen schon eine Vorstellung davon, wie das Ganze funktioniert. + +Versuchen Sie, diese Zeile zu ändern: + +```Python + return {"item_name": item.name, "item_id": item_id} +``` + +... von: + +```Python + ... "item_name": item.name ... +``` + +... zu: + +```Python + ... "item_price": item.price ... +``` + +... und sehen Sie, wie Ihr Editor die Attribute automatisch ausfüllt und ihre Typen kennt: + +![Editor Unterstützung](https://fastapi.tiangolo.com/img/vscode-completion.png) + +Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das Tutorial - Benutzerhandbuch. + +**Spoiler-Alarm**: Das Tutorial - Benutzerhandbuch enthält: + +* Deklaration von **Parametern** von anderen verschiedenen Stellen wie: **Header-Felder**, **Cookies**, **Formularfelder** und **Dateien**. +* Wie man **Validierungseinschränkungen** wie `maximum_length` oder `regex` setzt. +* Ein sehr leistungsfähiges und einfach zu bedienendes System für **Dependency Injection**. +* Sicherheit und Authentifizierung, einschließlich Unterstützung für **OAuth2** mit **JWT-Tokens** und **HTTP-Basic**-Authentifizierung. +* Fortgeschrittenere (aber ebenso einfache) Techniken zur Deklaration **tief verschachtelter JSON-Modelle** (dank Pydantic). +* **GraphQL** Integration mit Strawberry und anderen Bibliotheken. +* Viele zusätzliche Funktionen (dank Starlette) wie: + * **WebSockets** + * extrem einfache Tests auf Basis von `httpx` und `pytest` + * **CORS** + * **Cookie Sessions** + * ... und mehr. + +## Performanz + +Unabhängige TechEmpower-Benchmarks zeigen **FastAPI**-Anwendungen, die unter Uvicorn laufen, als eines der schnellsten verfügbaren Python-Frameworks, nur noch hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). + +Um mehr darüber zu erfahren, siehe den Abschnitt Benchmarks. + +## Optionale Abhängigkeiten + +Wird von Pydantic verwendet: + +* email_validator - für E-Mail-Validierung. +* pydantic-settings - für die Verwaltung von Einstellungen. +* pydantic-extra-types - für zusätzliche Typen, mit Pydantic zu verwenden. + +Wird von Starlette verwendet: + +* httpx - erforderlich, wenn Sie den `TestClient` verwenden möchten. +* jinja2 - erforderlich, wenn Sie die Standardkonfiguration für Templates verwenden möchten. +* python-multipart - erforderlich, wenn Sie Formulare mittels `request.form()` "parsen" möchten. +* itsdangerous - erforderlich für `SessionMiddleware` Unterstützung. +* pyyaml - erforderlich für Starlette's `SchemaGenerator` Unterstützung (Sie brauchen das wahrscheinlich nicht mit FastAPI). +* ujson - erforderlich, wenn Sie `UJSONResponse` verwenden möchten. + +Wird von FastAPI / Starlette verwendet: + +* uvicorn - für den Server, der Ihre Anwendung lädt und serviert. +* orjson - erforderlich, wenn Sie `ORJSONResponse` verwenden möchten. + +Sie können diese alle mit `pip install "fastapi[all]"` installieren. + +## Lizenz + +Dieses Projekt ist unter den Bedingungen der MIT-Lizenz lizenziert. From e9c5ac892a48a156ae8cefa7fd50d04ec73554db Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Thu, 21 Sep 2023 15:55:47 +0200 Subject: [PATCH 02/18] Weniger eindeutschen Die englischen Worte sind in IT-Kreisen verbreiteter. Siehe die Diskussion bei #10290 --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 75037e1ea48ad..63b5a45a578cf 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -435,7 +435,7 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das eines der schnellsten verfügbaren Python-Frameworks, nur noch hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). From 0dcbfbf025545cb8e329f8ad351624a3790b5a6d Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Fri, 22 Sep 2023 01:42:57 +0200 Subject: [PATCH 03/18] "Zwei" statt "2" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 63b5a45a578cf..e1321134eb176 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -390,7 +390,7 @@ Um auf das vorherige Codebeispiel zurückzukommen, **FastAPI** wird: * Alles mit OpenAPI dokumentieren, welches verwendet werden kann von: * Interaktiven Dokumentationssystemen. * Automatisch Client-Code generierenden Systemen für viele Sprachen. -* 2 interaktive Dokumentation-Webschnittstellen direkt zur Verfügung stellen. +* Zwei interaktive Dokumentation-Webschnittstellen direkt zur Verfügung stellen. --- From ac933c831ce907797d558764dc073d7e105a3751 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sat, 14 Oct 2023 08:47:34 +0200 Subject: [PATCH 04/18] Better translation for "designed" Had it on my tongue all the time. --- docs/de/docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index e1321134eb176..c9b3cb876237e 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -36,7 +36,7 @@ Seine Schlüssel-Merkmale sind: * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * * **Weniger Bugs**: Verringern Sie die von Menschen (Entwicklern) verursachten Fehler um etwa 40 %. * * **Intuitiv**: Exzellente Editor-Unterstützung. Code-Vervollständigung überall. Weniger Debuggen. -* **Einfach**: Entworfen, um einfach zu benutzen und zu erlernen zu sein. Weniger Zeit für das Lesen der Dokumentation. +* **Einfach**: So konzipiert, dass es einfach zu benutzen und zu erlernen ist. Weniger Zeit für das Lesen der Dokumentation. * **Kurz**: Minimieren Sie die Verdoppelung von Code. Mehrere Funktionen aus jeder Parameterdeklaration. Weniger Bugs. * **Robust**: Erhalten Sie produktionsreifen Code. Mit automatischer, interaktiver Dokumentation. * **Standards-basiert**: Basierend auf (und vollständig kompatibel mit) den offenen Standards für APIs: OpenAPI (früher bekannt als Swagger) und JSON Schema. @@ -100,7 +100,7 @@ Seine Schlüssel-Merkmale sind: --- -"_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön gestaltet**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** in unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Dienste an, wie etwa unseren virtuellen TAC-Ingenieur._" +"_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön konzipiert**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** in unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Dienste an, wie etwa unseren virtuellen TAC-Ingenieur._"
Deon Pillsbury - Cisco (Ref)
From 473edab25ee5b4c12c77e0c2dcde93ebe74c14a9 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Mon, 16 Oct 2023 13:04:15 +0200 Subject: [PATCH 05/18] "Performance" -> "Performanz" Changed my opinion. https://de.wikipedia.org/wiki/Rechenleistung uses "Performanz", so I use it too. --- docs/de/docs/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index c9b3cb876237e..28127aeff0091 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -27,11 +27,11 @@ --- -FastAPI ist ein modernes, schnelles (High-Performance) Web-Framework zur Erstellung von APIs mit Python 3.7+ auf Basis von Standard Python Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.7+ auf Basis von Standard Python Type Hints. Seine Schlüssel-Merkmale sind: -* **Schnell**: Sehr hohe Leistung, auf Augenhöhe mit **NodeJS** und **Go** (Dank Starlette und Pydantic). [Eines der schnellsten verfügbaren Python-Frameworks](#performance). +* **Schnell**: Sehr hohe Leistung, auf Augenhöhe mit **NodeJS** und **Go** (Dank Starlette und Pydantic). [Eines der schnellsten verfügbaren Python-Frameworks](#performanz). * **Schnell zu programmieren**: Erhöhen Sie die Geschwindigkeit bei der Entwicklung von Funktionen um etwa 200 % bis 300 %. * * **Weniger Bugs**: Verringern Sie die von Menschen (Entwicklern) verursachten Fehler um etwa 40 %. * @@ -435,7 +435,7 @@ Für ein vollständigeres Beispiel, mit weiteren Funktionen, siehe das eines der schnellsten verfügbaren Python-Frameworks, nur noch hinter Starlette und Uvicorn selbst (intern von FastAPI verwendet). From be4abf8f71022643db74954f1f722e8b6ca8a498 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Mon, 16 Oct 2023 20:05:27 +0200 Subject: [PATCH 06/18] Translate link pointing to async.md That document is now translated, see https://github.com/tiangolo/fastapi/pull/10449 Also fix another link, which I overlooked. --- docs/de/docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 28127aeff0091..9657146989e08 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -58,7 +58,7 @@ Seine Schlüssel-Merkmale sind: -Andere Sponsoren +Andere Sponsoren ## Meinungen @@ -196,7 +196,7 @@ async def read_item(item_id: int, q: Union[str, None] = None): **Anmerkung**: -Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _"In Eile?"_ über `async` und `await` in der Dokumentation an. +Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _"In Eile?"_ über `async` und `await` in der Dokumentation an. ### Starten From a182840246a3b1e309c48f15c37d3d1ee1cd9cf9 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Tue, 17 Oct 2023 19:17:50 +0200 Subject: [PATCH 07/18] "Normal" -> "Standard" --- docs/de/docs/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 9657146989e08..67c33992fc5f2 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -265,7 +265,7 @@ Sie sehen die alternative automatische Dokumentation (bereitgestellt von Body einer `PUT`-Anfrage zu empfangen. -Deklarieren Sie den Body mithilfe von normalen Python-Typen, dank Pydantic. +Deklarieren Sie den Body mithilfe von Standard Python Typen, dank Pydantic. ```Python hl_lines="4 9-12 25-27" from typing import Union @@ -327,11 +327,11 @@ Und nun gehen Sie auf Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard Python Type Hints. Seine Schlüssel-Merkmale sind: @@ -116,7 +116,7 @@ Wenn Sie eine FastAPI

From b1eda5f53df345ec77cc13129ce7d1d1e84d7c5a Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 29 Oct 2023 04:58:03 +0100 Subject: [PATCH 10/18] Use typographic quotes --- docs/de/docs/index.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 67ba90fe4331d..d73ad2ec3be7c 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -71,45 +71,45 @@ Seine Schlüssel-Merkmale sind: ## Meinungen -"_[...] Ich verwende **FastAPI** heutzutage sehr oft. [...] Ich habe tatsächlich vor, es für alle **ML-Dienste meines Teams bei Microsoft** zu verwenden. Einige davon werden in das Kernprodukt **Windows** und einige **Office**-Produkte integriert._" +„_[...] Ich verwende **FastAPI** heutzutage sehr oft. [...] Ich habe tatsächlich vor, es für alle **ML-Dienste meines Teams bei Microsoft** zu verwenden. Einige davon werden in das Kernprodukt **Windows** und einige **Office**-Produkte integriert._“
Kabir Khan - Microsoft (Ref)
--- -"_Wir haben die **FastAPI**-Bibliothek genommen, um einen **REST**-Server zu erstellen, der abgefragt werden kann, um **Vorhersagen** zu erhalten. [für Ludwig]_" +„_Wir haben die **FastAPI**-Bibliothek genommen, um einen **REST**-Server zu erstellen, der abgefragt werden kann, um **Vorhersagen** zu erhalten. [für Ludwig]_“
Piero Molino, Yaroslav Dudin, und Sai Sumanth Miryala - Uber (Ref)
--- -"_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierung-Frameworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_" +„_**Netflix** freut sich, die Open-Source-Veröffentlichung unseres **Krisenmanagement**-Orchestrierung-Frameworks bekannt zu geben: **Dispatch**! [erstellt mit **FastAPI**]_“
Kevin Glisson, Marc Vilanova, Forest Monsen - Netflix (Ref)
--- -"_Ich bin überglücklich mit **FastAPI**. Es macht so viel Spaß!_" +„_Ich bin überglücklich mit **FastAPI**. Es macht so viel Spaß!_“
Brian Okken - Host des Python Bytes Podcast (Ref)
--- -"_Ehrlich, was Du gebaut hast, sieht super solide und poliert aus. In vielerlei Hinsicht ist es so, wie ich **Hug** haben wollte – es ist wirklich inspirierend, jemanden so etwas bauen zu sehen._" +„_Ehrlich, was Du gebaut hast, sieht super solide und poliert aus. In vielerlei Hinsicht ist es so, wie ich **Hug** haben wollte – es ist wirklich inspirierend, jemanden so etwas bauen zu sehen._“
Timothy Crosley - Autor von Hug (Ref)
--- -"_Wenn Sie ein **modernes Framework** zum Erstellen von REST-APIs erlernen möchten, schauen Sie sich **FastAPI** an. [...] Es ist schnell, einfach zu verwenden und leicht zu erlernen [...]_" +„_Wenn Sie ein **modernes Framework** zum Erstellen von REST-APIs erlernen möchten, schauen Sie sich **FastAPI** an. [...] Es ist schnell, einfach zu verwenden und leicht zu erlernen [...]_“ -"_Wir haben zu **FastAPI** für unsere **APIs** gewechselt [...] Ich denke, es wird Ihnen gefallen [...]_" +„_Wir haben zu **FastAPI** für unsere **APIs** gewechselt [...] Ich denke, es wird Ihnen gefallen [...]_“
Ines Montani - Matthew Honnibal - Gründer von Explosion AI - Autoren von spaCy (Ref) - (Ref)
--- -"_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön konzipiert**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** in unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Dienste an, wie etwa unseren virtuellen TAC-Ingenieur._" +„_Falls irgendjemand eine Produktions-Python-API erstellen möchte, kann ich **FastAPI** wärmstens empfehlen. Es ist **wunderschön konzipiert**, **einfach zu verwenden** und **hoch skalierbar**; es ist zu einer **Schlüsselkomponente** in unserer API-First-Entwicklungsstrategie geworden und treibt viele Automatisierungen und Dienste an, wie etwa unseren virtuellen TAC-Ingenieur._“
Deon Pillsbury - Cisco (Ref)
@@ -205,7 +205,7 @@ async def read_item(item_id: int, q: Union[str, None] = None): **Anmerkung**: -Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _"In Eile?"_ über `async` und `await` in der Dokumentation an. +Wenn Sie das nicht kennen, schauen Sie sich den Abschnitt _„In Eile?“_ über `async` und `await` in der Dokumentation an. ### Starten @@ -231,7 +231,7 @@ INFO: Application startup complete. Der Befehl `uvicorn main:app` bezieht sich auf: -* `main`: die Datei `main.py` (das Python "Modul"). +* `main`: die Datei `main.py` (das Python „Modul“). * `app`: das Objekt, das innerhalb von `main.py` mit der Zeile `app = FastAPI()` erzeugt wurde. * `--reload`: lässt den Server nach Codeänderungen neu starten. Tun Sie das nur während der Entwicklung. @@ -316,11 +316,11 @@ Gehen Sie jetzt auf httpx - erforderlich, wenn Sie den `TestClient` verwenden möchten. * jinja2 - erforderlich, wenn Sie die Standardkonfiguration für Templates verwenden möchten. -* python-multipart - erforderlich, wenn Sie Formulare mittels `request.form()` "parsen" möchten. +* python-multipart - erforderlich, wenn Sie Formulare mittels `request.form()` „parsen“ möchten. * itsdangerous - erforderlich für `SessionMiddleware` Unterstützung. * pyyaml - erforderlich für Starlette's `SchemaGenerator` Unterstützung (Sie brauchen das wahrscheinlich nicht mit FastAPI). * ujson - erforderlich, wenn Sie `UJSONResponse` verwenden möchten. From 3c7b6132b2064ae8bd8bf263e1965e795dfbbea2 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sat, 11 Nov 2023 02:37:50 +0100 Subject: [PATCH 11/18] "Standard " -> "Standard-" --- docs/de/docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index d73ad2ec3be7c..ef9100787b5be 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -36,7 +36,7 @@ hide: --- -FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard Python Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python Type Hints. Seine Schlüssel-Merkmale sind: @@ -274,7 +274,7 @@ Sie sehen die alternative automatische Dokumentation (bereitgestellt von Body einer `PUT`-Anfrage zu empfangen. -Deklarieren Sie den Body mithilfe von Standard Python Typen, dank Pydantic. +Deklarieren Sie den Body mithilfe von Standard-Python-Typen, dank Pydantic. ```Python hl_lines="4 9-12 25-27" from typing import Union From 603bec7e30ea21696cf0f5a782b879ff080c0256 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Mon, 13 Nov 2023 02:39:42 +0100 Subject: [PATCH 12/18] Forgot some "Antwort" -> "Response" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index ef9100787b5be..fdc6db58f5181 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -241,7 +241,7 @@ Der Befehl `uvicorn main:app` bezieht sich auf: Öffnen Sie Ihren Browser unter http://127.0.0.1:8000/items/5?q=somequery. -Sie erhalten die JSON-Antwort: +Sie erhalten die JSON-Response: ```JSON {"item_id": 5, "q": "somequery"} From ebddb8bf498301987d24ca4d93a29b0774c94ee5 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Tue, 14 Nov 2023 04:47:54 +0100 Subject: [PATCH 13/18] Forgot some "Zeichenfolge" -> "String" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index fdc6db58f5181..3431105a080ff 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -462,7 +462,7 @@ Wird von Starlette verwendet: * httpx - erforderlich, wenn Sie den `TestClient` verwenden möchten. * jinja2 - erforderlich, wenn Sie die Standardkonfiguration für Templates verwenden möchten. -* python-multipart - erforderlich, wenn Sie Formulare mittels `request.form()` „parsen“ möchten. +* python-multipart - erforderlich, wenn Sie Formulare mittels `request.form()` „parsen“ möchten. * itsdangerous - erforderlich für `SessionMiddleware` Unterstützung. * pyyaml - erforderlich für Starlette's `SchemaGenerator` Unterstützung (Sie brauchen das wahrscheinlich nicht mit FastAPI). * ujson - erforderlich, wenn Sie `UJSONResponse` verwenden möchten. From 01e028ec331aa0c37008b25a7696faa5f8022bd9 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Wed, 15 Nov 2023 08:13:39 +0100 Subject: [PATCH 14/18] "Python " -> "Python-", etc. --- docs/de/docs/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 3431105a080ff..8fc2959d6af3b 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -24,7 +24,7 @@ hide: Package version - Unterstützte Python Versionen + Unterstützte Python-Versionen

@@ -36,7 +36,7 @@ hide: --- -FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. Seine Schlüssel-Merkmale sind: @@ -231,7 +231,7 @@ INFO: Application startup complete. Der Befehl `uvicorn main:app` bezieht sich auf: -* `main`: die Datei `main.py` (das Python „Modul“). +* `main`: die Datei `main.py` (das Python-„Modul“). * `app`: das Objekt, das innerhalb von `main.py` mit der Zeile `app = FastAPI()` erzeugt wurde. * `--reload`: lässt den Server nach Codeänderungen neu starten. Tun Sie das nur während der Entwicklung. @@ -336,11 +336,11 @@ Und nun gehen Sie auf "Webframework" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 8fc2959d6af3b..d0c6f15eb106d 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -36,7 +36,7 @@ hide: --- -FastAPI ist ein modernes, schnelles (hoch performantes) Web-Framework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. Seine Schlüssel-Merkmale sind: From fb37c65107a935c2645a3581bab3e51da5c8f291 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Fri, 8 Dec 2023 07:55:48 +0100 Subject: [PATCH 16/18] "-Modell" -> "modell" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index d0c6f15eb106d..074070ce8b4b9 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -374,7 +374,7 @@ item: Item * Konvertieren von Python-Typen (`str`, `int`, `float`, `bool`, `list`, usw.). * `Datetime`-Objekte. * `UUID`-Objekte. - * Datenbank-Modelle. + * Datenbankmodelle. * ... und viele mehr. * Automatische interaktive API-Dokumentation, einschließlich 2 alternativer Benutzeroberflächen: * Swagger UI. From fc8ea97a7ba39c0e61962d4b9224da4444739ebc Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Thu, 28 Dec 2023 20:54:07 +0100 Subject: [PATCH 17/18] Remove "-" --- docs/de/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 074070ce8b4b9..5c871ea9880b8 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -36,7 +36,7 @@ hide: --- -FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. Seine Schlüssel-Merkmale sind: From cd178ce572f2bfee3f04af382d68ac58b62780c9 Mon Sep 17 00:00:00 2001 From: Nils Lindemann Date: Sun, 14 Jan 2024 17:01:00 +0100 Subject: [PATCH 18/18] Update / fix a few things This was out of sync anyhow. --- docs/de/docs/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/de/docs/index.md b/docs/de/docs/index.md index 5c871ea9880b8..cf5a2b2d6954e 100644 --- a/docs/de/docs/index.md +++ b/docs/de/docs/index.md @@ -8,20 +8,20 @@ hide:

- FastAPI + FastAPI

FastAPI Framework, hochperformant, leicht zu erlernen, schnell zu programmieren, einsatzbereit

- - Test + + Test - - Coverage + + Coverage - Package version + Package-Version Unterstützte Python-Versionen @@ -36,7 +36,7 @@ hide: --- -FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Type Hints. +FastAPI ist ein modernes, schnelles (hoch performantes) Webframework zur Erstellung von APIs mit Python 3.8+ auf Basis von Standard-Python-Typhinweisen. Seine Schlüssel-Merkmale sind: @@ -119,7 +119,7 @@ Seine Schlüssel-Merkmale sind: -Wenn Sie eine CLI-Anwendung für das Terminal erstellen, anstelle einer Web-API, schauen Sie sich **Typer** an. +Wenn Sie eine CLI-Anwendung für das Terminal erstellen, anstelle einer Web-API, schauen Sie sich **Typer** an. **Typer** ist die kleine Schwester von FastAPI. Und es soll das **FastAPI der CLIs** sein. ⌨️ 🚀