Field Types¶
Parameter field factories.
Note
Model code only receives resolved parameter values at runtime (float,
int, etc.). The underlying Field classes are an implementation
detail.
When using a Params subclass,
resolved values are accessible as class attributes (e.g. P.width).
When using a Model subclass, resolved values
are accessible as instance attributes (e.g. self.width).
Float
¶
Float(
default: float,
*,
min: float | None = None,
max: float | None = None,
step: float | None = None,
unit: Unit | str | None = None,
description: str | None = None,
) -> FloatField
Declare a floating-point parameter.
Parameters:
-
default(float) –Default value.
-
min(float | None, default:None) –Minimum allowed value (inclusive).
-
max(float | None, default:None) –Maximum allowed value (inclusive).
-
step(float | None, default:None) –Suggested increment for UI controls.
-
unit(Unit | str | None, default:None) –Numeric unit (Only current option is "in" for inches)
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
Inches
¶
Inches(
default: float,
*,
min: float | None = None,
max: float | None = None,
step: float | None = None,
description: str | None = None,
) -> FloatField
Declare a floating-point parameter in inches.
Input parameter values are automatically converted to millimeters at model run time.
Parameters:
-
default(float) –Default value.
-
min(float | None, default:None) –Minimum allowed value (inclusive).
-
max(float | None, default:None) –Maximum allowed value (inclusive).
-
step(float | None, default:None) –Suggested increment for UI controls.
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | |
Int
¶
Int(
default: int,
*,
min: int | None = None,
max: int | None = None,
step: int | None = None,
unit: Unit | str | None = None,
description: str | None = None,
) -> IntField
Declare an integer parameter.
Parameters:
-
default(int) –Default value.
-
min(int | None, default:None) –Minimum allowed value (inclusive).
-
max(int | None, default:None) –Maximum allowed value (inclusive).
-
step(int | None, default:None) –Suggested increment for UI controls.
-
unit(Unit | str | None, default:None) –Numeric unit ("in" or "mm")
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | |
Bool
¶
Bool(
default: bool, *, description: str | None = None
) -> BoolField
Declare a boolean parameter.
Parameters:
-
default(bool) –Default value.
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
125 126 127 128 129 130 131 132 133 134 135 136 137 | |
Str
¶
Str(
default: str,
*,
min_length: int | None = None,
max_length: int | None = None,
description: str | None = None,
) -> StrField
Declare a string parameter.
Parameters:
-
default(str) –Default value.
-
min_length(int | None, default:None) –Minimum allowed value length (inclusive).
-
max_length(int | None, default:None) –Maximum allowed value length (inclusive).
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | |
Choice
¶
Choice(
default: T,
choices: Sequence[T],
*,
description: str | None = None,
) -> ChoiceField[T]
Declare a parameter for choosing from a fixed set of values.
The value type is inferred from choices.
Parameters:
-
default(T) –Default value. Must be one of
choices. -
choices(Sequence[T]) –Allowed values. All values must be the same type.
-
description(str | None, default:None) –Human-readable description.
Source code in bdbox/model/field_factories.py
164 165 166 167 168 169 170 171 172 173 174 175 176 177 | |