Pydantic Models
This document describes all Pydantic models used for request/response validation in the API.
Pydantic models for the Analytic Continuation Server API.
This module contains all request/response models organized by domain: - Transform models: coordinate transformation requests - Meromorphic models: function building from zeros/poles - Laurent models: Laurent series fitting and inversion - Session models: session management and progress tracking - WebGL models: WebGL-friendly data formats for rendering
- class analytic_continuation_server.models.PointModel(**data)[source]
Bases:
BaseModelA 2D point with optional index.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ComplexModel(**data)[source]
Bases:
BaseModelComplex number representation.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.TransformParamsModel(**data)[source]
Bases:
BaseModelTransform parameters for screen/logical coordinate conversion.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ViewBoundsModel(**data)[source]
Bases:
BaseModelDefine transform by screen size and logical view bounds.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SingularityModel(**data)[source]
Bases:
BaseModelA zero or pole location with optional multiplicity.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SplineParametersModel(**data)[source]
Bases:
BaseModelSpline drawing parameters.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SplineExportModel(**data)[source]
Bases:
BaseModelComplete spline export data structure.
- Parameters:
version (str)
timestamp (str)
closed (bool)
parameters (SplineParametersModel)
controlPoints (List[PointModel])
spline (List[PointModel])
adaptivePolyline (List[PointModel])
stats (dict | None)
- parameters: SplineParametersModel
- controlPoints: List[PointModel]
- spline: List[PointModel]
- adaptivePolyline: List[PointModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.TransformPointRequest(**data)[source]
Bases:
BaseModelRequest to transform a single point.
- Parameters:
point (PointModel)
params (TransformParamsModel)
direction (str)
- point: PointModel
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.TransformPointsRequest(**data)[source]
Bases:
BaseModelRequest to transform multiple points.
- Parameters:
points (List[PointModel])
params (TransformParamsModel)
direction (str)
- points: List[PointModel]
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.TransformSplineExportRequest(**data)[source]
Bases:
BaseModelRequest to transform a full spline export.
- Parameters:
export (SplineExportModel)
params (TransformParamsModel)
direction (str)
- export: SplineExportModel
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ZoomRequest(**data)[source]
Bases:
BaseModelRequest to apply zoom to transform parameters.
- Parameters:
params (TransformParamsModel)
factor (float)
center_x (float | None)
center_y (float | None)
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.PanRequest(**data)[source]
Bases:
BaseModelRequest to apply pan to transform parameters.
- Parameters:
params (TransformParamsModel)
delta_x (float)
delta_y (float)
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.DomainColorRequest(**data)[source]
Bases:
BaseModelRequest for domain coloring image generation.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ValidationRenderRequest(**data)[source]
Bases:
BaseModelRequest for validation render with zeros/poles overlay.
- Parameters:
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.MeromorphicRequest(**data)[source]
Bases:
BaseModelRequest to build a meromorphic function from zeros and poles.
- Parameters:
zeros (List[SingularityModel])
poles (List[SingularityModel])
params (TransformParamsModel | None)
coords (str)
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- params: TransformParamsModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.MeromorphicResponse(**data)[source]
Bases:
BaseModelResponse with the built expression and logical coordinates.
- Parameters:
expression (str)
zeros (List[SingularityModel])
poles (List[SingularityModel])
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.LaurentMapModel(**data)[source]
Bases:
BaseModelSerializable Laurent map.
- Parameters:
N (int)
a0 (ComplexModel)
a (List[ComplexModel])
b (List[ComplexModel])
- a0: ComplexModel
- a: List[ComplexModel]
- b: List[ComplexModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.LaurentFitRequest(**data)[source]
Bases:
BaseModelRequest to fit a Laurent map.
- Parameters:
export (SplineExportModel)
N_min (int)
N_max (int)
m_samples (int)
- export: SplineExportModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.LaurentFitResponse(**data)[source]
Bases:
BaseModelResponse from Laurent fitting.
- Parameters:
- laurent_map: LaurentMapModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.PoleModel(**data)[source]
Bases:
BaseModelA pole of a meromorphic function.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.InvertRequest(**data)[source]
Bases:
BaseModelRequest to invert a point through the Laurent map.
- Parameters:
z_re (float)
z_im (float)
laurent_map (LaurentMapModel)
curve_scale (float)
- laurent_map: LaurentMapModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.InvertResponse(**data)[source]
Bases:
BaseModelResponse from point inversion.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.HolomorphicCheckRequest(**data)[source]
Bases:
BaseModelRequest to check if poles are outside annulus image.
- Parameters:
laurent_map (LaurentMapModel)
curve_scale (float)
min_distance_param (float)
- laurent_map: LaurentMapModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.HolomorphicCheckResponse(**data)[source]
Bases:
BaseModelResponse from holomorphic check.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.CompositionRequest(**data)[source]
Bases:
BaseModelRequest to compute the analytic continuation composition.
- Parameters:
z_re (float)
z_im (float)
expression (str)
laurent_map (LaurentMapModel)
curve_scale (float)
- laurent_map: LaurentMapModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.CompositionResponse(**data)[source]
Bases:
BaseModelResponse from composition computation.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ContourPreCheckRequest(**data)[source]
Bases:
BaseModelRequest for quick pre-check on a raw user-drawn contour.
- Parameters:
points (List[PointModel])
closed (bool)
adaptive_polyline (List[PointModel] | None)
- points: List[PointModel]
- adaptive_polyline: List[PointModel] | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ContourPreCheckResponse(**data)[source]
Bases:
BaseModelResponse from quick contour pre-check.
- Parameters:
ok (bool)
proceed (bool)
is_closed (bool)
is_simple (bool)
has_sufficient_points (bool)
has_reasonable_aspect (bool)
has_reasonable_curvature (bool)
num_points (int)
perimeter (float)
aspect_ratio (float)
estimated_diameter (float)
min_segment_length (float)
max_segment_length (float)
max_turning_angle_degrees (float)
estimated_difficulty (str)
estimated_fit_time_seconds (float | None)
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.IntrinsicCurveRequest(**data)[source]
Bases:
BaseModelRequest for intrinsic curve analysis of a bijection.
- Parameters:
laurent_map (LaurentMapModel)
curve_scale (float)
samples (int)
- laurent_map: LaurentMapModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.CurvatureMetricsModel(**data)[source]
Bases:
BaseModelCurvature-based complexity metrics.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.JacobianMetricsModel(**data)[source]
Bases:
BaseModelJacobian (conformal distortion) metrics.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ComplexityScoresModel(**data)[source]
Bases:
BaseModelDerived complexity scores for computational cost estimation.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SuggestedConfigModel(**data)[source]
Bases:
BaseModelSuggested inversion configuration based on complexity analysis.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.IntrinsicCurveResponse(**data)[source]
Bases:
BaseModelResponse from intrinsic curve analysis.
- Parameters:
winding_number (float)
total_arc_length (float)
curvature (CurvatureMetricsModel)
jacobian (JacobianMetricsModel)
complexity (ComplexityScoresModel)
suggested_config (SuggestedConfigModel)
summary (str)
- curvature: CurvatureMetricsModel
- jacobian: JacobianMetricsModel
- complexity: ComplexityScoresModel
- suggested_config: SuggestedConfigModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.WebGLLaurentCoeffs(**data)[source]
Bases:
BaseModelLaurent coefficients formatted for WebGL shader consumption.
- Parameters:
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.ContinuationDefinition(**data)[source]
Bases:
BaseModelComplete definition of an analytic continuation.
This captures everything needed to: 1. Evaluate the continuation F(z) = A(f(B(z))) at any point 2. Reconstruct the visualization 3. Export/import the continuation
- Parameters:
- laurent_map: WebGLLaurentCoeffs
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.WebGLRenderDataRequest(**data)[source]
Bases:
BaseModelRequest for WebGL render data.
- Parameters:
export (SplineExportModel)
zeros (List[SingularityModel])
poles (List[SingularityModel])
transform_params (TransformParamsModel | None)
expression (str | None)
N_min (int)
N_max (int)
- export: SplineExportModel
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- transform_params: TransformParamsModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.WebGLRenderDataResponse(**data)[source]
Bases:
BaseModelComplete data needed for WebGL domain coloring of analytic continuation.
- Parameters:
- laurent_coeffs: WebGLLaurentCoeffs | None
- continuation: ContinuationDefinition | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.WebGLRenderWithProgressRequest(**data)[source]
Bases:
BaseModelRequest for WebGL render data with progress tracking.
- Parameters:
session_id (str | None)
export (SplineExportModel)
zeros (List[SingularityModel])
poles (List[SingularityModel])
expression (str | None)
transform_params (TransformParamsModel | None)
N_min (int)
N_max (int)
auto_resume (bool)
- export: SplineExportModel
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- transform_params: TransformParamsModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SessionStartRequest(**data)[source]
Bases:
BaseModelRequest to start a new pipeline session.
- Parameters:
expression (str | None)
curve_data (dict | None)
zeros (List[SingularityModel])
poles (List[SingularityModel])
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.SessionResponse(**data)[source]
Bases:
BaseModelResponse with session information.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class analytic_continuation_server.models.CheckResumableRequest(**data)[source]
Bases:
BaseModelRequest to check if a computation can be resumed from cache.
- Parameters:
export (SplineExportModel | None)
zeros (List[SingularityModel])
poles (List[SingularityModel])
expression (str | None)
- export: SplineExportModel | None
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Base Models
PointModel
ComplexModel
TransformParamsModel
- class analytic_continuation_server.models.TransformParamsModel(**data)[source]
Bases:
BaseModelTransform parameters for screen/logical coordinate conversion.
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
SingularityModel
Request Models
TransformPointRequest
- class analytic_continuation_server.models.TransformPointRequest(**data)[source]
Bases:
BaseModelRequest to transform a single point.
- Parameters:
point (PointModel)
params (TransformParamsModel)
direction (str)
- point: PointModel
- params: TransformParamsModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
MeromorphicRequest
- class analytic_continuation_server.models.MeromorphicRequest(**data)[source]
Bases:
BaseModelRequest to build a meromorphic function from zeros and poles.
- Parameters:
zeros (List[SingularityModel])
poles (List[SingularityModel])
params (TransformParamsModel | None)
coords (str)
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- params: TransformParamsModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
LaurentFitRequest
- class analytic_continuation_server.models.LaurentFitRequest(**data)[source]
Bases:
BaseModelRequest to fit a Laurent map.
- Parameters:
export (SplineExportModel)
N_min (int)
N_max (int)
m_samples (int)
- export: SplineExportModel
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
WebGLRenderDataRequest
- class analytic_continuation_server.models.WebGLRenderDataRequest(**data)[source]
Bases:
BaseModelRequest for WebGL render data.
- Parameters:
export (SplineExportModel)
zeros (List[SingularityModel])
poles (List[SingularityModel])
transform_params (TransformParamsModel | None)
expression (str | None)
N_min (int)
N_max (int)
- export: SplineExportModel
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- transform_params: TransformParamsModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Response Models
MeromorphicResponse
- class analytic_continuation_server.models.MeromorphicResponse(**data)[source]
Bases:
BaseModelResponse with the built expression and logical coordinates.
- Parameters:
expression (str)
zeros (List[SingularityModel])
poles (List[SingularityModel])
- zeros: List[SingularityModel]
- poles: List[SingularityModel]
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
LaurentFitResponse
- class analytic_continuation_server.models.LaurentFitResponse(**data)[source]
Bases:
BaseModelResponse from Laurent fitting.
- Parameters:
- laurent_map: LaurentMapModel | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
WebGLRenderDataResponse
- class analytic_continuation_server.models.WebGLRenderDataResponse(**data)[source]
Bases:
BaseModelComplete data needed for WebGL domain coloring of analytic continuation.
- Parameters:
- laurent_coeffs: WebGLLaurentCoeffs | None
- continuation: ContinuationDefinition | None
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
ContinuationDefinition
- class analytic_continuation_server.models.ContinuationDefinition(**data)[source]
Bases:
BaseModelComplete definition of an analytic continuation.
This captures everything needed to: 1. Evaluate the continuation F(z) = A(f(B(z))) at any point 2. Reconstruct the visualization 3. Export/import the continuation
- Parameters:
- laurent_map: WebGLLaurentCoeffs
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].