datamodel-code-generator: Was das Repository tatsächlich dokumentiert
Projektüberblick: Generieren Sie Pydantic v2-Modelle, Datenklassen, TypedDict und msgspec.Struct aus OpenAPI, JSON Schema, GraphQL, Avro, Protobuf und rohem JSON/YAML/CSV.
Auf einen Blick
- Was ist das?
- Das CLI wandelt OpenAPI, JSON Schema, AsyncAPI, Avro, XSD, Protobuf, GraphQL und Rohdaten in Python-Modelle um. Eine faktengebundene Einordnung für den deutschen Sprachraum.
- Für wen ist es gedacht?
- Geeignet ist datamodel-code-generator für Leser, deren konkreter Anwendungsfall zu den dokumentierten Funktionen passt. Nicht geeignet ist eine Auswahl allein nach Popularität.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Einordnung aus dem README: datamodel-code-generator 1
Abschnitt 1, Absatz 1: koxudaxi beschreibt datamodel-code-generator im README als konkretes Open-Source-Projekt. Diese Einordnung ist eine redaktionelle Zusammenfassung der dort genannten Funktionen und keine Aussage über einen eigenen Produktionseinsatz. Die Metadaten liefern Hinweise auf Repository-Aktivität, ersetzen aber weder einen Test noch eine Prüfung der Abhängigkeiten. Das CLI wandelt OpenAPI, JSON Schema, AsyncAPI, Avro, XSD, Protobuf, GraphQL und Rohdaten in Python-Modelle um. Für die Auswahl ist wichtig, welche Teile tatsächlich dokumentiert sind und welche Annahmen erst im eigenen Umfeld geprüft werden müssen. Der README-Schnellstart nutzt datamodel-codegen mit --input schema.json, --input-file-type jsonschema, --preset standard-py312-20260826 und --output model.py. Dabei sollten Eingaben, Ausgaben und Fehlermeldungen festgehalten werden. So bleibt erkennbar, ob das Ergebnis aus datamodel-code-generator stammt oder aus einer umgebenden Anwendung. Die README ist die maßgebliche Quelle für den beschriebenen Funktionsumfang; fehlende Angaben werden hier nicht durch Versprechen ersetzt.
Abschnitt 1, Absatz 2: Unterstützte Eingaben und Python-Modellziele: Die README listet ein breites Spektrum an Eingabeformaten auf: OpenAPI 3 (YAML/JSON), AsyncAPI, JSON Schema, MCP-Tool-Schemas, XML Schema (XSD), Protocol Buffers/gRPC (.proto), Apache-Avro-Schemas (AVSC), JSON-Daten, YAML-Daten, Python-Dictionaries, CSV-Daten, GraphQL-Schemas sowie vorhandene Python-Typen, die über --input-model übergeben werden. Als Ausgabeziele nennt sie Pydantic-v2-BaseModel, Pydantic-v2-Dataclass, Standard-Dataclasses, TypedDict und msgspec Struct. Die README sagt außerdem, dass das Tool $ref, allOf, oneOf, anyOf, Enums und verschachtelte Typen verarbeitet.
Abschnitt 1, Absatz 3: Installationswege: Für die eigenständige CLI-Nutzung empfiehlt die README uv tool install datamodel-code-generator, für Conda-Nutzer conda install -c conda-forge datamodel-code-generator. Dokumentiert sind auch pip install datamodel-code-generator und ein Docker-Image (docker pull koxudaxi/datamodel-code-generator). Es gibt Zusatzpakete für stabilen HTTP-Support ([http]), GraphQL ([graphql]), Protocol Buffers ([protobuf]), Ruff-Formatierung ([ruff]) und ein experimentelles HTTPX2-Backend ([httpx2]). Das Docker-Image läuft als nicht-root-Benutzer appuser. Community-gepflegte Pakete für Debian, Ubuntu, nixpkgs und openSUSE Tumbleweed werden erwähnt, mit dem Hinweis, dass Verfügbarkeit und Versionen je nach Distribution variieren.
Abschnitt 1, Absatz 4: Ein Schnellstart mit JSON Schema: Der Schnellstart der README nimmt eine JSON-Schema-Datei (schema.json) und erzeugt daraus ein Pydantic-v2-Modul. Der Befehl lautet: datamodel-codegen --input schema.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --preset standard-py312-20260619 --output model.py. Der Preset-Name enthält die Ziel-Python-Version, py312 bedeutet Python 3.12. In der gezeigten Ausgabe ist das species-Feld ein StrEnum, das name-Feld ein Annotated mit Beschreibung, und das age-Feld trägt die Einschränkung ge=0. Das zeigt, wie Schema-Constraints in Pydantic-Field-Metadaten übergehen. Ein zweiter Preset, practical-py312-20260619, wird als stärker schema-bewusst beschrieben: Er erhält schema-definierte Namen, verwendet Modelle wieder und bettet generierte Dokumentation ein.
Abschnitt 1, Absatz 5: Formatierer-Wahl und Generierungsgeschwindigkeit: Laut README wird erzeugter Python-Code derzeit standardmäßig mit black und isort formatiert. Für schnellere Generierung ohne externe Formatierer-Abhängigkeiten gibt es --formatters builtin für standardmäßig erzeugte Moduldateien. In einer künftigen Version sollen Black und isort optional werden und der Standard auf builtin wechseln. Da Ausgaben aus benutzerdefinierten Templates nicht erschöpfend validiert werden, bittet die README darum, bei ungültiger oder schlecht formatierter builtin-Ausgabe mit einem benutzerdefinierten Template ein Issue mit kleinem Reproduktionsbeispiel zu eröffnen. Ruff-Nutzer installieren das Extra [ruff] und übergeben --formatters ruff-check ruff-format. Die README verlinkt Leistungs-Benchmarks und interaktive Diagramme auf der Dokumentationsseite, nennt aber keine konkreten Zahlen.
Abschnitt 1, Absatz 6: Browser-Playground und sein Datenschutzverhalten: Auf der Dokumentationsseite gibt es einen Playground, in dem die Generierung lokal im Browser über Pyodide läuft. Die README erklärt, dass Schemas und Optionen nicht an ein Backend gesendet werden. Geteilte Reproduktions-URLs kodieren den Zustand im URL-Fragment (#state=...), das Browser nicht an den Server senden; die vollständige URL kann jedoch im Browserverlauf oder dort, wo sie geteilt wird, gespeichert bleiben. Das ist die einzige Datenschutzaussage in der README; Sicherheitszusagen für das CLI selbst macht sie nicht.
Abschnitt 1, Absatz 7: Konformitätssignale und die Coding-Agent-Skill: Die CI testet den Generator gegen festgepinnte externe Korpora für XML Schema, JSON Schema, AsyncAPI, Apache Avro und Protocol Buffers. Ein Konformitäts-Dashboard fasst Runner-Skripte, tox-Umgebungen, CI-Jobs, erwartete Korpuszahlen und Upstream-Quellen zusammen. Das Repository enthält außerdem eine experimentelle Agent Skill, die kompatiblen Coding-Agenten beibringt, datamodel-codegen auszuführen, wenn Modelle aus den unterstützten Formaten erzeugt werden. Die README nennt Installationsverzeichnisse für Codex und Claude Code, verweist für genaue Suchpfade aber auf die Dokumentation des jeweiligen Agenten.
Abschnitt 1, Absatz 8: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts.
Abschnitt 1, Absatz 9: koxudaxi beschreibt datamodel-code-generator im README als konkretes Open-Source-Projekt. Diese Einordnung ist eine redaktionelle Zusammenfassung der dort genannten Funktionen und keine Aussage über einen eigenen Produktionseinsatz. Die Metadaten liefern Hinweise auf Repository-Aktivität, ersetzen aber weder einen Test noch eine Prüfung der Abhängigkeiten. Das CLI wandelt OpenAPI, JSON Schema, AsyncAPI, Avro, XSD, Protobuf, GraphQL und Rohdaten in Python-Modelle um. Für die Auswahl ist wichtig, welche Teile tatsächlich dokumentiert sind und welche Annahmen erst im eigenen Umfeld geprüft werden müssen. Der README-Schnellstart nutzt datamodel-codegen mit --input schema.json, --input-file-type jsonschema, --preset standard-py312-20260826 und --output model.py. Dabei sollten Eingaben, Ausgaben und Fehlermeldungen festgehalten werden. So bleibt erkennbar, ob das Ergebnis aus datamodel-code-generator stammt oder aus einer umgebenden Anwendung. Die README ist die maßgebliche Quelle für den beschriebenen Funktionsumfang; fehlende Angaben werden hier nicht durch Versprechen ersetzt. Prüfpunkt 1 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Dokumentierte Kernfunktion: datamodel-code-generator 2
Abschnitt 2, Absatz 1: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts. Prüfpunkt 2 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Konkreter Einstieg: datamodel-code-generator 3
Abschnitt 3, Absatz 1: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts. Prüfpunkt 3 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Eingaben und Ergebnisse: datamodel-code-generator 4
Abschnitt 4, Absatz 1: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts. Prüfpunkt 4 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Grenzen der Beschreibung: datamodel-code-generator 5
Abschnitt 5, Absatz 1: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts. Prüfpunkt 5 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von dem Startbefehl ist zu dokumentieren.
Prüfung im Projektkontext: datamodel-code-generator 6
Abschnitt 6, Absatz 1: Lizenz, Maintainer und Repository-Stand: Das Repository steht unter der MIT-Lizenz, Copyright (c) 2019 Koudai Aono. Die Lizenz gestattet die Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verbreitung, Unterlizenzierung und den Verkauf von Kopien der Software und erklärt, dass die Software ohne jegliche Gewährleistung 'wie besehen' bereitgestellt wird. Die README nennt drei Maintainer: Koudai Aono (Lead), Bernát Gábor und Antonio Spadaro. Die Repository-Metadaten verzeichnen 3993 Sterne, 452 Forks und 23 offene Issues; das Projekt ist nicht archiviert. Zu Support-Richtlinien oder einem Prozess für Sicherheitsmeldungen sagt die README nichts. Prüfpunkt 6 für koxudaxi-datamodel-code-generator-deep-analysis: Die konkrete Ausgabe von der Konfiguration ist zu dokumentieren.
Redaktionelles Fazit
Geeignet ist datamodel-code-generator für Leser, deren konkreter Anwendungsfall zu den dokumentierten Funktionen passt. Nicht geeignet ist eine Auswahl allein nach Popularität. Prüfe zuerst Der README-Schnellstart nutzt datamodel-codegen mit --input schema.json, --input-file-type jsonschema, --preset standard-py312-20260826 und --output model.py. und vergleiche Ergebnis, Version und Fehlermeldungen mit der README.
Community-Notizen