filters

Filter models for use by the client.

class qnexus.models.filters.ArchivedFilter(
*,
is_archived: Annotated[bool, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = False,
)[source]

Include or omit archived projects

class qnexus.models.filters.CreatorFilter(
*,
creator_email: list[str] | None = [],
)[source]

Creator email model.

class qnexus.models.filters.CredentialsFilter(
*,
issuer: CredentialIssuer | str | None = None,
)[source]

Filter for credentials.

class qnexus.models.filters.DevicesFilter(
*,
backend: list[str] | None = None,
region: str | None = None,
ibm_instance: str | None = None,
ibm_region: str | None = None,
credential_ids: list[str] | None = None,
credential_names: list[str] | None = None,
is_local: bool | None = None,
)[source]

Filter by device details.

Example

>>> import qnexus as qnx
>>> from qnexus.models import IssuerEnum
>>> qnx.devices.get_all(issuers=[IssuerEnum.QUANTINUUM])
class qnexus.models.filters.JobStatusFilter(
*,
status: list[Literal['COMPLETED', 'QUEUED', 'SUBMITTED', 'RUNNING', 'CANCELLED', 'ERROR', 'DEPLETED', 'TERMINATED']] | None = ['COMPLETED', 'QUEUED', 'SUBMITTED', 'RUNNING', 'CANCELLED', 'ERROR', 'DEPLETED', 'TERMINATED'],
)[source]

Job status filter.

Example

>>> import qnexus as qnx
>>> from qnexus.models.job_status import JobStatusEnum
>>> qnx.jobs.get_all(job_status=[JobStatusEnum.RUNNING, JobStatusEnum.QUEUED])
static convert_status_filters(
status_filters: list[JobStatusEnum],
) list[Literal['COMPLETED', 'QUEUED', 'SUBMITTED', 'RUNNING', 'CANCELLED', 'ERROR', 'DEPLETED', 'TERMINATED']][source]

Convert SortFilterEnum to SortFilterString.

class qnexus.models.filters.JobTypeFilter(
*,
job_type: list[JobType] | None = [JobType.EXECUTE, JobType.COMPILE],
)[source]

Filter by job type.

Example

>>> import qnexus as qnx
>>> from qnexus.models.references import JobType
>>> qnx.jobs.get_all(job_type=[JobType.EXECUTE])
class qnexus.models.filters.NameFilter(
*,
name_like: str | None = '',
name_exact: list[str] | None = None,
)[source]

Name model.

Example

>>> import qnexus as qnx
>>> qnx.projects.get_all(name_like="MyProject_")
>>> qnx.projects.get(name="MyProject_123")
class qnexus.models.filters.PaginationFilter(
*,
page_number: int | None = 0,
page_size: int | None = 50,
)[source]

Pagination model.

Example

>>> import qnexus as qnx
>>> qnx.circuits.get_all(page_number=0, page_size=10)
class qnexus.models.filters.ProjectRefFilter(
*,
project: Annotated[ProjectRef | None, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = None,
)[source]

Project Id filter

serialize_project_ref(
project: ProjectRef,
) str[source]

Serialize the id for a ProjectRef.

class qnexus.models.filters.PropertiesFilter(
*,
properties: OrderedDict[str, bool | int | float | str] | None = {},
)[source]

Properties filters model.

Example

>>> import qnexus as qnx
>>> qnx.jobs.get_all(properties={"experiment": "vqe", "iteration": 5})
serialize_properties(
properties: OrderedDict[str, bool | int | float | str],
) list[str][source]

Serialize the id for a ProjectRef.

class qnexus.models.filters.ScopeFilter(
*,
scope: ScopeFilterEnum = ScopeFilterEnum.USER,
)[source]

Filter by scope.

Example

>>> import qnexus as qnx
>>> from qnexus.models.scope import ScopeFilterEnum
>>> qnx.projects.get_all(scope=ScopeFilterEnum.ORG_ADMIN)
class qnexus.models.filters.SortFilter(
*,
sort: list[Literal['timestamps.created', '-timestamps.created', 'timestamps.modified', '-timestamps.modified', 'name', '-name']] | None = ['-timestamps.created'],
)[source]

Resource sorting model.

static convert_sort_filters(
sort_filters: list[SortFilterEnum] | None,
) list[Literal['timestamps.created', '-timestamps.created', 'timestamps.modified', '-timestamps.modified', 'name', '-name']] | None[source]

Convert SortFilterEnum to SortFilterString.

enum qnexus.models.filters.SortFilterEnum(
value,
)[source]

SortFilterEnum model.

Member Type:

str

Valid values are as follows:

CREATED_ASC = <SortFilterEnum.CREATED_ASC: 'created'>
CREATED_DESC = <SortFilterEnum.CREATED_DESC: '-created'>
MODIFIED_ASC = <SortFilterEnum.MODIFIED_ASC: 'modified'>
MODIFIED_DESC = <SortFilterEnum.MODIFIED_DESC: '-modified'>
NAME_ASC = <SortFilterEnum.NAME_ASC: 'name'>
NAME_DESC = <SortFilterEnum.NAME_DESC: '-name'>
class qnexus.models.filters.TimeFilter(
*,
created_before: Annotated[datetime | None, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = None,
created_after: Annotated[datetime | None, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = None,
modified_before: Annotated[datetime | None, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = None,
modified_after: Annotated[datetime | None, WrapValidator(func=allow_none, json_schema_input_type=PydanticUndefined)] = None,
)[source]

Resource time filters model.

Example

>>> from datetime import datetime
>>> import qnexus as qnx
>>> qnx.projects.get_all(
...     created_after=datetime(2024, 1, 1),
...     modified_before=datetime(2024, 6, 30),
... )