Quantile#
- class openstef_core.types.Quantile(value)[source]#
Bases:
floatA float subclass representing a quantile value between 0 and 1.
Uses
Decimalarithmetic internally for all conversions so that values likeQuantile(0.999)round-trip exactly throughformat()/parse()andto_percentile()/from_percentile().Example
Creating and using quantiles
>>> q50 = Quantile(0.5) # Median >>> q50.format() 'quantile_P50' >>> q95 = Quantile(0.95) # 95th percentile >>> q95.format() 'quantile_P95' >>> # Parse from string >>> Quantile.parse('quantile_P25') 0.25 >>> # Non-integer quantiles >>> Quantile(0.025).format() 'quantile_P2.5' >>> # Percentile conversion >>> Quantile.from_percentile(99.9).format() 'quantile_P99.9' >>> # Complementary quantiles >>> Quantile(0.1).complementary() 0.9
- static __new__(cls, value: float) Self[source]#
Create a new Quantile instance with validation.
- Parameters:
value (
float) – Float value between 0 and 1.value
- Returns:
New Quantile instance.
- Raises:
ValueError – If value is not between 0 and 1.
- Return type:
Self
- classmethod __get_pydantic_core_schema__(source_type: Any, handler: GetCoreSchemaHandler) InvalidSchema | AnySchema | NoneSchema | BoolSchema | IntSchema | FloatSchema | DecimalSchema | StringSchema | BytesSchema | DateSchema | TimeSchema | DatetimeSchema | TimedeltaSchema | LiteralSchema | MissingSentinelSchema | EnumSchema | IsInstanceSchema | IsSubclassSchema | CallableSchema | ListSchema | TupleSchema | SetSchema | FrozenSetSchema | GeneratorSchema | DictSchema | AfterValidatorFunctionSchema | BeforeValidatorFunctionSchema | WrapValidatorFunctionSchema | PlainValidatorFunctionSchema | WithDefaultSchema | NullableSchema | UnionSchema | TaggedUnionSchema | ChainSchema | LaxOrStrictSchema | JsonOrPythonSchema | TypedDictSchema | ModelFieldsSchema | ModelSchema | DataclassArgsSchema | DataclassSchema | ArgumentsSchema | ArgumentsV3Schema | CallSchema | CustomErrorSchema | JsonSchema | UrlSchema | MultiHostUrlSchema | DefinitionsSchema | DefinitionReferenceSchema | UuidSchema | ComplexSchema[source]#
Define Pydantic validation and serialization behavior.
- Returns:
Core schema for Pydantic validation.
- Parameters:
source_type (
Any)handler (
GetCoreSchemaHandler)
- Return type:
Union[InvalidSchema,AnySchema,NoneSchema,BoolSchema,IntSchema,FloatSchema,DecimalSchema,StringSchema,BytesSchema,DateSchema,TimeSchema,DatetimeSchema,TimedeltaSchema,LiteralSchema,MissingSentinelSchema,EnumSchema,IsInstanceSchema,IsSubclassSchema,CallableSchema,ListSchema,TupleSchema,SetSchema,FrozenSetSchema,GeneratorSchema,DictSchema,AfterValidatorFunctionSchema,BeforeValidatorFunctionSchema,WrapValidatorFunctionSchema,PlainValidatorFunctionSchema,WithDefaultSchema,NullableSchema,UnionSchema,TaggedUnionSchema,ChainSchema,LaxOrStrictSchema,JsonOrPythonSchema,TypedDictSchema,ModelFieldsSchema,ModelSchema,DataclassArgsSchema,DataclassSchema,ArgumentsSchema,ArgumentsV3Schema,CallSchema,CustomErrorSchema,JsonSchema,UrlSchema,MultiHostUrlSchema,DefinitionsSchema,DefinitionReferenceSchema,UuidSchema,ComplexSchema]
- format() str[source]#
Instance method to format the quantile as a string.
- Return type:
- Returns:
Formatted quantile string in ‘quantile_PXX’ format.
- classmethod parse(quantile_str: str) Self[source]#
Parse a quantile string back to a Quantile object.
- Parameters:
quantile_str (
str) – String in ‘quantile_PXX’ format.quantile_str
- Returns:
Parsed Quantile object.
- Raises:
ValueError – If the string format is invalid.
- Return type:
Self
- static is_valid_quantile_string(quantile_str: str) bool[source]#
Check if a string is a valid quantile representation.
- classmethod from_percentile(percentile: float) Self[source]#
Create a Quantile from a percentile value.
- Parameters:
percentile (
float) – Percentile value between 0 and 100.percentile
- Returns:
Quantile corresponding to the given percentile.
- Raises:
ValueError – If the percentile is not between 0 and 100.
- Return type:
Self