Inmanta Compile Data Reference

This page documents the compile data output when compiling with the --export-compile-data flag. The structure of this JSON is defined by inmanta.data.model.CompileData which inherits from pydantic.BaseModel. To produce the JSON representation of the object, model.model_dump_json() is called. See the pydantic documentation for more information on how exactly a JSON is generated from a model.

class inmanta.data.model.CompileData(*, errors: list[Error])[source]

Bases: BaseModel

Top level structure of compiler data to be exported.

errors: list[Error]

All errors occurred while trying to compile.

model_config = {}

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

class inmanta.ast.export.Error(*, category: ErrorCategory = ErrorCategory.runtime, type: str, message: str, location: Location | None = None, **extra_data: Any)[source]

Bases: BaseModel

Error occurred while trying to compile.

category: ErrorCategory

Category of this error.

location: Location | None

Location where this error occurred.

message: str

Error message.

model_config = {'extra': 'allow', 'validate_assignment': True}

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

type: str

Fully qualified name of the actual exception.

class inmanta.ast.export.ErrorCategory(*values)[source]

Bases: str, Enum

Category of an error.

parser = 'parse_error'

Error occurred while parsing.

plugin = 'plugin_exception'

A plugin explicitly raised an inmanta.plugins.PluginException.

runtime = 'runtime_error'

Error occurred after parsing.

class inmanta.ast.export.Location(*, uri: str, range: Range)[source]

Bases: BaseModel

Location in a file. Based on the LSP spec 3.15

model_config = {}

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

range: Range
uri: str
class inmanta.ast.export.Range(*, start: Position, end: Position)[source]

Bases: BaseModel

Range in a file. Based on the LSP spec 3.15

end: Position
model_config = {}

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

start: Position
class inmanta.ast.export.Position(*, line: int, character: int)[source]

Bases: BaseModel

Position in a file. Based on the LSP spec 3.15

character: int
line: int
model_config = {}

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