Skip to content

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
@abstractmethod
def __init__(
    self,
    items: Iterable[type | Property] | type | Property | None = None,
) -> None:
    pass

MutableTypes

MutableTypes(
    items: (
        collections.abc.Iterable[type | sob.abc.Property]
        | type
        | sob.abc.Property
        | None
    ) = None,
)

Bases: sob.abc.Types

This class is an abstract base for sob.MutableTypes.

Source code in src/sob/abc.py
 98
 99
100
101
102
103
@abstractmethod
def __init__(
    self,
    items: Iterable[type | Property] | type | Property | None = None,
) -> None:
    pass

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
@abstractmethod
def __init__(
    self,
    before_marshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    after_marshal: Callable[[JSONTypes], JSONTypes] | None = None,
    before_unmarshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    after_unmarshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    before_serialize: Callable[[JSONTypes], JSONTypes] | None = None,
    after_serialize: Callable[[str], str] | None = None,
    before_validate: Callable[[Model], Model] | None = None,
    after_validate: Callable[[Model], None] | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Hooks

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
@abstractmethod
def __init__(
    self,
    before_marshal: Callable[[MarshallableTypes], Any] | None = None,
    after_marshal: Callable[[JSONTypes], Any] | None = None,
    before_unmarshal: Callable[[MarshallableTypes], Any] | None = None,
    after_unmarshal: Callable[[MarshallableTypes], Any] | None = None,
    before_serialize: Callable[[JSONTypes], Any] | None = None,
    after_serialize: Callable[[str], str] | None = None,
    before_validate: Callable[[Model], Model] | None = None,
    after_validate: Callable[[Model], None] | None = None,
    before_setattr: Callable[
        [Object, str, MarshallableTypes], tuple[str, MarshallableTypes]
    ]
    | None = None,
    after_setattr: Callable[[Object, str, MarshallableTypes], None]
    | None = None,
    before_setitem: Callable[
        [Object, str, MarshallableTypes], tuple[str, MarshallableTypes]
    ]
    | None = None,
    after_setitem: Callable[[Object, str, MarshallableTypes], None]
    | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Hooks

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
@abstractmethod
def __init__(
    self,
    before_marshal: Callable[[MarshallableTypes], Any] | None = None,
    after_marshal: Callable[[JSONTypes], Any] | None = None,
    before_unmarshal: Callable[[MarshallableTypes], Any] | None = None,
    after_unmarshal: Callable[[MarshallableTypes], Any] | None = None,
    before_serialize: Callable[[JSONTypes], Any] | None = None,
    after_serialize: Callable[[str], str] | None = None,
    before_validate: Callable[[Model], Model] | None = None,
    after_validate: Callable[[Model], None] | None = None,
    before_setitem: Callable[
        [Array, int, MarshallableTypes], tuple[int, Any]
    ]
    | None = None,
    after_setitem: Callable[[Array, int, MarshallableTypes], None]
    | None = None,
    before_append: Callable[[Array, MarshallableTypes], Any | None]
    | None = None,
    after_append: Callable[[Array, MarshallableTypes], None] | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Hooks

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
def __init__(
    self,
    before_marshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    after_marshal: Callable[[JSONTypes], JSONTypes] | None = None,
    before_unmarshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    after_unmarshal: Callable[[MarshallableTypes], MarshallableTypes]
    | None = None,
    before_serialize: Callable[[JSONTypes], Any] | None = None,
    after_serialize: Callable[[str], str] | None = None,
    before_validate: Callable[[Model], Model] | None = None,
    after_validate: Callable[[Model], None] | None = None,
    before_setitem: Callable[
        [Dictionary, str, MarshallableTypes], tuple[str, Any]
    ]
    | None = None,
    after_setitem: Callable[[Dictionary, str, MarshallableTypes], None]
    | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Meta

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
@abstractmethod
def __init__(
    self,
    properties: Mapping[str, Property]
    | Iterable[tuple[str, Property]]
    | Properties
    | None = None,
) -> None:
    pass

DictionaryMeta

DictionaryMeta(
    value_types: (
        collections.abc.Iterable[sob.abc.Property | type]
        | sob.abc.Types
        | None
        | sob.abc.Property
        | type
    ) = None,
)

Bases: sob.abc.Meta

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
@abstractmethod
def __init__(
    self,
    value_types: Iterable[Property | type]
    | Types
    | None
    | Property
    | type = None,
) -> None:
    pass

ArrayMeta

ArrayMeta(
    item_types: (
        collections.abc.Iterable[sob.abc.Property | type]
        | sob.abc.Types
        | None
        | sob.abc.Property
        | type
    ) = None,
)

Bases: sob.abc.Meta

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
@abstractmethod
def __init__(
    self,
    item_types: Iterable[Property | type]
    | Types
    | None
    | Property
    | type = None,
):
    pass

Properties

Properties(
    items: (
        collections.abc.Mapping[str, sob.abc.Property]
        | collections.abc.Iterable[
            tuple[str, sob.abc.Property]
        ]
        | sob.abc.Properties
        | None
    ) = None,
)

Bases: sob.abc.Meta

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
@abstractmethod
def __init__(
    self,
    items: Mapping[str, Property]
    | Iterable[tuple[str, Property]]
    | Properties
    | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Model

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
@abstractmethod
def __init__(
    self,
    items: Dictionary
    | Mapping[str, MarshallableTypes]
    | Iterable[tuple[str, MarshallableTypes]]
    | Readable
    | str
    | bytes
    | None = None,
    value_types: Iterable[type | Property]
    | type
    | Property
    | Types
    | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Model

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
@abstractmethod
def __init__(
    self,
    _data: Object
    | Dictionary
    | Mapping[str, MarshallableTypes]
    | Iterable[tuple[str, MarshallableTypes]]
    | Readable
    | str
    | bytes
    | None = None,
) -> None:
    pass

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,
)

Bases: sob.abc.Model

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
@abstractmethod
def __init__(
    self,
    items: Array
    | Iterable[MarshallableTypes]
    | str
    | bytes
    | Readable
    | None = None,
    item_types: Iterable[type | Property]
    | type
    | Property
    | Types
    | None = None,
) -> None:
    pass

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
)

Bases: sob.abc.Property

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
@abstractmethod
def __init__(
    self,
    types: Iterable[type | Property] | None = None,
    name: str | None = None,
    *,
    required: bool | Callable = False,
    versions: Iterable[str | Version] | None = None,
) -> None:
    pass

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
@abstractmethod
def __init__(
    self,
    version_number: str | None = None,
    specification: str | None = None,
    equals: Sequence[str | float | int | Decimal] | None = None,
    not_equals: Sequence[str | float | int | Decimal] | None = None,
    less_than: Sequence[str | float | int | Decimal] | None = None,
    less_than_or_equal_to: Sequence[str | float | int | Decimal]
    | None = None,
    greater_than: Sequence[str | float | int | Decimal] | None = None,
    greater_than_or_equal_to: Sequence[str | float | int | Decimal]
    | None = None,
) -> None:
    pass