Skip to content

typing

photonforge.typing.Angle Value: typing.Annotated[float, units='°']

photonforge.typing.Capacitance Value: typing.Annotated[float, exclusiveMinimum=0, units='F']

photonforge.typing.ComplexFieldAmplitude Value: typing.Annotated[complex, units='√W']

photonforge.typing.Coordinate Value: typing.Annotated[float, units='μm']

photonforge.typing.Coordinate2D Value: typing.Annotated[collections.abc.Sequence[typing.Annotated[float, units='μm']], maxItems=2, minItems=2]

photonforge.typing.Dimension Value: typing.Annotated[float, minimum=0, units='μm']

photonforge.typing.Dimension2D Value: typing.Annotated[collections.abc.Sequence[typing.Annotated[float, minimum=0, units='μm']], maxItems=2, minItems=2]

photonforge.typing.Dispersion Value: typing.Annotated[float, units='s/μm²']

photonforge.typing.DispersionSlope Value: typing.Annotated[float, units='s/μm³']

photonforge.typing.FieldAmplitude Value: typing.Annotated[float, units='√W']

photonforge.typing.Fraction Value: typing.Annotated[float, maximum=1, minimum=0]

photonforge.typing.Frequency Value: typing.Annotated[float, minimum=0, units='Hz']

photonforge.typing.Gain Value: typing.Annotated[float, units='dB']

photonforge.typing.Impedance Value: typing.Annotated[complex, units='Ω']

photonforge.typing.Inductance Value: typing.Annotated[float, minimum=0, units='H']

photonforge.typing.Layer Value: typing.Annotated[str | tuple[int, int], _]

photonforge.typing.Loss Value: typing.Annotated[float, minimum=0, units='dB']

photonforge.typing.Medium Annotated keeps the union intact in Medium | None so schemas can recognize it

photonforge.typing.NegativeFloat Value: typing.Annotated[float, exclusiveMaximum=0]

photonforge.typing.NegativeInt Value: typing.Annotated[int, exclusiveMaximum=0]

photonforge.typing.NonNegativeFloat Value: typing.Annotated[float, minimum=0]

photonforge.typing.NonNegativeInt Value: typing.Annotated[int, minimum=0]

photonforge.typing.NonPositiveFloat Value: typing.Annotated[float, maximum=0]

photonforge.typing.NonPositiveInt Value: typing.Annotated[int, maximum=0]

photonforge.typing.PositiveDimension Value: typing.Annotated[float, exclusiveMinimum=0, units='μm']

photonforge.typing.PositiveDimension2D Value: typing.Annotated[collections.abc.Sequence[typing.Annotated[float, exclusiveMinimum=0, units='μm']], maxItems=2, minItems=2]

photonforge.typing.PositiveFloat Value: typing.Annotated[float, exclusiveMinimum=0]

photonforge.typing.PositiveInt Value: typing.Annotated[int, exclusiveMinimum=0]

photonforge.typing.Power Value: typing.Annotated[float, minimum=0, units='W']

photonforge.typing.Power_dBm Value: typing.Annotated[float, units='dBm']

photonforge.typing.PropagationLoss Value: typing.Annotated[float, minimum=0, units='dB/μm']

photonforge.typing.Resistance Value: typing.Annotated[float, exclusiveMinimum=0, units='Ω']

photonforge.typing.Temperature Value: typing.Annotated[float, minimum=0, units='K']

photonforge.typing.Time Value: typing.Annotated[float, units='s']

photonforge.typing.TimeDelay Value: typing.Annotated[float, minimum=0, units='s']

photonforge.typing.Velocity Value: typing.Annotated[float, exclusiveMinimum=0, units='μm/s']

photonforge.typing.Voltage Value: typing.Annotated[float, units='V']

photonforge.typing.annotate Annotate a type with metadata.

photonforge.typing.array Type for arrays with specified number of dimensions.

photonforge.typing.expression Type for Expression with a minimal number of values.

photonforge.typing.kwargs_for Type that represents keyword arguments for a function or class.