json2capella package

Submodules

json2capella.datatypes module

class json2capella.datatypes.Enum(*, intId: int | None = None, name: str, info: str = '', see: str = '')

Bases: _BaseModel

enum_literals: t.Annotated[list[EnumLiteral], p.Field(alias='enumLiterals')]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class json2capella.datatypes.EnumLiteral(*, intId: int, name: str, info: str = '', see: str = '')

Bases: _BaseModel

int_id: t.Annotated[int, p.Field(alias='intId')]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class json2capella.datatypes.Package(*, intId: int | None = None, name: str, info: str = '', see: str = '')

Bases: _BaseModel

enums: list[Enum]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

prefix: t.Annotated[str, p.Field(min_length=1)]
structs: list[Struct]
sub_packages: t.Annotated[list[Package], p.Field(alias='subPackages')]
class json2capella.datatypes.Struct(*, intId: int | None = None, name: str, info: str = '', see: str = '')

Bases: _BaseModel

attrs: list[StructAttrs]
extends: str | None
classmethod extends_is_valid_dotted_name(value: str) str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class json2capella.datatypes.StructAttrs(*, intId: int | None = None, name: str, info: str = '', see: str = '', dataType: str | None = None, reference: str | None = None, composition: str | None = None, enumType: str | None = None, unit: str | None = None, exp: int | None = None, range: Annotated[str | None, _PydanticGeneralMetadata(pattern='^-?\\d+\\.\\.(-?\\d+|\\*)$')] = None, multiplicity: Annotated[str | None, _PydanticGeneralMetadata(pattern='^(?:\\d+\\.\\.)?(\\d+|\\*)$')] = None)

Bases: _BaseModel

composition: str | None
data_type: t.Annotated[str | None, p.Field(alias='dataType')]
enum_type: t.Annotated[str | None, p.Field(alias='enumType')]
exp: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

multiplicity: t.Annotated[str | None, p.Field(pattern='^(?:\\d+\\.\\.)?(\\d+|\\*)$')]
range: t.Annotated[str | None, p.Field(pattern='^-?\\d+\\.\\.(-?\\d+|\\*)$')]
reference: str | None
unit: str | None

json2capella.importer module

Tool for importing JSON data into a Capella data package.

class json2capella.importer.Importer(json_path: Path, old_json_path: Path | None = None)

Bases: object

Class for importing JSON data into a Capella data package.

to_yaml(root_uuid: str, *, types_parent_uuid: str = '', types_uuid: str = '', is_layer: bool = False) str

Convert JSON data to decl YAML.

json2capella.importer.get_name(element: T, old_element: T | None) str

Get the name of an element.

json2capella.importer.get_old_by_id(old_jsons: list[T], int_id: int | None) T | None

Get an element from the old JSON data by its intId.

json2capella.importer.load_json(json_path: Path) Package

Load JSON data from a file or folder.

Module contents

The json2capella package.