diff --git a/.github/workflows/generated-docs-sync.yaml b/.github/workflows/generated-docs-sync.yaml
index 96051fc8a..f8686ddf9 100644
--- a/.github/workflows/generated-docs-sync.yaml
+++ b/.github/workflows/generated-docs-sync.yaml
@@ -15,9 +15,14 @@ on:
- 'scripts/build_schema_docs.py'
- 'scripts/build_conformance_docs.py'
- 'scripts/build_architecture_docs.py'
+ - 'scripts/build_release_benchmark_docs.py'
- 'scripts/build_llms_txt.py'
- 'scripts/update_generate_prompt_snapshots.py'
- 'scripts/update_docs_version.py'
+ - 'docs/data/release-benchmarks.json'
+ - 'docs/data/release-benchmark-notes.json'
+ - 'docs/assets/benchmarks/release-benchmarks.css'
+ - 'docs/assets/benchmarks/release-benchmarks.js'
- 'tox.ini'
- '.github/workflows/generated-docs-sync.yaml'
- 'docs/**/*.md'
@@ -66,6 +71,7 @@ jobs:
docs/presets.md
docs/conformance.md
docs/architecture.md
+ docs/performance-benchmarks.md
docs/cli-reference/
docs/llms.txt
docs/llms-full.txt
diff --git a/.github/workflows/llms-txt.yaml b/.github/workflows/llms-txt.yaml
index a9b00c52d..330aa67aa 100644
--- a/.github/workflows/llms-txt.yaml
+++ b/.github/workflows/llms-txt.yaml
@@ -13,6 +13,11 @@ on:
- 'scripts/build_preset_docs.py'
- 'src/datamodel_code_generator/parser/schema_version.py'
- 'scripts/build_schema_docs.py'
+ - 'scripts/build_release_benchmark_docs.py'
+ - 'docs/data/release-benchmarks.json'
+ - 'docs/data/release-benchmark-notes.json'
+ - 'docs/assets/benchmarks/release-benchmarks.css'
+ - 'docs/assets/benchmarks/release-benchmarks.js'
- 'docs/**/*.md'
- 'README.md'
- 'zensical.toml'
@@ -67,5 +72,7 @@ jobs:
run: .tox/schema-docs/bin/python scripts/build_schema_docs.py
- name: Build preset docs
run: .tox/preset-docs/bin/python scripts/build_preset_docs.py
+ - name: Build release benchmark docs
+ run: .tox/llms-txt/bin/python scripts/build_release_benchmark_docs.py
- name: Build llms.txt
run: .tox/llms-txt/bin/python scripts/build_llms_txt.py
diff --git a/.github/workflows/release-benchmarks.yaml b/.github/workflows/release-benchmarks.yaml
new file mode 100644
index 000000000..4e7b846f4
--- /dev/null
+++ b/.github/workflows/release-benchmarks.yaml
@@ -0,0 +1,203 @@
+name: Release Benchmarks
+
+on:
+ pull_request:
+ types: [labeled]
+ workflow_run:
+ workflows: ["Publish"]
+ types: [completed]
+ workflow_dispatch:
+ inputs:
+ versions:
+ description: "Release tags, versions, or main to benchmark. Leave empty to select by PyPI download usage."
+ required: false
+ default: ""
+ history_days:
+ description: "PyPI download lookback window used for version selection."
+ required: false
+ default: "365"
+ limit:
+ description: "Maximum release versions to benchmark."
+ required: false
+ default: "40"
+ runs:
+ description: "Measured runs per release/input/formatter case."
+ required: false
+ default: "7"
+ python_version:
+ description: "Python version used to install and run released packages."
+ required: false
+ default: "3.14.2"
+
+concurrency:
+ group: release-benchmarks-${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.ref }}
+ cancel-in-progress: false
+
+permissions:
+ contents: read
+
+jobs:
+ resolve:
+ name: Resolve release benchmark versions
+ runs-on: ubuntu-24.04
+ if: >-
+ ${{
+ github.event_name == 'workflow_dispatch' ||
+ (
+ github.event_name == 'pull_request' &&
+ contains(github.event.pull_request.labels.*.name, 'run-release-benchmarks') &&
+ github.event.pull_request.head.repo.full_name == github.repository
+ ) ||
+ (
+ github.event.workflow_run.conclusion == 'success' &&
+ github.event.workflow_run.event == 'push' &&
+ github.event.workflow_run.head_repository.full_name == github.repository
+ )
+ }}
+ outputs:
+ versions_json: ${{ steps.versions.outputs.versions_json }}
+ versions: ${{ steps.versions.outputs.versions }}
+ env:
+ BENCHMARK_PYTHON_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.python_version || '3.14.2' }}
+ BENCHMARK_HISTORY_DAYS: ${{ github.event_name == 'workflow_dispatch' && inputs.history_days || '365' }}
+ BENCHMARK_LIMIT: ${{ github.event_name == 'workflow_dispatch' && inputs.limit || '40' }}
+ steps:
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
+ with:
+ python-version: ${{ env.BENCHMARK_PYTHON_VERSION }}
+ - name: Resolve release versions
+ id: versions
+ env:
+ EVENT_NAME: ${{ github.event_name }}
+ WORKFLOW_TAG: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_branch || '' }}
+ WORKFLOW_SHA: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || '' }}
+ INPUT_VERSIONS: ${{ github.event_name == 'workflow_dispatch' && inputs.versions || '' }}
+ run: |
+ set -euo pipefail
+ versions="$INPUT_VERSIONS"
+ if [ "$EVENT_NAME" = "workflow_run" ]; then
+ versions="$WORKFLOW_TAG"
+ case "$versions" in
+ refs/tags/*) versions="${versions#refs/tags/}" ;;
+ v[0-9]* | [0-9]*) ;;
+ *) versions="" ;;
+ esac
+ if [ -z "$versions" ] && [ -n "$WORKFLOW_SHA" ]; then
+ git fetch --tags --force --depth=1 origin '+refs/tags/*:refs/tags/*'
+ versions="$(git tag --points-at "$WORKFLOW_SHA" | sort -V | tail -n 1)"
+ fi
+ if [ -z "$versions" ]; then
+ echo "Could not determine release tag for Publish workflow run $WORKFLOW_SHA" >&2
+ exit 1
+ fi
+ fi
+ python scripts/select_release_benchmark_versions.py \
+ --versions "$versions" \
+ --history-days "$BENCHMARK_HISTORY_DAYS" \
+ --limit "$BENCHMARK_LIMIT" \
+ --output .benchmarks/release-benchmark-selection.json
+ - name: Upload benchmark selection
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
+ with:
+ name: dcg-release-benchmark-selection
+ path: .benchmarks/release-benchmark-selection.json
+ if-no-files-found: error
+
+ collect:
+ name: Collect release benchmarks (${{ matrix.version }})
+ needs: resolve
+ if: needs.resolve.result == 'success'
+ runs-on: ubuntu-24.04
+ strategy:
+ fail-fast: false
+ max-parallel: 40
+ matrix:
+ version: ${{ fromJson(needs.resolve.outputs.versions_json) }}
+ env:
+ BENCHMARK_PYTHON_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.python_version || '3.14.2' }}
+ BENCHMARK_RUNS: ${{ github.event_name == 'workflow_dispatch' && inputs.runs || (github.event_name == 'pull_request' && '3' || '7') }}
+ OS: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
+ with:
+ python-version: ${{ env.BENCHMARK_PYTHON_VERSION }}
+ - name: Install the latest version of uv
+ uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
+ - name: Collect benchmarks
+ env:
+ BENCHMARK_VERSION: ${{ matrix.version }}
+ run: >-
+ python scripts/collect_release_benchmarks.py
+ --versions "$BENCHMARK_VERSION"
+ --runs "$BENCHMARK_RUNS"
+ --output ".benchmarks/fragments/release-benchmark-${BENCHMARK_VERSION}.json"
+ - name: Upload benchmark fragment
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
+ with:
+ name: dcg-release-benchmark-fragment-${{ matrix.version }}
+ path: .benchmarks/fragments/release-benchmark-${{ matrix.version }}.json
+ if-no-files-found: error
+
+ build:
+ name: Build release benchmark docs artifact
+ needs: [resolve, collect]
+ if: needs.collect.result == 'success'
+ runs-on: ubuntu-24.04
+ env:
+ BENCHMARK_PYTHON_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.python_version || '3.14.2' }}
+ OS: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
+ with:
+ persist-credentials: false
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
+ with:
+ python-version: ${{ env.BENCHMARK_PYTHON_VERSION }}
+ - name: Download benchmark selection
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
+ with:
+ name: dcg-release-benchmark-selection
+ path: .benchmarks
+ - name: Download benchmark fragments
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
+ with:
+ pattern: dcg-release-benchmark-fragment-*
+ path: .benchmarks/fragments
+ merge-multiple: true
+ - name: Merge benchmark data
+ run: >-
+ python scripts/merge_release_benchmarks.py
+ .benchmarks/fragments/*.json
+ --selection .benchmarks/release-benchmark-selection.json
+ --output .benchmarks/release-benchmarks.json
+ - name: Build benchmark docs artifact
+ run: >-
+ python scripts/build_release_benchmark_docs.py
+ --data .benchmarks/release-benchmarks.json
+ --docs .benchmarks/docs/performance-benchmarks.md
+ - name: Copy benchmark chart assets
+ run: |
+ set -euo pipefail
+ mkdir -p .benchmarks/docs/assets/benchmarks .benchmarks/docs/data
+ cp docs/assets/benchmarks/release-benchmarks.css .benchmarks/docs/assets/benchmarks/
+ cp docs/assets/benchmarks/release-benchmarks.js .benchmarks/docs/assets/benchmarks/
+ cp .benchmarks/release-benchmarks.json .benchmarks/docs/data/
+ cp docs/data/release-benchmark-notes.json .benchmarks/docs/data/
+ - name: Upload benchmark data
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
+ with:
+ name: dcg-release-benchmarks-json
+ path: .benchmarks/release-benchmarks.json
+ if-no-files-found: error
+ - name: Upload benchmark docs
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
+ with:
+ name: dcg-release-benchmark-docs
+ path: .benchmarks/docs
+ if-no-files-found: error
diff --git a/README.md b/README.md
index 035b566a7..30a308035 100644
--- a/README.md
+++ b/README.md
@@ -199,6 +199,8 @@ Custom templates can emit Python outside the standard generated model patterns c
custom-template output is not exhaustively validated. If `--formatters builtin` produces invalid or poorly formatted
output with a custom template, please open an issue with a small reproducer. See
[Formatter Behavior](https://datamodel-code-generator.koxudaxi.dev/formatter-behavior/) for details.
+
+See [Performance Benchmarks](https://datamodel-code-generator.koxudaxi.dev/performance-benchmarks/) for release benchmark data and interactive charts.
---
@@ -213,6 +215,7 @@ output with a custom template, please open an issue with a small reproducer. See
- โ๏ธ [pyproject.toml](https://datamodel-code-generator.koxudaxi.dev/pyproject_toml/) - Configuration file
- ๐ [CI/CD Integration](https://datamodel-code-generator.koxudaxi.dev/ci-cd/) - GitHub Actions, pre-commit hooks
- โ
[Conformance Dashboard](https://datamodel-code-generator.koxudaxi.dev/conformance/) - External corpus coverage signals
+- ๐ [Performance Benchmarks](https://datamodel-code-generator.koxudaxi.dev/performance-benchmarks/) - Release benchmark tables and interactive charts
- ๐งญ [Architecture](https://datamodel-code-generator.koxudaxi.dev/architecture/) - Generation pipeline and synchronized component inventory
- ๐ [One-liner Usage](https://datamodel-code-generator.koxudaxi.dev/oneliner/) - uvx, pipx, clipboard integration
- โ [FAQ](https://datamodel-code-generator.koxudaxi.dev/faq/) - Common questions
diff --git a/docs/assets/benchmarks/release-benchmarks.css b/docs/assets/benchmarks/release-benchmarks.css
new file mode 100644
index 000000000..d35f03e86
--- /dev/null
+++ b/docs/assets/benchmarks/release-benchmarks.css
@@ -0,0 +1,82 @@
+.release-benchmark-chart {
+ display: block;
+ position: relative;
+ margin: 1rem 0 1.5rem;
+ padding: 1rem;
+ border: 1px solid var(--md-default-fg-color--lightest, #e5e7eb);
+ border-radius: 0.5rem;
+ background: var(--md-code-bg-color, #ffffff);
+}
+
+.release-benchmark-chart canvas {
+ display: block;
+ width: 100%;
+ height: 420px;
+}
+
+.release-benchmark-chart__legend {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.75rem 1rem;
+ margin-top: 0.75rem;
+ font-size: 0.72rem;
+}
+
+.release-benchmark-chart__legend-item {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.35rem;
+}
+
+.release-benchmark-chart__legend-label {
+ color: var(--md-default-fg-color--light, #6b7280);
+ font-weight: 700;
+}
+
+.release-benchmark-chart__swatch {
+ width: 0.75rem;
+ height: 0.75rem;
+ border-radius: 999px;
+}
+
+.release-benchmark-chart__status {
+ display: block;
+ margin-top: 0.75rem;
+ color: var(--md-default-fg-color--light, #6b7280);
+ font-size: 0.72rem;
+}
+
+.release-benchmark-chart__status[hidden] {
+ display: none;
+}
+
+.release-benchmark-chart__tooltip {
+ position: absolute;
+ z-index: 2;
+ max-width: min(18rem, calc(100% - 2rem));
+ padding: 0.35rem 0.5rem;
+ border-radius: 0.3rem;
+ background: var(--md-default-bg-color, #ffffff);
+ box-shadow: 0 0.25rem 0.9rem rgb(15 23 42 / 18%);
+ color: var(--md-default-fg-color, #111827);
+ font-size: 0.72rem;
+ pointer-events: none;
+ transform: translate(-50%, calc(-100% - 0.6rem));
+ white-space: nowrap;
+}
+
+.release-benchmark-version-note {
+ color: var(--md-accent-fg-color, #dc2626);
+ text-decoration: underline dotted;
+ text-underline-offset: 0.18em;
+}
+
+@media screen and (max-width: 42rem) {
+ .release-benchmark-chart {
+ padding: 0.75rem;
+ }
+
+ .release-benchmark-chart canvas {
+ height: 320px;
+ }
+}
diff --git a/docs/assets/benchmarks/release-benchmarks.js b/docs/assets/benchmarks/release-benchmarks.js
new file mode 100644
index 000000000..f6749d28a
--- /dev/null
+++ b/docs/assets/benchmarks/release-benchmarks.js
@@ -0,0 +1,622 @@
+(function () {
+ "use strict";
+
+ const STATUS_OK = "ok";
+ const FORMATTERS = [
+ { key: "default", label: "black/isort(Default)", color: "#f59e0b" },
+ { key: "builtin", label: "Built-in", color: "#2563eb" },
+ { key: "ruff", label: "Ruff", color: "#16a34a" },
+ ];
+
+ const scriptUrl = document.currentScript && document.currentScript.src ? document.currentScript.src : document.baseURI;
+ const dataUrl = new URL("../../data/release-benchmarks.json", scriptUrl);
+ const notesUrl = new URL("../../data/release-benchmark-notes.json", scriptUrl);
+ const MAIN_VERSION = "main";
+ const initializedCharts = new WeakSet();
+ const observedCharts = new WeakSet();
+ let benchmarkPayloadPromise = null;
+ let benchmarkPayload = null;
+ let resizeObserver = null;
+ let globalEventsAttached = false;
+ let instantNavigationHookAttached = false;
+ let navigationEventsAttached = false;
+ let mutationObserverAttached = false;
+ let initializeScheduled = false;
+
+ function chartContainers() {
+ return Array.from(document.querySelectorAll("[data-release-benchmark-chart]"));
+ }
+
+ function versionKey(version) {
+ const normalizedVersion = String(version).replace(/^v/, "");
+ if (normalizedVersion === MAIN_VERSION) {
+ return [1, 0, 0, 0, 0];
+ }
+ const parts = String(version)
+ .replace(/^v/, "")
+ .split(/[.\-+_]/)
+ .map((part) => (/^\d+$/.test(part) ? Number(part) : 0));
+ while (parts.length < 4) {
+ parts.push(0);
+ }
+ parts.unshift(0);
+ return parts;
+ }
+
+ function compareVersions(left, right) {
+ const leftKey = versionKey(left);
+ const rightKey = versionKey(right);
+ for (let index = 0; index < 5; index += 1) {
+ if (leftKey[index] !== rightKey[index]) {
+ return leftKey[index] - rightKey[index];
+ }
+ }
+ return String(left).localeCompare(String(right));
+ }
+
+ function formatMs(value) {
+ if (value >= 1000) {
+ return `${(value / 1000).toFixed(2)}s`;
+ }
+ if (value >= 100) {
+ return `${value.toFixed(0)}ms`;
+ }
+ if (value >= 10) {
+ return `${value.toFixed(1)}ms`;
+ }
+ return `${value.toFixed(2)}ms`;
+ }
+
+ function inputLabel(inputType) {
+ switch (inputType) {
+ case "openapi":
+ return "OpenAPI";
+ case "jsonschema":
+ return "JSON Schema";
+ default:
+ return inputType;
+ }
+ }
+
+ function findEntry(entries, version, formatter) {
+ return entries.find(
+ (entry) =>
+ entry.version === version &&
+ entry.formatter === formatter &&
+ entry.status === STATUS_OK &&
+ typeof entry.median_ms === "number",
+ );
+ }
+
+ function scale(value, sourceMin, sourceMax, targetMin, targetMax) {
+ if (sourceMax === sourceMin) {
+ return (targetMin + targetMax) / 2;
+ }
+ return targetMin + ((value - sourceMin) / (sourceMax - sourceMin)) * (targetMax - targetMin);
+ }
+
+ function maxVersionLabelWidth(context, versions) {
+ if (versions.length === 0) {
+ return 0;
+ }
+ return Math.max(...versions.map((version) => context.measureText(version).width));
+ }
+
+ function versionTickIndexes(context, versions, plotWidth) {
+ if (versions.length <= 1) {
+ return versions.length === 1 ? [0] : [];
+ }
+ const labelWidth = maxVersionLabelWidth(context, versions);
+ const minimumSpacing = Math.max(44, Math.ceil(labelWidth) + 16);
+ const minimumIndexGap = Math.max(
+ 1,
+ Math.ceil((minimumSpacing / Math.max(plotWidth, 1)) * (versions.length - 1)),
+ );
+ const indexes = [];
+ for (let index = 0; index < versions.length; index += minimumIndexGap) {
+ indexes.push(index);
+ }
+
+ const lastIndex = versions.length - 1;
+ if (indexes[indexes.length - 1] === lastIndex) {
+ return indexes;
+ }
+ if (lastIndex - indexes[indexes.length - 1] < minimumIndexGap && indexes.length > 1) {
+ indexes.pop();
+ }
+ indexes.push(lastIndex);
+ return indexes;
+ }
+
+ function cssColor(element, name, fallback) {
+ const value = getComputedStyle(element).getPropertyValue(name).trim();
+ return value || fallback;
+ }
+
+ function scenarioEntries(data, inputType, caseName) {
+ return data.entries.filter((entry) => entry.input_type === inputType && entry.case === caseName);
+ }
+
+ function normalizeNotes(payload) {
+ if (!payload || !Array.isArray(payload.notes)) {
+ return [];
+ }
+ return payload.notes.reduce((notesByVersion, note) => {
+ if (note && typeof note.version === "string" && typeof note.summary === "string") {
+ notesByVersion.push({
+ version: note.version,
+ summary: note.summary,
+ details: typeof note.details === "string" ? note.details : "",
+ inputType: typeof note.input_type === "string" ? note.input_type : "",
+ caseName: typeof note.case === "string" ? note.case : "",
+ });
+ }
+ return notesByVersion;
+ }, []);
+ }
+
+ function noteText(note) {
+ return note.details ? `${note.summary} ${note.details}` : note.summary;
+ }
+
+ function noteApplies(note, inputType, caseName) {
+ if (note.inputType && note.inputType !== inputType) {
+ return false;
+ }
+ if (note.caseName && note.caseName !== caseName) {
+ return false;
+ }
+ return true;
+ }
+
+ function scenarioNotesByVersion(notes, inputType, caseName) {
+ return notes.reduce((notesByVersion, note) => {
+ if (!noteApplies(note, inputType, caseName)) {
+ return notesByVersion;
+ }
+ if (!notesByVersion[note.version]) {
+ notesByVersion[note.version] = [];
+ }
+ notesByVersion[note.version].push(note);
+ return notesByVersion;
+ }, {});
+ }
+
+ function renderLegend(container) {
+ const legend = container.querySelector(".release-benchmark-chart__legend");
+ if (!legend) {
+ return;
+ }
+ const legendItems = FORMATTERS.map(
+ (formatter) =>
+ `${formatter.label}`,
+ ).join("");
+ legend.innerHTML = `Formatter:${legendItems}`;
+ }
+
+ function setStatus(container, message) {
+ const status = container.querySelector(".release-benchmark-chart__status");
+ if (!status) {
+ return;
+ }
+ status.textContent = message;
+ status.hidden = message === "";
+ }
+
+ function chartSize(canvas) {
+ const rect = canvas.getBoundingClientRect();
+ const style = getComputedStyle(canvas);
+ const width = Math.max(320, Math.floor(rect.width));
+ const height = Math.max(260, Number.parseFloat(style.height) || 420);
+ return { width, height };
+ }
+
+ function isVisible(element) {
+ return Boolean(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
+ }
+
+ function drawChart(container, data, notes) {
+ const canvas = container.querySelector("canvas");
+ if (!(canvas instanceof HTMLCanvasElement)) {
+ return;
+ }
+ if (!isVisible(container)) {
+ return;
+ }
+
+ const inputType = container.dataset.inputType || "";
+ const caseName = container.dataset.case || "";
+ const entries = scenarioEntries(data, inputType, caseName);
+ const notesByVersion = scenarioNotesByVersion(notes, inputType, caseName);
+ const versions = Array.from(new Set(entries.map((entry) => entry.version))).sort(compareVersions);
+ const okEntries = entries.filter((entry) => entry.status === STATUS_OK && typeof entry.median_ms === "number");
+
+ if (versions.length === 0 || okEntries.length === 0) {
+ setStatus(container, "No benchmark data is available for this chart.");
+ return;
+ }
+ setStatus(container, "");
+
+ const { width, height } = chartSize(canvas);
+ const devicePixelRatio = window.devicePixelRatio || 1;
+ canvas.width = Math.floor(width * devicePixelRatio);
+ canvas.height = Math.floor(height * devicePixelRatio);
+ canvas.style.width = `${width}px`;
+ canvas.style.height = `${height}px`;
+
+ const context = canvas.getContext("2d");
+ if (!context) {
+ return;
+ }
+ context.setTransform(devicePixelRatio, 0, 0, devicePixelRatio, 0, 0);
+ context.clearRect(0, 0, width, height);
+
+ const foreground = cssColor(container, "--md-default-fg-color", "#111827");
+ const muted = cssColor(container, "--md-default-fg-color--light", "#6b7280");
+ const grid = cssColor(container, "--md-default-fg-color--lightest", "#d1d5db");
+ const noteColor = cssColor(container, "--md-accent-fg-color", "#dc2626");
+ context.font = "12px system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif";
+ const horizontalLabelPadding = Math.ceil(maxVersionLabelWidth(context, versions) / 2) + 8;
+ const plot = {
+ left: Math.max(58, horizontalLabelPadding),
+ top: 38,
+ right: width - Math.max(18, horizontalLabelPadding),
+ bottom: height - 58,
+ };
+ const maxMs = Math.max(...okEntries.map((entry) => entry.median_ms || 0));
+ const yMax = maxMs > 0 ? maxMs * 1.15 : 1;
+ const points = [];
+
+ context.fillStyle = foreground;
+ context.fillText(`${caseName[0].toUpperCase()}${caseName.slice(1)} / ${inputLabel(inputType)}`, plot.left, 20);
+
+ context.strokeStyle = grid;
+ context.fillStyle = muted;
+ context.lineWidth = 1;
+ for (let index = 0; index <= 4; index += 1) {
+ const value = (yMax * index) / 4;
+ const y = scale(value, 0, yMax, plot.bottom, plot.top);
+ context.beginPath();
+ context.moveTo(plot.left, y);
+ context.lineTo(plot.right, y);
+ context.stroke();
+ context.textAlign = "right";
+ context.fillText(formatMs(value), plot.left - 10, y + 4);
+ }
+
+ context.textAlign = "center";
+ versionTickIndexes(context, versions, plot.right - plot.left).forEach((index) => {
+ const version = versions[index];
+ const x = scale(index, 0, Math.max(versions.length - 1, 1), plot.left, plot.right);
+ context.strokeStyle = grid;
+ context.beginPath();
+ context.moveTo(x, plot.top);
+ context.lineTo(x, plot.bottom);
+ context.stroke();
+ context.fillStyle = muted;
+ context.fillText(version, x, plot.bottom + 24);
+ });
+
+ context.strokeStyle = foreground;
+ context.beginPath();
+ context.moveTo(plot.left, plot.top);
+ context.lineTo(plot.left, plot.bottom);
+ context.lineTo(plot.right, plot.bottom);
+ context.stroke();
+
+ const noteMarkers = [];
+ context.save();
+ context.strokeStyle = noteColor;
+ context.fillStyle = noteColor;
+ context.textAlign = "center";
+ context.setLineDash([4, 4]);
+ versions.forEach((version, index) => {
+ const versionNotes = notesByVersion[version];
+ if (!versionNotes || versionNotes.length === 0) {
+ return;
+ }
+ const x = scale(index, 0, Math.max(versions.length - 1, 1), plot.left, plot.right);
+ noteMarkers.push({ x, version, notes: versionNotes, plotTop: plot.top, plotBottom: plot.bottom });
+ context.beginPath();
+ context.moveTo(x, plot.top);
+ context.lineTo(x, plot.bottom);
+ context.stroke();
+ context.fillText("*", x, plot.top - 10);
+ });
+ context.restore();
+
+ FORMATTERS.forEach((formatter) => {
+ const formatterPoints = [];
+ versions.forEach((version, index) => {
+ const entry = findEntry(entries, version, formatter.key);
+ if (!entry) {
+ return;
+ }
+ const x = scale(index, 0, Math.max(versions.length - 1, 1), plot.left, plot.right);
+ const y = scale(entry.median_ms, 0, yMax, plot.bottom, plot.top);
+ formatterPoints.push({ x, y, entry, formatter });
+ points.push({ x, y, entry, formatter });
+ });
+ if (formatterPoints.length === 0) {
+ return;
+ }
+ context.strokeStyle = formatter.color;
+ context.lineWidth = 2.4;
+ context.beginPath();
+ formatterPoints.forEach((point, index) => {
+ if (index === 0) {
+ context.moveTo(point.x, point.y);
+ return;
+ }
+ context.lineTo(point.x, point.y);
+ });
+ context.stroke();
+
+ context.fillStyle = formatter.color;
+ formatterPoints.forEach((point) => {
+ context.beginPath();
+ context.arc(point.x, point.y, 3, 0, Math.PI * 2);
+ context.fill();
+ });
+ });
+
+ container.releaseBenchmarkPoints = points;
+ container.releaseBenchmarkNotes = noteMarkers;
+ }
+
+ function showTooltip(container, event) {
+ const tooltip = container.querySelector(".release-benchmark-chart__tooltip");
+ const canvas = container.querySelector("canvas");
+ if (!tooltip || !(canvas instanceof HTMLCanvasElement) || !container.releaseBenchmarkPoints) {
+ return;
+ }
+ const rect = canvas.getBoundingClientRect();
+ const x = event.clientX - rect.left;
+ const y = event.clientY - rect.top;
+ let nearest = null;
+ let nearestDistance = 14;
+ container.releaseBenchmarkPoints.forEach((point) => {
+ const distance = Math.hypot(point.x - x, point.y - y);
+ if (distance < nearestDistance) {
+ nearest = point;
+ nearestDistance = distance;
+ }
+ });
+ let nearestNote = null;
+ let nearestNoteDistance = 10;
+ if (container.releaseBenchmarkNotes) {
+ container.releaseBenchmarkNotes.forEach((marker) => {
+ const isInsidePlot = y >= marker.plotTop - 24 && y <= marker.plotBottom + 30;
+ const distance = Math.abs(marker.x - x);
+ if (isInsidePlot && distance < nearestNoteDistance) {
+ nearestNote = marker;
+ nearestNoteDistance = distance;
+ }
+ });
+ }
+ if (nearestNote && (!nearest || nearestNoteDistance <= nearestDistance)) {
+ tooltip.textContent = `${nearestNote.version}: ${nearestNote.notes.map(noteText).join(" ")}`;
+ tooltip.style.left = `${canvas.offsetLeft + nearestNote.x}px`;
+ tooltip.style.top = `${canvas.offsetTop + nearestNote.plotTop}px`;
+ tooltip.hidden = false;
+ return;
+ }
+ if (!nearest) {
+ tooltip.hidden = true;
+ return;
+ }
+ tooltip.textContent = `${nearest.entry.version} ยท ${nearest.formatter.label}: ${formatMs(nearest.entry.median_ms)}`;
+ tooltip.style.left = `${canvas.offsetLeft + nearest.x}px`;
+ tooltip.style.top = `${canvas.offsetTop + nearest.y}px`;
+ tooltip.hidden = false;
+ }
+
+ function hideTooltip(container) {
+ const tooltip = container.querySelector(".release-benchmark-chart__tooltip");
+ if (tooltip) {
+ tooltip.hidden = true;
+ }
+ }
+
+ function renderAll(data, notes, charts) {
+ charts.forEach((container) => drawChart(container, data, notes));
+ }
+
+ function scheduleRender(data, notes, charts) {
+ let rendered = false;
+ const render = () => {
+ if (rendered) {
+ return;
+ }
+ rendered = true;
+ renderAll(data, notes, charts);
+ };
+ window.requestAnimationFrame(render);
+ window.setTimeout(render, 100);
+ }
+
+ function initializedChartContainers() {
+ return chartContainers().filter((container) => initializedCharts.has(container));
+ }
+
+ function scheduleInitializedChartsRender() {
+ if (!benchmarkPayload) {
+ return;
+ }
+ scheduleRender(benchmarkPayload.data, benchmarkPayload.notes, initializedChartContainers());
+ }
+
+ function loadBenchmarkPayload() {
+ if (benchmarkPayloadPromise) {
+ return benchmarkPayloadPromise;
+ }
+ benchmarkPayloadPromise = Promise.all([
+ fetch(dataUrl).then((response) => {
+ if (!response.ok) {
+ throw new Error(`Could not load ${dataUrl.pathname}`);
+ }
+ return response.json();
+ }),
+ fetch(notesUrl)
+ .then((response) => (response.ok ? response.json() : { notes: [] }))
+ .then(normalizeNotes)
+ .catch(() => []),
+ ]).then((response) => {
+ const [data, notes] = response;
+ benchmarkPayload = { data, notes };
+ return benchmarkPayload;
+ });
+ return benchmarkPayloadPromise;
+ }
+
+ function observeChart(container) {
+ if (!("ResizeObserver" in window) || observedCharts.has(container)) {
+ return;
+ }
+ if (!resizeObserver) {
+ resizeObserver = new ResizeObserver(scheduleInitializedChartsRender);
+ }
+ resizeObserver.observe(container);
+ observedCharts.add(container);
+ }
+
+ function attachGlobalEvents() {
+ if (globalEventsAttached) {
+ return;
+ }
+ globalEventsAttached = true;
+ window.addEventListener("resize", scheduleInitializedChartsRender);
+ document.addEventListener("click", () => window.setTimeout(scheduleInitializedChartsRender, 50));
+ document.addEventListener("change", () => window.setTimeout(scheduleInitializedChartsRender, 50));
+ document.addEventListener("visibilitychange", scheduleInitializedChartsRender);
+ }
+
+ // Material instant navigation swaps page content without re-running destination extra scripts.
+ function scheduleNavigationRetry() {
+ [0, 50, 250, 750].forEach((delay) => {
+ window.setTimeout(scheduleInitializeCharts, delay);
+ });
+ }
+
+ function attachNavigationEvents() {
+ if (navigationEventsAttached) {
+ return;
+ }
+ navigationEventsAttached = true;
+ document.addEventListener(
+ "click",
+ (event) => {
+ const anchor = event.target instanceof Element ? event.target.closest("a") : null;
+ if (!(anchor instanceof HTMLAnchorElement) || anchor.target || anchor.origin !== window.location.origin) {
+ return;
+ }
+ scheduleNavigationRetry();
+ },
+ true,
+ );
+ window.addEventListener("popstate", scheduleNavigationRetry);
+ }
+
+ function prepareChart(container) {
+ if (initializedCharts.has(container)) {
+ return;
+ }
+ initializedCharts.add(container);
+ renderLegend(container);
+ setStatus(container, "Loading benchmark chart...");
+ container.addEventListener("mousemove", (event) => showTooltip(container, event));
+ container.addEventListener("mouseleave", () => hideTooltip(container));
+ observeChart(container);
+ }
+
+ function initializeCharts() {
+ const charts = chartContainers();
+ if (charts.length === 0) {
+ return;
+ }
+ charts.forEach(prepareChart);
+ attachGlobalEvents();
+ loadBenchmarkPayload()
+ .then(({ data, notes }) => {
+ scheduleRender(data, notes, charts);
+ })
+ .catch((error) => {
+ charts.forEach((container) => {
+ setStatus(container, error.message);
+ const tooltip = container.querySelector(".release-benchmark-chart__tooltip");
+ if (tooltip) {
+ tooltip.textContent = error.message;
+ tooltip.hidden = false;
+ }
+ });
+ });
+ }
+
+ function scheduleInitializeCharts() {
+ if (initializeScheduled) {
+ return;
+ }
+ initializeScheduled = true;
+ window.setTimeout(() => {
+ initializeScheduled = false;
+ initializeCharts();
+ }, 0);
+ }
+
+ function attachMutationObserver() {
+ if (mutationObserverAttached || !("MutationObserver" in window) || !document.documentElement) {
+ return;
+ }
+ mutationObserverAttached = true;
+ const observer = new MutationObserver(() => {
+ if (chartContainers().some((container) => !initializedCharts.has(container))) {
+ scheduleInitializeCharts();
+ }
+ });
+ observer.observe(document.documentElement, { childList: true, subtree: true });
+ }
+
+ function instantNavigationDocument() {
+ if (window.document$ && typeof window.document$.subscribe === "function") {
+ return window.document$;
+ }
+ if (typeof document$ !== "undefined" && typeof document$.subscribe === "function") {
+ return document$;
+ }
+ return null;
+ }
+
+ function attachInstantNavigationHook() {
+ if (instantNavigationHookAttached) {
+ return;
+ }
+ const navigationDocument = instantNavigationDocument();
+ if (!navigationDocument) {
+ return;
+ }
+ instantNavigationHookAttached = true;
+ try {
+ navigationDocument.subscribe(scheduleInitializeCharts);
+ } catch {
+ // Initial rendering and navigation retry still cover environments without this observable.
+ }
+ }
+
+ function start() {
+ attachNavigationEvents();
+ attachMutationObserver();
+ scheduleInitializeCharts();
+ attachInstantNavigationHook();
+ }
+
+ if (document.readyState === "loading") {
+ document.addEventListener(
+ "DOMContentLoaded",
+ start,
+ { once: true },
+ );
+ }
+ start();
+ window.addEventListener("load", start, { once: true });
+ window.setTimeout(start, 0);
+})();
diff --git a/docs/data/release-benchmark-notes.json b/docs/data/release-benchmark-notes.json
new file mode 100644
index 000000000..3a388f7bd
--- /dev/null
+++ b/docs/data/release-benchmark-notes.json
@@ -0,0 +1,14 @@
+{
+ "notes": [
+ {
+ "version": "0.29.0",
+ "summary": "The inflect dependency range was widened and cold imports became slower.",
+ "details": "Release 0.29.0 allowed inflect 7.x, which resolves typeguard 4.x in modern environments. That typeguard instrumentation increased fresh-process startup cost. Small OpenAPI is especially visible because the fixture has array component names such as Pets and Users, so class-name singularization initializes inflect while the rest of the generation work is small."
+ },
+ {
+ "version": "0.64.1",
+ "summary": "This release predates the main-branch inflect import mitigation.",
+ "details": "The latest release result still includes the inflect/typeguard cold-import cost. The effect is most visible in Small/OpenAPI because the fixture has array component names such as Pets and Users, so class-name singularization initializes inflect while the rest of the generation work is small."
+ }
+ ]
+}
diff --git a/docs/data/release-benchmarks.json b/docs/data/release-benchmarks.json
new file mode 100644
index 000000000..36403683f
--- /dev/null
+++ b/docs/data/release-benchmarks.json
@@ -0,0 +1,10072 @@
+{
+ "schema_version": 1,
+ "metadata": {
+ "generated_at": "2026-06-22T09:37:07Z",
+ "workflow": "Release Benchmarks",
+ "workflow_run_id": "27943311457",
+ "collector_sha": "4459682eef04147a294af92225b0a07ce04ef2b6",
+ "os": "ubuntu-24.04",
+ "python_version": "3.14.2",
+ "runs_per_case": "mixed",
+ "warmups_per_case": "1",
+ "selection_strategy": "clickpy_downloads_with_compatibility_backfill_and_main",
+ "selection_window_days": "365",
+ "selected_versions": "0.17.2,0.25.0,0.25.2,0.25.4,0.25.6,0.25.7,0.25.9,0.26.1,0.26.3,0.26.4,0.26.5,0.27.0,0.27.1,0.27.2,0.27.3,0.28.0,0.28.1,0.28.2,0.28.3,0.28.4,0.28.5,0.29.0,0.30.0,0.30.1,0.30.2,0.31.0,0.31.1,0.31.2,0.32.0,0.33.0,0.34.0,0.35.0,0.36.0,0.39.0,0.42.0,0.42.2,0.43.1,0.45.0,0.52.2,0.53.0,0.54.0,0.54.1,0.55.0,0.56.0,0.56.1,0.57.0,0.58.0,0.59.0,0.64.0,0.64.1,0.65.0,main",
+ "download_source": "clickpy",
+ "download_window_days": "365",
+ "download_versions": "160",
+ "download_window_total": "117445983",
+ "pypistats_source": "pypistats.org",
+ "pypistats_last_day": "267774",
+ "pypistats_last_week": "3551911",
+ "pypistats_last_month": "13805155",
+ "pypistats_timeseries_days": "180",
+ "pypistats_timeseries_downloads": "72119373",
+ "compatibility_backfill": "Versions 0.26.4-0.34.0 use Python 3.13.14 because those releases fail during import on Python 3.14.2 before benchmark timing.",
+ "compatibility_backfill_workflow_run_id": "27910916903",
+ "compatibility_backfill_python_version": "3.13.14",
+ "release_dates": {
+ "0.17.2": "2023-03-31T15:26:07Z",
+ "0.25.0": "2023-11-25T07:17:56Z",
+ "0.25.2": "2023-12-21T18:12:08Z",
+ "0.25.4": "2024-02-13T18:10:14Z",
+ "0.25.6": "2024-04-25T17:06:23Z",
+ "0.25.7": "2024-06-11T17:16:13Z",
+ "0.25.9": "2024-08-07T03:11:05Z",
+ "0.26.1": "2024-09-27T09:04:18Z",
+ "0.26.3": "2024-11-10T16:42:42Z",
+ "0.26.4": "2024-12-15T17:26:28Z",
+ "0.26.5": "2025-01-14T12:02:07Z",
+ "0.27.0": "2025-02-06T16:13:41Z",
+ "0.27.1": "2025-02-06T17:11:40Z",
+ "0.27.2": "2025-02-07T13:08:39Z",
+ "0.27.3": "2025-02-11T18:12:25Z",
+ "0.28.0": "2025-02-14T16:17:44Z",
+ "0.28.1": "2025-02-15T02:52:53Z",
+ "0.28.2": "2025-02-27T18:00:52Z",
+ "0.28.3": "2025-03-10T18:31:14Z",
+ "0.28.4": "2025-03-11T17:23:02Z",
+ "0.28.5": "2025-03-24T17:36:33Z",
+ "0.29.0": "2025-04-17T15:06:27Z",
+ "0.30.0": "2025-04-17T15:24:55Z",
+ "0.30.1": "2025-04-28T13:58:36Z",
+ "0.30.2": "2025-06-07T02:42:12Z",
+ "0.31.0": "2025-06-12T16:20:58Z",
+ "0.31.1": "2025-06-17T15:24:13Z",
+ "0.31.2": "2025-06-22T17:40:56Z",
+ "0.32.0": "2025-07-25T14:12:06Z",
+ "0.33.0": "2025-08-14T13:50:36Z",
+ "0.34.0": "2025-09-28T06:36:41Z",
+ "0.35.0": "2025-10-09T19:26:49Z",
+ "0.36.0": "2025-11-26T17:14:08Z",
+ "0.39.0": "2025-12-02T19:29:58Z",
+ "0.42.0": "2025-12-08T02:57:49Z",
+ "0.42.2": "2025-12-08T21:04:54Z",
+ "0.43.1": "2025-12-12T07:03:28Z",
+ "0.45.0": "2025-12-19T00:13:13Z",
+ "0.52.2": "2026-01-05T17:25:50Z",
+ "0.53.0": "2026-01-12T18:14:05Z",
+ "0.54.0": "2026-02-14T16:19:05Z",
+ "0.54.1": "2026-03-04T04:15:02Z",
+ "0.55.0": "2026-03-10T20:41:15Z",
+ "0.56.0": "2026-04-04T09:46:19Z",
+ "0.56.1": "2026-04-16T17:09:53Z",
+ "0.57.0": "2026-05-07T16:21:55Z",
+ "0.58.0": "2026-05-25T03:23:53Z",
+ "0.59.0": "2026-05-29T15:47:55Z",
+ "0.64.0": "2026-06-14T17:24:50Z",
+ "0.64.1": "2026-06-19T17:19:50Z",
+ "0.65.0": "2026-06-21T18:21:06Z",
+ "main": ""
+ },
+ "main_snapshot_workflow_run_id": "27943311457",
+ "main_snapshot_collector_sha": "4459682eef04147a294af92225b0a07ce04ef2b6",
+ "main_snapshot_generated_at": "2026-06-22T09:37:07Z"
+ },
+ "entries": [
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.17.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Using Python 3.14.2 environment at: Resolved 42 packages in 10ms Building typed-ast==1.5.5 \u00d7 Failed to build `typed-ast==1.5.5` \u251c\u2500\u25b6 The build backend returned an error \u2570\u2500\u25b6 Call to `setuptools.build_meta:__legacy__.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py copying typed_ast/conversions.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/__init__.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast3.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying typed_ast/ast27.py -> build/lib.linux-x86_64-cpython-314/typed_ast copying ast3/tests/test_basics.py -> build/lib.linux-x86_64-cpython-314/typed_ast/tests running build_ext building '_ast27' extension gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Iast27/Include -I/home/runner/work/_temp/setup-uv-cache/builds-v0/.tmpbaDYN8/include -I/opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14 -c ast27/Custom/typed_ast.c -o build/temp.linux-x86_64-cpython-314/ast27/Custom/typed_ast.o [stderr] In file included from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/pyport.h:388, from /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/Python.h:72, from ast27/Custom/typed_ast.c:1: ast27/Custom/../Include/compile.h:12:12: error: unknown type name \u2018PyFutureFeatures\u2019 12 | PyAPI_FUNC(PyFutureFeatures *) PyFuture_FromAST(struct _mod *, const char *); | ^~~~~~~~~~~~~~~~ /opt/hostedtoolcache/Python/3.14.2/x64/include/python3.14/exports.h:91:53: note: in definition of macro \u2018PyAPI_FUNC\u2019 91 | # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE | ^~~~~ error: command '/usr/bin/gcc' failed with exit code 1 hint: `typed-ast` (v1.5.5) was included because `datamodel-code-ge..."
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3437.675,
+ "min_ms": 3434.473,
+ "max_ms": 3450.745,
+ "stdev_ms": 8.62,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 386.88,
+ "min_ms": 386.71,
+ "max_ms": 392.235,
+ "stdev_ms": 3.142,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3199.408,
+ "min_ms": 3125.231,
+ "max_ms": 3199.943,
+ "stdev_ms": 42.982,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 425.207,
+ "min_ms": 420.633,
+ "max_ms": 428.595,
+ "stdev_ms": 3.995,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3671.06,
+ "min_ms": 3618.839,
+ "max_ms": 3845.001,
+ "stdev_ms": 118.414,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 417.8,
+ "min_ms": 414.03,
+ "max_ms": 417.939,
+ "stdev_ms": 2.218,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3282.125,
+ "min_ms": 3276.224,
+ "max_ms": 3318.271,
+ "stdev_ms": 22.764,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 459.88,
+ "min_ms": 455.168,
+ "max_ms": 474.289,
+ "stdev_ms": 9.962,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.2",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3488.498,
+ "min_ms": 3452.695,
+ "max_ms": 3490.267,
+ "stdev_ms": 21.2,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 396.39,
+ "min_ms": 394.673,
+ "max_ms": 402.313,
+ "stdev_ms": 4.008,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3188.523,
+ "min_ms": 3181.403,
+ "max_ms": 3224.649,
+ "stdev_ms": 23.187,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 436.513,
+ "min_ms": 434.687,
+ "max_ms": 437.654,
+ "stdev_ms": 1.497,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.4",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3415.537,
+ "min_ms": 3310.082,
+ "max_ms": 3670.968,
+ "stdev_ms": 185.564,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 412.531,
+ "min_ms": 411.051,
+ "max_ms": 421.034,
+ "stdev_ms": 5.388,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3099.583,
+ "min_ms": 3029.932,
+ "max_ms": 3155.15,
+ "stdev_ms": 62.741,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 446.511,
+ "min_ms": 444.555,
+ "max_ms": 478.991,
+ "stdev_ms": 19.342,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.6",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3171.086,
+ "min_ms": 3138.074,
+ "max_ms": 3207.573,
+ "stdev_ms": 34.764,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 396.383,
+ "min_ms": 394.289,
+ "max_ms": 399.772,
+ "stdev_ms": 2.767,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2924.996,
+ "min_ms": 2907.288,
+ "max_ms": 2938.075,
+ "stdev_ms": 15.451,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 428.434,
+ "min_ms": 426.27,
+ "max_ms": 429.974,
+ "stdev_ms": 1.861,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.7",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3756.553,
+ "min_ms": 3634.098,
+ "max_ms": 3810.308,
+ "stdev_ms": 90.309,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 404.428,
+ "min_ms": 401.902,
+ "max_ms": 410.079,
+ "stdev_ms": 4.187,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3313.878,
+ "min_ms": 3279.241,
+ "max_ms": 3371.686,
+ "stdev_ms": 46.704,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 439.777,
+ "min_ms": 437.918,
+ "max_ms": 440.855,
+ "stdev_ms": 1.486,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.25.9",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3871.338,
+ "min_ms": 3799.202,
+ "max_ms": 3944.924,
+ "stdev_ms": 72.862,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 422.829,
+ "min_ms": 405.517,
+ "max_ms": 424.729,
+ "stdev_ms": 10.586,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3525.146,
+ "min_ms": 3477.849,
+ "max_ms": 3597.998,
+ "stdev_ms": 60.526,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 495.077,
+ "min_ms": 478.385,
+ "max_ms": 496.589,
+ "stdev_ms": 10.102,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.1",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3287.358,
+ "min_ms": 3283.44,
+ "max_ms": 3304.462,
+ "stdev_ms": 11.179,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 400.75,
+ "min_ms": 398.115,
+ "max_ms": 407.988,
+ "stdev_ms": 5.112,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3041.395,
+ "min_ms": 3022.556,
+ "max_ms": 3062.794,
+ "stdev_ms": 20.133,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 433.565,
+ "min_ms": 433.389,
+ "max_ms": 434.195,
+ "stdev_ms": 0.424,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.3",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3286.631,
+ "min_ms": 3229.569,
+ "max_ms": 3410.438,
+ "stdev_ms": 92.464,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 404.676,
+ "min_ms": 401.05,
+ "max_ms": 408.213,
+ "stdev_ms": 3.581,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3013.208,
+ "min_ms": 2988.506,
+ "max_ms": 3078.063,
+ "stdev_ms": 46.254,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 440.781,
+ "min_ms": 427.078,
+ "max_ms": 441.705,
+ "stdev_ms": 8.191,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3280.459,
+ "min_ms": 3222.48,
+ "max_ms": 3331.492,
+ "stdev_ms": 54.543,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 404.763,
+ "min_ms": 396.103,
+ "max_ms": 408.775,
+ "stdev_ms": 6.477,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3209.154,
+ "min_ms": 3167.391,
+ "max_ms": 3272.75,
+ "stdev_ms": 53.055,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 439.177,
+ "min_ms": 426.517,
+ "max_ms": 443.282,
+ "stdev_ms": 8.739,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.26.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3653.789,
+ "min_ms": 3642.647,
+ "max_ms": 3762.304,
+ "stdev_ms": 66.102,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 488.155,
+ "min_ms": 478.874,
+ "max_ms": 490.98,
+ "stdev_ms": 6.334,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3470.973,
+ "min_ms": 3467.81,
+ "max_ms": 3476.308,
+ "stdev_ms": 4.295,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 490.599,
+ "min_ms": 489.287,
+ "max_ms": 493.566,
+ "stdev_ms": 2.192,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3512.595,
+ "min_ms": 3427.5,
+ "max_ms": 3521.687,
+ "stdev_ms": 51.953,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 391.846,
+ "min_ms": 390.896,
+ "max_ms": 393.149,
+ "stdev_ms": 1.131,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3292.006,
+ "min_ms": 3260.119,
+ "max_ms": 3296.701,
+ "stdev_ms": 19.905,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 442.265,
+ "min_ms": 435.808,
+ "max_ms": 444.821,
+ "stdev_ms": 4.645,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3388.32,
+ "min_ms": 3373.114,
+ "max_ms": 3425.898,
+ "stdev_ms": 27.171,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 389.316,
+ "min_ms": 387.859,
+ "max_ms": 392.298,
+ "stdev_ms": 2.263,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3201.181,
+ "min_ms": 3111.191,
+ "max_ms": 3211.277,
+ "stdev_ms": 55.102,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 433.085,
+ "min_ms": 430.577,
+ "max_ms": 437.777,
+ "stdev_ms": 3.655,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3786.975,
+ "min_ms": 3766.92,
+ "max_ms": 3877.917,
+ "stdev_ms": 59.151,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 431.843,
+ "min_ms": 420.194,
+ "max_ms": 440.458,
+ "stdev_ms": 10.17,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3593.947,
+ "min_ms": 3510.704,
+ "max_ms": 3648.179,
+ "stdev_ms": 69.246,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 475.272,
+ "min_ms": 471.156,
+ "max_ms": 483.654,
+ "stdev_ms": 6.369,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.27.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3235.039,
+ "min_ms": 3216.677,
+ "max_ms": 3367.515,
+ "stdev_ms": 82.3,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 400.21,
+ "min_ms": 399.608,
+ "max_ms": 401.497,
+ "stdev_ms": 0.965,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3003.728,
+ "min_ms": 2960.112,
+ "max_ms": 3066.676,
+ "stdev_ms": 53.573,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 441.993,
+ "min_ms": 427.833,
+ "max_ms": 442.05,
+ "stdev_ms": 8.192,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3651.107,
+ "min_ms": 3640.071,
+ "max_ms": 3760.14,
+ "stdev_ms": 66.366,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 424.931,
+ "min_ms": 420.644,
+ "max_ms": 430.506,
+ "stdev_ms": 4.945,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3475.362,
+ "min_ms": 3432.898,
+ "max_ms": 3556.984,
+ "stdev_ms": 63.065,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 455.764,
+ "min_ms": 452.522,
+ "max_ms": 458.746,
+ "stdev_ms": 3.112,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3359.982,
+ "min_ms": 3358.323,
+ "max_ms": 3363.709,
+ "stdev_ms": 2.758,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 405.122,
+ "min_ms": 404.119,
+ "max_ms": 418.012,
+ "stdev_ms": 7.748,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3196.865,
+ "min_ms": 3116.515,
+ "max_ms": 3206.943,
+ "stdev_ms": 49.556,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 448.979,
+ "min_ms": 437.862,
+ "max_ms": 450.449,
+ "stdev_ms": 6.882,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3668.266,
+ "min_ms": 3664.425,
+ "max_ms": 3713.838,
+ "stdev_ms": 27.487,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 419.125,
+ "min_ms": 413.232,
+ "max_ms": 427.506,
+ "stdev_ms": 7.173,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3399.66,
+ "min_ms": 3339.76,
+ "max_ms": 3437.605,
+ "stdev_ms": 49.332,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters builtin"
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 455.028,
+ "min_ms": 454.411,
+ "max_ms": 465.89,
+ "stdev_ms": 6.457,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.3",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: unrecognized arguments: --formatters ruff-check ruff-format"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3156.777,
+ "min_ms": 3156.004,
+ "max_ms": 3160.832,
+ "stdev_ms": 2.593,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1320, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 399.335,
+ "min_ms": 399.074,
+ "max_ms": 403.887,
+ "stdev_ms": 2.707,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1320, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2983.027,
+ "min_ms": 2971.983,
+ "max_ms": 3004.706,
+ "stdev_ms": 16.647,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1320, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 425.938,
+ "min_ms": 421.465,
+ "max_ms": 426.002,
+ "stdev_ms": 2.601,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.4",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1320, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3930.883,
+ "min_ms": 3892.901,
+ "max_ms": 3974.099,
+ "stdev_ms": 40.627,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1343, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 435.381,
+ "min_ms": 414.634,
+ "max_ms": 452.34,
+ "stdev_ms": 18.885,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1343, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3565.167,
+ "min_ms": 3542.095,
+ "max_ms": 3591.607,
+ "stdev_ms": 24.775,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1343, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 479.098,
+ "min_ms": 469.15,
+ "max_ms": 485.181,
+ "stdev_ms": 8.092,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.28.5",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 455, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 489, in generate results = parser.parse() File \"\", line 1343, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5147.73,
+ "min_ms": 5116.213,
+ "max_ms": 5246.25,
+ "stdev_ms": 67.834,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 457, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 490, in generate results = parser.parse() File \"\", line 1366, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2065.711,
+ "min_ms": 2064.019,
+ "max_ms": 2124.749,
+ "stdev_ms": 34.585,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 457, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 490, in generate results = parser.parse() File \"\", line 1366, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4722.555,
+ "min_ms": 4689.351,
+ "max_ms": 4784.136,
+ "stdev_ms": 48.095,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 457, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 490, in generate results = parser.parse() File \"\", line 1366, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2108.44,
+ "min_ms": 2093.183,
+ "max_ms": 2146.638,
+ "stdev_ms": 27.535,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.29.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 457, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<68 lines>... formatters=config.formatters, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 490, in generate results = parser.parse() File \"\", line 1366, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5809.72,
+ "min_ms": 5788.385,
+ "max_ms": 5823.052,
+ "stdev_ms": 17.487,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1368, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2129.756,
+ "min_ms": 2103.936,
+ "max_ms": 2140.593,
+ "stdev_ms": 18.832,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1368, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5362.737,
+ "min_ms": 5349.383,
+ "max_ms": 5476.511,
+ "stdev_ms": 69.863,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1368, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2218.146,
+ "min_ms": 2191.267,
+ "max_ms": 2231.676,
+ "stdev_ms": 20.569,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1368, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4062.183,
+ "min_ms": 4032.969,
+ "max_ms": 4066.517,
+ "stdev_ms": 18.247,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1373, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 1586.035,
+ "min_ms": 1582.988,
+ "max_ms": 1614.744,
+ "stdev_ms": 17.521,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1373, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 3688.09,
+ "min_ms": 3680.406,
+ "max_ms": 3697.99,
+ "stdev_ms": 8.815,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1373, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 1628.877,
+ "min_ms": 1608.365,
+ "max_ms": 1641.599,
+ "stdev_ms": 16.768,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 458, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<69 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 492, in generate results = parser.parse() File \"\", line 1373, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( # noqa: S603 (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 6025.93,
+ "min_ms": 5944.212,
+ "max_ms": 6052.353,
+ "stdev_ms": 56.377,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 459, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<70 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 494, in generate results = parser.parse() File \"\", line 1390, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2234.031,
+ "min_ms": 2212.66,
+ "max_ms": 2239.301,
+ "stdev_ms": 14.108,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 459, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<70 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 494, in generate results = parser.parse() File \"\", line 1390, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5496.347,
+ "min_ms": 5364.373,
+ "max_ms": 5625.828,
+ "stdev_ms": 130.73,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 459, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<70 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 494, in generate results = parser.parse() File \"\", line 1390, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2330.796,
+ "min_ms": 2275.042,
+ "max_ms": 2362.544,
+ "stdev_ms": 44.297,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.30.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 459, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<70 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 494, in generate results = parser.parse() File \"\", line 1390, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5404.599,
+ "min_ms": 5341.791,
+ "max_ms": 5497.798,
+ "stdev_ms": 78.496,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2000.435,
+ "min_ms": 1997.643,
+ "max_ms": 2024.57,
+ "stdev_ms": 14.807,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5072.321,
+ "min_ms": 4994.132,
+ "max_ms": 5211.624,
+ "stdev_ms": 110.167,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2063.59,
+ "min_ms": 2045.961,
+ "max_ms": 2135.609,
+ "stdev_ms": 47.494,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5362.653,
+ "min_ms": 5333.639,
+ "max_ms": 5397.088,
+ "stdev_ms": 31.763,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2093.495,
+ "min_ms": 2092.656,
+ "max_ms": 2110.081,
+ "stdev_ms": 9.828,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4824.623,
+ "min_ms": 4810.365,
+ "max_ms": 4973.499,
+ "stdev_ms": 90.351,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2122.654,
+ "min_ms": 2102.354,
+ "max_ms": 2124.249,
+ "stdev_ms": 12.207,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.1",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5249.001,
+ "min_ms": 5246.64,
+ "max_ms": 5396.746,
+ "stdev_ms": 85.991,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2048.488,
+ "min_ms": 2038.292,
+ "max_ms": 2075.439,
+ "stdev_ms": 19.193,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4812.433,
+ "min_ms": 4763.655,
+ "max_ms": 4837.09,
+ "stdev_ms": 37.372,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2044.303,
+ "min_ms": 2021.208,
+ "max_ms": 2079.631,
+ "stdev_ms": 29.424,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.31.2",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 460, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<71 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 496, in generate results = parser.parse() File \"\", line 1394, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5513.665,
+ "min_ms": 5444.611,
+ "max_ms": 5528.519,
+ "stdev_ms": 44.777,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 461, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 498, in generate results = parser.parse() File \"\", line 1395, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2016.132,
+ "min_ms": 2009.482,
+ "max_ms": 2019.491,
+ "stdev_ms": 5.094,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 461, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 498, in generate results = parser.parse() File \"\", line 1395, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4897.764,
+ "min_ms": 4809.371,
+ "max_ms": 4938.623,
+ "stdev_ms": 66.067,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 461, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 498, in generate results = parser.parse() File \"\", line 1395, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2054.993,
+ "min_ms": 2035.525,
+ "max_ms": 2061.732,
+ "stdev_ms": 13.609,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.32.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 461, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 498, in generate results = parser.parse() File \"\", line 1395, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5914.815,
+ "min_ms": 5860.141,
+ "max_ms": 5915.148,
+ "stdev_ms": 31.663,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 505, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 502, in generate results = parser.parse() File \"\", line 1401, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2234.182,
+ "min_ms": 2209.153,
+ "max_ms": 2236.55,
+ "stdev_ms": 15.18,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 505, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 502, in generate results = parser.parse() File \"\", line 1401, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5419.433,
+ "min_ms": 5406.778,
+ "max_ms": 5483.414,
+ "stdev_ms": 41.083,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 505, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 502, in generate results = parser.parse() File \"\", line 1401, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2235.355,
+ "min_ms": 2210.142,
+ "max_ms": 2237.986,
+ "stdev_ms": 15.372,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.33.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 505, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<72 lines>... parent_scoped_naming=config.parent_scoped_naming, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 502, in generate results = parser.parse() File \"\", line 1401, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5170.062,
+ "min_ms": 5073.407,
+ "max_ms": 5262.702,
+ "stdev_ms": 94.655,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 506, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<73 lines>... disable_future_imports=config.disable_future_imports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 503, in generate results = parser.parse(disable_future_imports=disable_future_imports) File \"\", line 1402, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2055.526,
+ "min_ms": 2050.448,
+ "max_ms": 2075.777,
+ "stdev_ms": 13.401,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/jsonschema/person.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 506, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<73 lines>... disable_future_imports=config.disable_future_imports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 503, in generate results = parser.parse(disable_future_imports=disable_future_imports) File \"\", line 1402, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 4741.343,
+ "min_ms": 4732.464,
+ "max_ms": 4746.42,
+ "stdev_ms": 7.064,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/openapi_large.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 506, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<73 lines>... disable_future_imports=config.disable_future_imports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 503, in generate results = parser.parse(disable_future_imports=disable_future_imports) File \"\", line 1402, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] __main__.py: error: argument --formatters: invalid choice: 'builtin' (choose from 'black', 'isort', 'ruff-check', 'ruff-format')"
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 2100.02,
+ "min_ms": 2078.454,
+ "max_ms": 2102.608,
+ "stdev_ms": 13.262,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.34.0",
+ "python_version": "3.13.14",
+ "os": "ubuntu-24.04",
+ "input_type": "openapi",
+ "case": "small",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/openapi/api.yaml --input-file-type openapi --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 506, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<73 lines>... disable_future_imports=config.disable_future_imports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 503, in generate results = parser.parse(disable_future_imports=disable_future_imports) File \"\", line 1402, in parse body = code_formatter.format_code(body) File \"\", line 208, in format_code code = self.apply_ruff_lint(code) File \"\", line 225, in apply_ruff_lint result = subprocess.run( (\"ruff\", \"check\", \"--fix\", \"-\"), ...<2 lines>... check=False, ) File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \"/opt/hostedtoolcache/Python/3.13.14/x64/lib/python3.13/subprocess.py\", line 1991, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ruff'"
+ },
+ {
+ "version": "0.35.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "builtin",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "unsupported",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters builtin",
+ "error": "usage: datamodel-codegen [options] python -m datamodel_code_generator: error: argument --formatters: invalid choice: 'builtin' (choose from black, isort, ruff-check, ruff-format)"
+ },
+ {
+ "version": "0.35.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "default",
+ "runs": 3,
+ "median_ms": 5057.687,
+ "min_ms": 5024.423,
+ "max_ms": 5087.201,
+ "stdev_ms": 31.408,
+ "status": "ok",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py",
+ "error": ""
+ },
+ {
+ "version": "0.35.0",
+ "python_version": "3.14.2",
+ "os": "ubuntu-24.04",
+ "input_type": "jsonschema",
+ "case": "large",
+ "formatter": "ruff",
+ "runs": 0,
+ "median_ms": null,
+ "min_ms": null,
+ "max_ms": null,
+ "stdev_ms": null,
+ "status": "failed",
+ "command": "python -m datamodel_code_generator --input tests/data/performance/large_models.json --input-file-type jsonschema --output-model-type pydantic_v2.BaseModel --output model.py --formatters ruff-check ruff-format",
+ "error": "Traceback (most recent call last): File \"\", line 512, in main generate( ~~~~~~~~^ input_=config.url or config.input or sys.stdin.read(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<73 lines>... disable_future_imports=config.disable_future_imports, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File \"\", line 503, in generate results = parser.parse(disable_future_imports=disable_future_imports) File \"