sob.abc
This module contains abstract base classes declaring the interface for classes
defined in sob.model,
sob.properties,
sob.types,
sob.meta, and
sob.hooks.
Types
Types(
items: (
collections.abc.Iterable[type | sob.abc.Property]
| type
| sob.abc.Property
| None
) = None,
)
This class is an abstract base for
sob.Types.
Source code in src/sob/abc.py
98 99 100 101 102 103 | |
MutableTypes
MutableTypes(
items: (
collections.abc.Iterable[type | sob.abc.Property]
| type
| sob.abc.Property
| None
) = None,
)
This class is an abstract base for
sob.MutableTypes.
Source code in src/sob/abc.py
98 99 100 101 102 103 | |
Hooks
Hooks(
before_marshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
after_marshal: (
typing.Callable[
[sob.abc.JSONTypes], sob.abc.JSONTypes
]
| None
) = None,
before_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
after_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
before_serialize: (
typing.Callable[
[sob.abc.JSONTypes], sob.abc.JSONTypes
]
| None
) = None,
after_serialize: (
typing.Callable[[str], str] | None
) = None,
before_validate: (
typing.Callable[[sob.abc.Model], sob.abc.Model]
| None
) = None,
after_validate: (
typing.Callable[[sob.abc.Model], None] | None
) = None,
)
This class is an abstract base for
sob.Hooks.
Source code in src/sob/abc.py
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | |
ObjectHooks
ObjectHooks(
before_marshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
after_marshal: (
typing.Callable[[sob.abc.JSONTypes], typing.Any]
| None
) = None,
before_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
after_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
before_serialize: (
typing.Callable[[sob.abc.JSONTypes], typing.Any]
| None
) = None,
after_serialize: (
typing.Callable[[str], str] | None
) = None,
before_validate: (
typing.Callable[[sob.abc.Model], sob.abc.Model]
| None
) = None,
after_validate: (
typing.Callable[[sob.abc.Model], None] | None
) = None,
before_setattr: (
typing.Callable[
[
sob.abc.Object,
str,
sob.abc.MarshallableTypes,
],
tuple[str, sob.abc.MarshallableTypes],
]
| None
) = None,
after_setattr: (
typing.Callable[
[
sob.abc.Object,
str,
sob.abc.MarshallableTypes,
],
None,
]
| None
) = None,
before_setitem: (
typing.Callable[
[
sob.abc.Object,
str,
sob.abc.MarshallableTypes,
],
tuple[str, sob.abc.MarshallableTypes],
]
| None
) = None,
after_setitem: (
typing.Callable[
[
sob.abc.Object,
str,
sob.abc.MarshallableTypes,
],
None,
]
| None
) = None,
)
This class is an abstract base for
sob.ObjectHooks.
Source code in src/sob/abc.py
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | |
ArrayHooks
ArrayHooks(
before_marshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
after_marshal: (
typing.Callable[[sob.abc.JSONTypes], typing.Any]
| None
) = None,
before_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
after_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes], typing.Any
]
| None
) = None,
before_serialize: (
typing.Callable[[sob.abc.JSONTypes], typing.Any]
| None
) = None,
after_serialize: (
typing.Callable[[str], str] | None
) = None,
before_validate: (
typing.Callable[[sob.abc.Model], sob.abc.Model]
| None
) = None,
after_validate: (
typing.Callable[[sob.abc.Model], None] | None
) = None,
before_setitem: (
typing.Callable[
[sob.abc.Array, int, sob.abc.MarshallableTypes],
tuple[int, typing.Any],
]
| None
) = None,
after_setitem: (
typing.Callable[
[sob.abc.Array, int, sob.abc.MarshallableTypes],
None,
]
| None
) = None,
before_append: (
typing.Callable[
[sob.abc.Array, sob.abc.MarshallableTypes],
typing.Any | None,
]
| None
) = None,
after_append: (
typing.Callable[
[sob.abc.Array, sob.abc.MarshallableTypes], None
]
| None
) = None,
)
This class is an abstract base for
sob.ArrayHooks.
Source code in src/sob/abc.py
274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | |
DictionaryHooks
DictionaryHooks(
before_marshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
after_marshal: (
typing.Callable[
[sob.abc.JSONTypes], sob.abc.JSONTypes
]
| None
) = None,
before_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
after_unmarshal: (
typing.Callable[
[sob.abc.MarshallableTypes],
sob.abc.MarshallableTypes,
]
| None
) = None,
before_serialize: (
typing.Callable[[sob.abc.JSONTypes], typing.Any]
| None
) = None,
after_serialize: (
typing.Callable[[str], str] | None
) = None,
before_validate: (
typing.Callable[[sob.abc.Model], sob.abc.Model]
| None
) = None,
after_validate: (
typing.Callable[[sob.abc.Model], None] | None
) = None,
before_setitem: (
typing.Callable[
[
sob.abc.Dictionary,
str,
sob.abc.MarshallableTypes,
],
tuple[str, typing.Any],
]
| None
) = None,
after_setitem: (
typing.Callable[
[
sob.abc.Dictionary,
str,
sob.abc.MarshallableTypes,
],
None,
]
| None
) = None,
)
This class is an abstract base for
sob.DictionaryHooks
.
Source code in src/sob/abc.py
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | |
Readable
This is an abstract base for file-like objects which are readable, but not
necessarily writable (such an which are found in the io module, but
also objects such as http.client.HTTPResponse). Objects will be
identified as sub-classes if they have a callable read method.
Meta
This class is an abstract base for
sob.Meta.
ObjectMeta
ObjectMeta(
properties: (
collections.abc.Mapping[str, sob.abc.Property]
| collections.abc.Iterable[
tuple[str, sob.abc.Property]
]
| sob.abc.Properties
| None
) = None,
)
This class is an abstract base for
sob.ObjectMeta.
Source code in src/sob/abc.py
394 395 396 397 398 399 400 401 402 | |
DictionaryMeta
DictionaryMeta(
value_types: (
collections.abc.Iterable[sob.abc.Property | type]
| sob.abc.Types
| None
| sob.abc.Property
| type
) = None,
)
This class is an abstract base for
sob.DictionaryMeta.
Source code in src/sob/abc.py
427 428 429 430 431 432 433 434 435 436 | |
ArrayMeta
ArrayMeta(
item_types: (
collections.abc.Iterable[sob.abc.Property | type]
| sob.abc.Types
| None
| sob.abc.Property
| type
) = None,
)
This class is an abstract base for
sob.ArrayMeta.
Source code in src/sob/abc.py
462 463 464 465 466 467 468 469 470 471 | |
Properties
Properties(
items: (
collections.abc.Mapping[str, sob.abc.Property]
| collections.abc.Iterable[
tuple[str, sob.abc.Property]
]
| sob.abc.Properties
| None
) = None,
)
This class is an abstract base for
sob.Properties.
Source code in src/sob/abc.py
493 494 495 496 497 498 499 500 501 | |
Model
This class is an abstract base for
sob.Model.
Dictionary
Dictionary(
items: (
sob.abc.Dictionary
| collections.abc.Mapping[
str, sob.abc.MarshallableTypes
]
| collections.abc.Iterable[
tuple[str, sob.abc.MarshallableTypes]
]
| sob.abc.Readable
| str
| bytes
| None
) = None,
value_types: (
collections.abc.Iterable[type | sob.abc.Property]
| type
| sob.abc.Property
| sob.abc.Types
| None
) = None,
)
This class is an abstract base for
sob.Dictionary.
Source code in src/sob/abc.py
657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 | |
Object
Object(
_data: (
sob.abc.Object
| sob.abc.Dictionary
| collections.abc.Mapping[
str, sob.abc.MarshallableTypes
]
| collections.abc.Iterable[
tuple[str, sob.abc.MarshallableTypes]
]
| sob.abc.Readable
| str
| bytes
| None
) = None,
)
This class is an abstract base for
sob.Object.
Source code in src/sob/abc.py
765 766 767 768 769 770 771 772 773 774 775 776 777 | |
Array
Array(
items: (
sob.abc.Array
| collections.abc.Iterable[
sob.abc.MarshallableTypes
]
| str
| bytes
| sob.abc.Readable
| None
) = None,
item_types: (
collections.abc.Iterable[type | sob.abc.Property]
| type
| sob.abc.Property
| sob.abc.Types
| None
) = None,
)
This class is an abstract base for
sob.Array.
Source code in src/sob/abc.py
854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 | |
Property
Property(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.Property.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
StringProperty
StringProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.StringProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
DateProperty
DateProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.DateProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
DateTimeProperty
DateTimeProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.DateTimeProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
BytesProperty
BytesProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.BytesProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
EnumeratedProperty
EnumeratedProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.EnumeratedProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
NumberProperty
NumberProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.NumberProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
IntegerProperty
IntegerProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.IntegerProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
BooleanProperty
BooleanProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.BooleanProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
ArrayProperty
ArrayProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.ArrayProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
DictionaryProperty
DictionaryProperty(
types: (
collections.abc.Iterable[type | sob.abc.Property]
| None
) = None,
name: str | None = None,
*,
required: bool | typing.Callable = False,
versions: (
collections.abc.Iterable[str | sob.abc.Version]
| None
) = None
)
This class is an abstract base for
sob.DictionaryProperty
.
Source code in src/sob/abc.py
972 973 974 975 976 977 978 979 980 981 | |
Version
Version(
version_number: str | None = None,
specification: str | None = None,
equals: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
not_equals: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
less_than: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
less_than_or_equal_to: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
greater_than: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
greater_than_or_equal_to: (
collections.abc.Sequence[
str | float | int | decimal.Decimal
]
| None
) = None,
)
This class is an abstract base for
sob.Version
.
Source code in src/sob/abc.py
1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 | |