omnipy.components.remote.models
Models for HTTP URLs, URL parts, query strings, and automatic response decoding.
| CLASS | DESCRIPTION |
|---|---|
HttpUrlModel |
Represent a validated HTTP or HTTPS URL as a structured model. |
QueryParamsModel |
Represent URL query parameters as a decoded key-value mapping. |
UrlDataclassModel |
Store mutable URL components used by :class: |
UrlPathModel |
Represent a URL path with path-like joining and mutation helpers. |
QueryParamsJoinerModel
module-attribute
QueryParamsJoinerModel = NestedJoinItemsModel.adjust(
"QueryParamsJoinerModel", delimiters=("&", "=")
)
QueryParamsSplitterModel
module-attribute
QueryParamsSplitterModel = NestedSplitToItemsModel.adjust(
"QueryParamsSplitterModel", delimiters=("&", "=")
)
AutoResponseContentModel
Bases: Model[ResponseContentPydModel | StrictBytesModel | StrictStrModel | JsonListOrDictModel]
flowchart BT
omnipy.components.remote.models.AutoResponseContentModel[AutoResponseContentModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.remote.models.AutoResponseContentModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.AutoResponseContentModel href "" "omnipy.components.remote.models.AutoResponseContentModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Decode HTTP response content to bytes, text, or JSON from MIME metadata.
| PARAMETER | DESCRIPTION |
|---|---|
*args
|
Positional data forwarded to :class:
|
**kwargs
|
Keyword arguments forwarded to
:class:
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
AutoResponseContentModel
|
Model containing auto-decoded response content. |
| RAISES | DESCRIPTION |
|---|---|
AssertionError
|
If wrapped response metadata is missing parsed MIME type data. |
-
Reference
Code reference
omnipy
components
remote
tasksget_auto_from_api_endpoint
- Reference Code reference
| CLASS | DESCRIPTION |
|---|---|
Config |
Configure union parsing for automatic response-content decoding. |
Source code in src/omnipy/components/remote/models.py
Config
flowchart BT
omnipy.components.remote.models.AutoResponseContentModel.Config[Config]
omnipy.data.model.Model.Config[Config]
omnipy.data.model.Model.Config --> omnipy.components.remote.models.AutoResponseContentModel.Config
click omnipy.components.remote.models.AutoResponseContentModel.Config href "" "omnipy.components.remote.models.AutoResponseContentModel.Config"
click omnipy.data.model.Model.Config href "" "omnipy.data.model.Model.Config"
Configure union parsing for automatic response-content decoding.
Smart-union matching is disabled so MIME-driven model selection for bytes, text, and JSON remains explicit.
| ATTRIBUTE | DESCRIPTION |
|---|---|
smart_union |
|
Source code in src/omnipy/components/remote/models.py
HttpUrlModel
Bases: Model[UrlDataclassModel | str]
flowchart BT
omnipy.components.remote.models.HttpUrlModel[HttpUrlModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.remote.models.HttpUrlModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.HttpUrlModel href "" "omnipy.components.remote.models.HttpUrlModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Represent a validated HTTP or HTTPS URL as a structured model.
| PARAMETER | DESCRIPTION |
|---|---|
*args
|
Positional data forwarded to :class:
|
**kwargs
|
Keyword arguments forwarded to
:class:
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
HttpUrlModel
|
Model instance containing validated URL components. |
| RAISES | DESCRIPTION |
|---|---|
AssertionError
|
If the URL scheme is not |
pyd.ValidationError
|
If URL parsing fails. |
Example
url = HttpUrlModel('https://example.com/path?q=1') str(url) 'https://example.com/path?q=1'
- Reference Code reference
| METHOD | DESCRIPTION |
|---|---|
to_data |
Return the normalized URL as a string. |
Source code in src/omnipy/components/remote/models.py
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | |
to_data
Return the normalized URL as a string.
| RETURNS | DESCRIPTION |
|---|---|
str
|
Fully rendered HTTP(S) URL string.
TYPE:
|
HttpUrlModel_UrlDataclassModel
Bases: HttpUrlModel, UrlDataclassModel
flowchart BT
omnipy.components.remote.models.HttpUrlModel_UrlDataclassModel[HttpUrlModel_UrlDataclassModel]
omnipy.components.remote.models.HttpUrlModel[HttpUrlModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.components.remote.models.UrlDataclassModel[UrlDataclassModel]
omnipy.components.remote.models.HttpUrlModel --> omnipy.components.remote.models.HttpUrlModel_UrlDataclassModel
omnipy.data.model.Model --> omnipy.components.remote.models.HttpUrlModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
omnipy.components.remote.models.UrlDataclassModel --> omnipy.components.remote.models.HttpUrlModel_UrlDataclassModel
omnipy.util.pydantic.BaseModel --> omnipy.components.remote.models.UrlDataclassModel
click omnipy.components.remote.models.HttpUrlModel_UrlDataclassModel href "" "omnipy.components.remote.models.HttpUrlModel_UrlDataclassModel"
click omnipy.components.remote.models.HttpUrlModel href "" "omnipy.components.remote.models.HttpUrlModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
click omnipy.components.remote.models.UrlDataclassModel href "" "omnipy.components.remote.models.UrlDataclassModel"
Type-checking helper combining URL model and URL-part attributes.
This helper exists only for static typing so parsed URL fields can be
accessed directly on HttpUrlModel values.
Source code in src/omnipy/components/remote/models.py
ModelFriendlyMimeType
flowchart BT
omnipy.components.remote.models.ModelFriendlyMimeType[ModelFriendlyMimeType]
omnipy.util.pydantic.BaseModel --> omnipy.components.remote.models.ModelFriendlyMimeType
click omnipy.components.remote.models.ModelFriendlyMimeType href "" "omnipy.components.remote.models.ModelFriendlyMimeType"
Store MIME type parts in a model-friendly immutable representation.
| PARAMETER | DESCRIPTION |
|---|---|
type
|
MIME top-level type such as
|
subtype
|
MIME subtype such as
|
suffix
|
Optional structured syntax suffix.
|
parameters
|
MIME parameters as key-value pairs.
|
| RETURNS | DESCRIPTION |
|---|---|
ModelFriendlyMimeType
|
MIME parts represented as simple model fields. |
| RAISES | DESCRIPTION |
|---|---|
pyd.ValidationError
|
If supplied fields do not match expected types. |
-
Reference
Code reference
omnipy
components
remote
modelsResponseContentPydModel
-
Reference
Code reference
omnipy
components
remote
modelsResponseContentPydModelparse_content_type
| ATTRIBUTE | DESCRIPTION |
|---|---|
parameters |
TYPE:
|
subtype |
TYPE:
|
suffix |
TYPE:
|
type |
TYPE:
|
Source code in src/omnipy/components/remote/models.py
QueryParamsModel
Bases: Model[dict[str, str] | tuple[tuple[str, str], ...] | tuple[str, ...] | str]
flowchart BT
omnipy.components.remote.models.QueryParamsModel[QueryParamsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.remote.models.QueryParamsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.QueryParamsModel href "" "omnipy.components.remote.models.QueryParamsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Represent URL query parameters as a decoded key-value mapping.
| PARAMETER | DESCRIPTION |
|---|---|
*args
|
Positional data forwarded to :class:
|
**kwargs
|
Keyword arguments forwarded to
:class:
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
QueryParamsModel
|
Model instance containing decoded query parameters. |
| RAISES | DESCRIPTION |
|---|---|
AssertionError
|
If tuple-like input does not contain key-value pairs. |
Example
params = QueryParamsModel('name=alice&lang=en') str(params) 'name=alice&lang=en'
-
Reference
Code reference
omnipy
components
remote
modelsQueryParamsModel_dict
-
Reference
Code reference
omnipy
components
remote
modelsUrlDataclassModelquery
| METHOD | DESCRIPTION |
|---|---|
to_data |
Serialize query parameters back to a URL-encoded query string. |
Source code in src/omnipy/components/remote/models.py
to_data
Serialize query parameters back to a URL-encoded query string.
| RETURNS | DESCRIPTION |
|---|---|
str
|
URL-encoded query string without a leading
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
AssertionError
|
If model content is not a dictionary at serialization time. |
Source code in src/omnipy/components/remote/models.py
QueryParamsModel_dict
Bases: QueryParamsModel, dict
flowchart BT
omnipy.components.remote.models.QueryParamsModel_dict[QueryParamsModel_dict]
omnipy.components.remote.models.QueryParamsModel[QueryParamsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.components.remote.models.QueryParamsModel --> omnipy.components.remote.models.QueryParamsModel_dict
omnipy.data.model.Model --> omnipy.components.remote.models.QueryParamsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.QueryParamsModel_dict href "" "omnipy.components.remote.models.QueryParamsModel_dict"
click omnipy.components.remote.models.QueryParamsModel href "" "omnipy.components.remote.models.QueryParamsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Type-checking helper refining QueryParamsModel as dict-like.
This helper exists only for static typing so query-parameter model instances can be treated as decoded string-to-string mappings.
-
Reference
Code reference
omnipy
components
remote
modelsUrlDataclassModelquery
Source code in src/omnipy/components/remote/models.py
ResponseContentPydModel
flowchart BT
omnipy.components.remote.models.ResponseContentPydModel[ResponseContentPydModel]
omnipy.util.pydantic.BaseModel --> omnipy.components.remote.models.ResponseContentPydModel
click omnipy.components.remote.models.ResponseContentPydModel href "" "omnipy.components.remote.models.ResponseContentPydModel"
Pair response payload data with the content type used for decoding.
| PARAMETER | DESCRIPTION |
|---|---|
content_type
|
MIME type string or pre-parsed
|
response
|
Raw decoded payload from HTTP response handling.
|
| RETURNS | DESCRIPTION |
|---|---|
ResponseContentPydModel
|
Validated wrapper for content type and payload. |
| RAISES | DESCRIPTION |
|---|---|
pyd.ValidationError
|
If the MIME type cannot be parsed. |
- Reference Code reference
| CLASS | DESCRIPTION |
|---|---|
Config |
Configure pydantic behavior for response-wrapper validation. |
| METHOD | DESCRIPTION |
|---|---|
parse_content_type |
Parse MIME content type strings into |
| ATTRIBUTE | DESCRIPTION |
|---|---|
content_type |
TYPE:
|
response |
TYPE:
|
Source code in src/omnipy/components/remote/models.py
Config
Configure pydantic behavior for response-wrapper validation.
Arbitrary payload object types are allowed so decoded response content can be preserved without additional wrapping.
| ATTRIBUTE | DESCRIPTION |
|---|---|
arbitrary_types_allowed |
|
Source code in src/omnipy/components/remote/models.py
parse_content_type
parse_content_type(content_type: ModelFriendlyMimeType | str) -> ModelFriendlyMimeType
Parse MIME content type strings into ModelFriendlyMimeType.
Args:
content_type: MIME type value to normalize.
Returns:
ModelFriendlyMimeType: Parsed MIME type model.
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If MIME parsing fails for a string input. |
Source code in src/omnipy/components/remote/models.py
UrlDataclassModel
flowchart BT
omnipy.components.remote.models.UrlDataclassModel[UrlDataclassModel]
omnipy.util.pydantic.BaseModel --> omnipy.components.remote.models.UrlDataclassModel
click omnipy.components.remote.models.UrlDataclassModel href "" "omnipy.components.remote.models.UrlDataclassModel"
Store mutable URL components used by :class:HttpUrlModel.
| PARAMETER | DESCRIPTION |
|---|---|
scheme
|
URL scheme, currently expected to be
|
username
|
Optional username part of the URL authority.
|
password
|
Optional password part of the URL authority.
|
host
|
Hostname or IP address.
|
port
|
Optional explicit port number.
|
path
|
URL path represented as :class:
|
query
|
Query parameters represented as :class:
|
fragment
|
Optional URL fragment value.
|
| RETURNS | DESCRIPTION |
|---|---|
UrlDataclassModel
|
Structured URL parts that can be rendered as a URL string. |
| RAISES | DESCRIPTION |
|---|---|
pyd.ValidationError
|
If any URL part violates model field constraints. |
Example
parts = UrlDataclassModel(scheme='https', host='example.com') str(parts) 'https://example.com/'
- Reference Code reference
| ATTRIBUTE | DESCRIPTION |
|---|---|
fragment |
TYPE:
|
host |
TYPE:
|
password |
TYPE:
|
path |
|
port |
TYPE:
|
query |
TYPE:
|
scheme |
TYPE:
|
username |
TYPE:
|
Source code in src/omnipy/components/remote/models.py
path
class-attribute
instance-attribute
path: UrlPathModel_PurePosixPath = pyd.Field(default_factory=UrlPathModel)
query
class-attribute
instance-attribute
query: QueryParamsModel_dict = pyd.Field(default_factory=QueryParamsModel)
UrlPathModel
Bases: Model[PurePosixPath | str]
flowchart BT
omnipy.components.remote.models.UrlPathModel[UrlPathModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.remote.models.UrlPathModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.UrlPathModel href "" "omnipy.components.remote.models.UrlPathModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Represent a URL path with path-like joining and mutation helpers.
| PARAMETER | DESCRIPTION |
|---|---|
*args
|
Positional data forwarded to :class:
|
**kwargs
|
Keyword arguments forwarded to
:class:
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
UrlPathModel
|
Model instance wrapping a |
| RAISES | DESCRIPTION |
|---|---|
TypeError
|
If input cannot be converted to |
Example
path = UrlPathModel('/api') str(path / 'users') '/api/users'
-
Reference
Code reference
omnipy
components
remote
modelsUrlPathModel_PurePosixPath
-
Reference
Code reference
omnipy
components
remote
modelsUrlDataclassModelpath
| METHOD | DESCRIPTION |
|---|---|
to_data |
Return the normalized URL path as a string. |
Source code in src/omnipy/components/remote/models.py
to_data
Return the normalized URL path as a string.
| RETURNS | DESCRIPTION |
|---|---|
str
|
Path content rendered as a POSIX-style string.
TYPE:
|
UrlPathModel_PurePosixPath
Bases: UrlPathModel, PurePosixPath
flowchart BT
omnipy.components.remote.models.UrlPathModel_PurePosixPath[UrlPathModel_PurePosixPath]
omnipy.components.remote.models.UrlPathModel[UrlPathModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.components.remote.models.UrlPathModel --> omnipy.components.remote.models.UrlPathModel_PurePosixPath
omnipy.data.model.Model --> omnipy.components.remote.models.UrlPathModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.remote.models.UrlPathModel_PurePosixPath href "" "omnipy.components.remote.models.UrlPathModel_PurePosixPath"
click omnipy.components.remote.models.UrlPathModel href "" "omnipy.components.remote.models.UrlPathModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Type-checking helper combining path-model and path-like APIs.
This helper exists only for static typing to expose both
UrlPathModel behavior and PurePosixPath operations.
-
Reference
Code reference
omnipy
components
remote
modelsUrlDataclassModelpath