@@ -15339,25 +15339,75 @@ conint/confloat with ge/le parameters.
1533915339 "title": "NumberConstraints",
1534015340 "type": "object",
1534115341 "properties": {
15342- "non_negative_count ": {
15342+ "non_negative_int ": {
1534315343 "type": "integer",
1534415344 "minimum": 0,
15345- "description": "A count that cannot be negative "
15345+ "description": "NonNegativeInt: minimum=0 only "
1534615346 },
15347- "non_positive_balance ": {
15347+ "non_positive_int ": {
1534815348 "type": "integer",
1534915349 "maximum": 0,
15350- "description": "A balance that cannot be positive "
15350+ "description": "NonPositiveInt: maximum=0 only "
1535115351 },
15352- "non_negative_amount ": {
15352+ "non_negative_float ": {
1535315353 "type": "number",
1535415354 "minimum": 0,
15355- "description": "An amount that cannot be negative "
15355+ "description": "NonNegativeFloat: minimum=0 only "
1535615356 },
15357- "non_positive_score ": {
15357+ "non_positive_float ": {
1535815358 "type": "number",
1535915359 "maximum": 0,
15360- "description": "A score that cannot be positive"
15360+ "description": "NonPositiveFloat: maximum=0 only"
15361+ },
15362+ "positive_int": {
15363+ "type": "integer",
15364+ "exclusiveMinimum": 0,
15365+ "description": "PositiveInt: exclusiveMinimum=0"
15366+ },
15367+ "negative_int": {
15368+ "type": "integer",
15369+ "exclusiveMaximum": 0,
15370+ "description": "NegativeInt: exclusiveMaximum=0"
15371+ },
15372+ "positive_float": {
15373+ "type": "number",
15374+ "exclusiveMinimum": 0,
15375+ "description": "PositiveFloat: exclusiveMinimum=0"
15376+ },
15377+ "negative_float": {
15378+ "type": "number",
15379+ "exclusiveMaximum": 0,
15380+ "description": "NegativeFloat: exclusiveMaximum=0"
15381+ },
15382+ "bounded_non_negative_int": {
15383+ "type": "integer",
15384+ "minimum": 0,
15385+ "maximum": 100,
15386+ "description": "NonNegativeInt with additional upper bound"
15387+ },
15388+ "bounded_non_positive_int": {
15389+ "type": "integer",
15390+ "maximum": 0,
15391+ "minimum": -100,
15392+ "description": "NonPositiveInt with additional lower bound"
15393+ },
15394+ "bounded_non_negative_float": {
15395+ "type": "number",
15396+ "minimum": 0,
15397+ "maximum": 1.0,
15398+ "description": "NonNegativeFloat with additional upper bound"
15399+ },
15400+ "bounded_non_positive_float": {
15401+ "type": "number",
15402+ "maximum": 0,
15403+ "minimum": -1.0,
15404+ "description": "NonPositiveFloat with additional lower bound"
15405+ },
15406+ "plain_constrained_int": {
15407+ "type": "integer",
15408+ "minimum": 5,
15409+ "maximum": 100,
15410+ "description": "No zero bound: should remain conint/Field"
1536115411 }
1536215412 }
1536315413 }
@@ -15375,25 +15425,58 @@ conint/confloat with ge/le parameters.
1537515425 from pydantic import (
1537615426 BaseModel,
1537715427 Field,
15428+ NegativeFloat,
15429+ NegativeInt,
1537815430 NonNegativeFloat,
1537915431 NonNegativeInt,
1538015432 NonPositiveFloat,
1538115433 NonPositiveInt,
15434+ PositiveFloat,
15435+ PositiveInt,
15436+ confloat,
15437+ conint,
1538215438 )
1538315439
1538415440
1538515441 class NumberConstraints(BaseModel):
15386- non_negative_count: NonNegativeInt | None = Field(
15387- None, description='A count that cannot be negative'
15442+ non_negative_int: NonNegativeInt | None = Field(
15443+ None, description='NonNegativeInt: minimum=0 only'
15444+ )
15445+ non_positive_int: NonPositiveInt | None = Field(
15446+ None, description='NonPositiveInt: maximum=0 only'
15447+ )
15448+ non_negative_float: NonNegativeFloat | None = Field(
15449+ None, description='NonNegativeFloat: minimum=0 only'
15450+ )
15451+ non_positive_float: NonPositiveFloat | None = Field(
15452+ None, description='NonPositiveFloat: maximum=0 only'
15453+ )
15454+ positive_int: PositiveInt | None = Field(
15455+ None, description='PositiveInt: exclusiveMinimum=0'
15456+ )
15457+ negative_int: NegativeInt | None = Field(
15458+ None, description='NegativeInt: exclusiveMaximum=0'
15459+ )
15460+ positive_float: PositiveFloat | None = Field(
15461+ None, description='PositiveFloat: exclusiveMinimum=0'
15462+ )
15463+ negative_float: NegativeFloat | None = Field(
15464+ None, description='NegativeFloat: exclusiveMaximum=0'
15465+ )
15466+ bounded_non_negative_int: conint(ge=0, le=100) | None = Field(
15467+ None, description='NonNegativeInt with additional upper bound'
15468+ )
15469+ bounded_non_positive_int: conint(ge=-100, le=0) | None = Field(
15470+ None, description='NonPositiveInt with additional lower bound'
1538815471 )
15389- non_positive_balance: NonPositiveInt | None = Field(
15390- None, description='A balance that cannot be positive '
15472+ bounded_non_negative_float: confloat(ge=0.0, le=1.0) | None = Field(
15473+ None, description='NonNegativeFloat with additional upper bound '
1539115474 )
15392- non_negative_amount: NonNegativeFloat | None = Field(
15393- None, description='An amount that cannot be negative '
15475+ bounded_non_positive_float: confloat(ge=-1.0, le=0.0) | None = Field(
15476+ None, description='NonPositiveFloat with additional lower bound '
1539415477 )
15395- non_positive_score: NonPositiveFloat | None = Field(
15396- None, description='A score that cannot be positive '
15478+ plain_constrained_int: conint(ge=5, le=100) | None = Field(
15479+ None, description='No zero bound: should remain conint/Field '
1539715480 )
1539815481 ```
1539915482
0 commit comments