Describe the bug
Generating fails with error IndexError: tuple index out of range
To Reproduce
Example schema:
components:
schemas:
Collection-Wrapper:
description: Generic response wrapper containing a collection of items and pagination metadata.
type: object
required:
- data
- pagination
properties:
data:
description: Array of items in the collection.
type: array
items:
type: object
pagination:
description: Pagination metadata for the collection.
$ref: "#/components/schemas/Metadata"
DataType:
type: object
required:
- id
properties:
property_1:
type: string
format: uuid
readOnly: true
description: Unique identifier for the installation.
property_2:
type: string
description: Description of the installation.
property_3:
type: string
format: date-time
readOnly: true
description: Timestamp when the installation was created.
PaginatedDataTypeList:
allOf:
- properties:
data:
type: array
items:
$ref: "#/components/schemas/DataType"
- $ref: "#/components/schemas/Collection-Wrapper"
Metadata:
type: object
required:
- limit
- page
properties:
limit:
type: integer
minimum: 1
maximum: 100
description: Number of data types returned in this response
example: 20
page:
type: integer
minimum: 1
description: The page number to retrieve
example: 2
Used commandline:
used pyproject.toml configuration
[tool.datamodel-codegen]
input = "openapi.yaml"
output = "src/views/models.py"
output-model-type = "pydantic_v2.BaseModel"
input-file-type = "openapi"
formatters = ["ruff-check", "ruff-format"]
reuse-model = true
reuse-scope = "tree"
Expected behavior
If the combination of config options is not allowed, I expected to get a warning/error message, otherwise I expected generation to work.
Version:
- OS: Windows 11 Pro
- Python version: 3.13.11
- datamodel-code-generator version: 0.52.2
Additional context
Full error traceback
Traceback (most recent call last):
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\__main__.py", line 1363, in main
run_generate_from_config(
~~~~~~~~~~~~~~~~~~~~~~~~^
config=config,
^^^^^^^^^^^^^^
...<8 lines>...
default_value_overrides=default_value_overrides,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\__main__.py", line 938, in run_generate_from_config
result = generate(
input_=input_,
...<125 lines>...
default_value_overrides=default_value_overrides,
)
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\__init__.py", line 764, in generate
results = parser.parse(
settings_path=config.settings_path,
...<3 lines>...
module_split_mode=config.module_split_mode,
)
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\parser\base.py", line 3172, in parse
) = self._build_module_structure(sorted_data_models, require_update_action_models, module_split_mode)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\parser\base.py", line 2920, in _build_module_structure
shared_module_entry = self.__reuse_model_tree_scope(module_models, require_update_action_models)
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\parser\base.py", line 1751, in __reuse_model_tree_scope
self.__validate_shared_module_name(module_models)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "C:\Users\SimonDeBroyer\Documents\Projects\platform\.venv\Lib\site-packages\datamodel_code_generator\parser\base.py", line 1658, in __validate_shared_module_name
existing_module_names = {module[0] for module, _ in module_models}
~~~~~~^^^
IndexError: tuple index out of range
Describe the bug
Generating fails with error
IndexError: tuple index out of rangeTo Reproduce
Example schema:
Used commandline:
used
pyproject.tomlconfigurationExpected behavior
If the combination of config options is not allowed, I expected to get a warning/error message, otherwise I expected generation to work.
Version:
Additional context
Full error traceback