📁 Base Options¶
📋 Options¶
| Option | Description |
|---|---|
--encoding |
Specify character encoding for input and output files. |
--input |
Specify the input schema file path. |
--input-file-type |
Specify the input file type for code generation. |
--output |
Specify the destination path for generated Python code. |
--url |
Fetch schema from URL with custom HTTP headers. |
--encoding¶
Specify character encoding for input and output files.
The --encoding flag sets the character encoding used when reading
the schema file and writing the generated Python code. This is useful
for schemas containing non-ASCII characters (e.g., Japanese, Chinese).
Default is utf-8.
Usage
-
--encoding- the option documented here
Input Schema
Output
# generated by datamodel-codegen:
# filename: encoding_test.json
# timestamp: 2019-07-26T00:00:00+00:00
from __future__ import annotations
from typing import Optional
from pydantic import BaseModel, Field
class 日本語Model(BaseModel):
名前: Optional[str] = Field(None, description='ユーザー名')
年齢: Optional[int] = None
--input¶
Specify the input schema file path.
The --input flag specifies the path to the schema file (JSON Schema,
OpenAPI, GraphQL, etc.). Multiple input files can be specified to merge
schemas. Required unless using --url to fetch schema from a URL.
Usage
-
--input- the option documented here
Input Schema
Output
--input-file-type¶
Specify the input file type for code generation.
The --input-file-type flag explicitly sets the input format when it cannot
be auto-detected from the file extension. Supported types: openapi, jsonschema,
json, yaml, csv, graphql.
Usage
-
--input-file-type- the option documented here
Output
--output¶
Specify the destination path for generated Python code.
The --output flag specifies where to write the generated Python code.
It can be either a file path (single-file output) or a directory path
(multi-file output for modular schemas). If omitted, the generated code
is written to stdout.
Usage
-
--output- the option documented here
Input Schema
Output
--url¶
Fetch schema from URL with custom HTTP headers.
The --url flag specifies a remote URL to fetch the schema from instead of
a local file. The --http-headers flag adds custom HTTP headers to the request,
useful for authentication (e.g., Bearer tokens) or custom API requirements.
Format: HeaderName:HeaderValue.
Usage
datamodel-codegen --input schema.json --url https://api.example.com/schema.json --http-headers "Authorization:Bearer token" # (1)!
-
--url- the option documented here
Input Schema
Output
# generated by datamodel-codegen:
# filename: https://api.example.com/schema.json
# timestamp: 2019-07-26T00:00:00+00:00
from __future__ import annotations
from typing import Optional
from pydantic import BaseModel
class Pet(BaseModel):
id: Optional[int] = None
name: Optional[str] = None
tag: Optional[str] = None