pypaginate.engine.pipeline
Pipelines — compose filter, sort, search, then paginate.
Separate sync and async pipelines for type safety. Each applies optional specs before delegating to its paginator.
Classes
Async: filter -> sort -> search -> paginate. |
|
Sync: filter -> sort -> search -> paginate. |
Module Contents
- class pypaginate.engine.pipeline.AsyncPipeline(paginator: pypaginate.engine.paginator.AsyncPaginator[ItemT], *, filter_backend: pypaginate.domain.protocols.FilterBackend | None = None, sort_backend: pypaginate.domain.protocols.SortBackend | None = None, search_backend: pypaginate.domain.protocols.SearchBackend | None = None)
Bases:
Generic[ItemT]Async: filter -> sort -> search -> paginate.
- async execute(query: object, params: pypaginate.domain.params.OffsetParams, *, filters: collections.abc.Sequence[pypaginate.domain.specs.FilterSpec] = (), sorting: collections.abc.Sequence[pypaginate.domain.specs.SortSpec] = (), search: pypaginate.domain.specs.SearchSpec | None = None) Any
Apply specs then paginate asynchronously.
- Parameters:
query – Query object.
params – Offset pagination parameters.
filters – Filter specifications.
sorting – Sort specifications.
search – Search specification.
- Returns:
Paginated result with filters/sorts applied.
- class pypaginate.engine.pipeline.SyncPipeline(paginator: pypaginate.engine.paginator.Paginator[ItemT], *, filter_backend: pypaginate.domain.protocols.FilterBackend | None = None, sort_backend: pypaginate.domain.protocols.SortBackend | None = None, search_backend: pypaginate.domain.protocols.SearchBackend | None = None)
Bases:
Generic[ItemT]Sync: filter -> sort -> search -> paginate.
- execute(query: object, params: pypaginate.domain.params.OffsetParams, *, filters: collections.abc.Sequence[pypaginate.domain.specs.FilterSpec] = (), sorting: collections.abc.Sequence[pypaginate.domain.specs.SortSpec] = (), search: pypaginate.domain.specs.SearchSpec | None = None) Any
Apply specs then paginate synchronously.
- Parameters:
query – Data source.
params – Offset pagination parameters.
filters – Filter specifications.
sorting – Sort specifications.
search – Search specification.
- Returns:
Paginated result with filters/sorts applied.