DC

datamodel-code-generator/datamodel-code-generator

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

4 тыс. stars Качество 77 Тренд 48MIT

Генерируйте модели Pydantic v2, классы данных, TypedDict и msgspec. Struct из OpenAPI, JSON Schema, GraphQL, Avro, Protobuf и исходного JSON/YAML/CSV.

Обзор

🚀 Генерируйте модели данных на Python из определений схем за считанные секунды. 📚 Документация · 🧪 Игровая площадка · 💼 Ведущий обслуживающий специалист доступен для работы Конфиденциальность Playground: Генерация запускается локально в вашем браузере с помощью Pyodide. Ваша схема и опции не отправляются на бэкенд. Общие реплики URL кодируют их в фрагменте URL (#state=...), который браузеры не отправляют на сервер; полный URL всё равно может храниться в истории браузера или где бы вы ни поделились им. Выберите любой из поддерживаемых входов и выберите стиль модели на Python, который вам нужен в качестве выхода. --input-model path/to/file.py:ClassName может даже перетаргетировать существующий класс Pydantic, dataclass или TypedDict, определённый в другом файле на Python, на другой тип вывода.

Обзор (машинный перевод)

🚀 Генерируйте модели данных на Python из определений схем за считанные секунды.

📚 Документация · 🧪 Детская площадка · 💼 Лид-тейнтер, доступный для работы.

[! ПРИМЕЧАНИЕ] Privacy Playground: генерация запускается локально в браузере с помощью Pyodide. Ваша схема и опции не отправляются в бэкенд. Общие реплики кодируют их в фрагменте URL (#state=...), который браузеры не отправляют на сервер; полный URL всё ещё можно хранить в истории браузера или где бы вы его ни делили.

✨ Что он делает

Выберите любой из поддерживаемых входов и выберите стиль модели на Python, который вам нужен в качестве выхода. --input-model path/to/file.py:ClassName может даже перетаргетировать существующий класс Pydantic, класс данных или класс TypedDict, определённый в другом Python-файле на другой тип вывода.

  • 📄 Преобразует OpenAPI 3, AsyncAPI, JSON Schema, Apache Avro, XML Schema, Protocol Buffers/gRPC, GraphQL, MCP tools schememas и сырые данные (JSON/YAML/CSV) в модели на Python
  • 🐍 Генерирует из существующих типов Python (Pydantic, dataclass, TypedDict) с помощью --input-model
  • 🎯 Генерирует Pydantic v2, Pydantic v2 dataclass, dataclass, TypedDict или msgspec вывод

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

datamodel-code-generator

🚀 Generate Python data models from schema definitions in seconds.

📚 Documentation · 🧪 Playground · 💼 Lead maintainer available for work

[!NOTE] Playground privacy: Generation runs locally in your browser with Pyodide. Your schema and options are not sent to a backend. Shared repro URLs encode them in the URL fragment (#state=...), which browsers do not send to the server; the full URL can still be stored in your browser history or wherever you share it.

✨ What it does

Pick any one of the supported inputs and pick the Python model style you want as output. --input-model path/to/file.py:ClassName can even retarget an existing Pydantic, dataclass, or TypedDict class defined in another Python file to a different output type.

  • 📄 Converts OpenAPI 3, AsyncAPI, JSON Schema, Apache Avro, XML Schema, Protocol Buffers/gRPC, GraphQL, MCP tool schemas, and raw data (JSON/YAML/CSV) into Python models
  • 🐍 Generates from existing Python types (Pydantic, dataclass, TypedDict) via --input-model
  • 🎯 Generates Pydantic v2, Pydantic v2 dataclass, dataclasses, TypedDict, or msgspec output
  • 🔗 Handles complex schemas: $ref, allOf, oneOf, anyOf, enums, and nested types
  • ✅ Produces type-safe, validated code ready for your IDE and type checker
Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add datamodel-code-generator/datamodel-code-generator
Новичок в MCP? Начните с руководства на mcpskill.org →