Problem Builder

class GeogebraProblemBuilder(ggb_file_path)

Bases: ProblemBuilder

with_goals(goals)
Return type:

Self

without_assumptions(assumptions)
Return type:

Self

with_extra_assumptions(assumptions)
Return type:

Self

build()

Build a problem to be fed to the solver.

Return type:

ProblemSetup

load_ggb_file(ggb_file_path)
Return type:

tuple[list[Point], list[PredicateConstruction]]

class GGBSetup(**data)

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

points: dict[str, GGBPoint]
lines: dict[str, GGBLine]
conics: dict[str, GGBConic]
commands: list[Annotated[GGBOrthogonalLineCommand | GGBLineCommand | GGBIntersectCommand | GGBParaCommand | GGBCircleCommand | GGBAddPointOnObjectCommand | GGBCircumcircleCommand | GGBCompassCommand | GGBCenterCommand | GGBMidpointCommand | GGBAngularBisectorLinesCommand | GGBTangentOnCircleCommand | GGBTangentOutsideCircleCommand | GGBAngularBisectorPointsCommand]]
relationships: list[Annotated[ParaRelationship | OrthoRelationship | TangentRelationship | BisectorLineRelationship | BisectorPointRelationship]]
model_config: ClassVar[ConfigDict] = {}

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