triplemodel.terms.registry

Pluggable Python ↔ RDF literal converters.

class triplemodel.terms.registry.LiteralRegistry[source]

Bases: object

Registry of Python type ↔ RDF literal converters.

__init__()[source]
Return type:

None

register_literal_type(py_type, to_literal, from_literal, *, datatype=None)[source]

Register converters for a Python type.

Return type:

None

Parameters:
  • py_type (type[PyT])

  • to_literal (Callable[[PyT], Literal])

  • from_literal (Callable[[Literal], PyT])

  • datatype (str | None)

converter_for_datatype(datatype)[source]

Return import converter registered for an XSD datatype IRI.

Return type:

Callable[[Literal], str | int | float | bool | date | datetime | Decimal | UUID] | None

Parameters:

datatype (str)

converter_for_type(py_type)[source]
Return type:

tuple[Callable[..., Literal], Callable[[Literal], str | int | float | bool | date | datetime | Decimal | UUID]] | None

Parameters:

py_type (type)

python_to_literal(value, py_type=None)[source]

Use registry for value when a converter is registered.

Return type:

Literal | None

Parameters:
literal_to_python(term, py_type)[source]
Return type:

Union[str, int, float, bool, date, datetime, Decimal, UUID, TypeVar(PyT), None]

Parameters:
  • term (Literal)

  • py_type (type[PyT] | type | None)

triplemodel.terms.registry.register_literal_type(py_type, to_literal, from_literal, *, datatype=None)[source]

Register converters on the package-default default_registry.

Return type:

None

Parameters:
  • py_type (type[PyT])

  • to_literal (Callable[[PyT], Literal])

  • from_literal (Callable[[Literal], PyT])

  • datatype (str | None)

triplemodel.terms.registry.converter_for_type(py_type)[source]
Return type:

tuple[Callable[..., Literal], Callable[[Literal], str | int | float | bool | date | datetime | Decimal | UUID]] | None

Parameters:

py_type (type)

triplemodel.terms.registry.python_to_literal(value, py_type=None)[source]
Return type:

Literal | None

Parameters:
triplemodel.terms.registry.literal_to_python(term, py_type)[source]
Return type:

Union[str, int, float, bool, date, datetime, Decimal, UUID, TypeVar(PyT), None]

Parameters:
  • term (Literal)

  • py_type (type[PyT] | type | None)