15
0

Compare commits

2 Commits

Author SHA256 Message Date
01d546df17 Accepting request 1302858 from devel:languages:python
- Upgrade to 0.26.5:
  * Switch to pydantic v2, including pydantic-settings.
  * Use tenacity rather than retrying.
- Drop patch continue-to-use-pydantic-1.patch, no longer required.
- Refresh switch-to-pyrfc3339.patch, make it smaller and easier to rebase.
- Add patches:
  * switch-to-poetry-core.patch
  * support-new-pydantic-settings.patch

OBS-URL: https://build.opensuse.org/request/show/1302858
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-qcs-api-client?expand=0&rev=5
2025-09-05 19:43:47 +00:00
958c7a1a4b - Upgrade to 0.26.5:
* Switch to pydantic v2, including pydantic-settings.
  * Use tenacity rather than retrying.
- Drop patch continue-to-use-pydantic-1.patch, no longer required.
- Refresh switch-to-pyrfc3339.patch, make it smaller and easier to rebase.
- Add patches:
  * switch-to-poetry-core.patch
  * support-new-pydantic-settings.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-qcs-api-client?expand=0&rev=9
2025-09-05 06:23:08 +00:00
8 changed files with 197 additions and 353 deletions

View File

@@ -1,99 +0,0 @@
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/configuration.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/_configuration/configuration.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/configuration.py
@@ -2,7 +2,7 @@ import os
from pathlib import Path
from typing import Optional
-from pydantic.main import BaseModel
+from pydantic.v1 import BaseModel
from .error import QCSClientConfigurationError
from .secrets import (
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/environment.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/_configuration/environment.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/environment.py
@@ -1,8 +1,8 @@
import os
from typing import Any, Dict
-from pydantic import BaseModel
-from pydantic.utils import deep_update
+from pydantic.v1 import BaseModel
+from pydantic.v1.utils import deep_update
class _EnvironmentBaseModel(BaseModel):
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/secrets.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/_configuration/secrets.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/secrets.py
@@ -4,8 +4,8 @@ from typing import Dict, Optional, Union
import toml
from jwt import decode
-from pydantic import BaseModel, ValidationError
-from pydantic.fields import Field
+from pydantic.v1 import BaseModel, ValidationError
+from pydantic.v1.fields import Field
from .file import QCSClientConfigurationFile
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/settings.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/_configuration/settings.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/settings.py
@@ -1,7 +1,7 @@
from typing import Dict, Optional
-from pydantic import BaseModel
-from pydantic.fields import Field
-from pydantic.networks import HttpUrl
+from pydantic.v1 import BaseModel
+from pydantic.v1.fields import Field
+from pydantic.v1.networks import HttpUrl
from enum import Enum
from .environment import EnvironmentModel
from .file import QCSClientConfigurationFile
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/auth.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/auth.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/auth.py
@@ -1,7 +1,7 @@
import asyncio
import threading
import httpx
-from pydantic import BaseModel, Field
+from pydantic.v1 import BaseModel, Field
from http import HTTPStatus
from typing import Set
Index: qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/file.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/qcs_api_client/client/_configuration/file.py
+++ qcs-api-client-python-0.23.1/qcs_api_client/client/_configuration/file.py
@@ -2,8 +2,8 @@ from pathlib import Path
from typing import Any, Dict, Optional
import toml
-from pydantic.types import FilePath
-from pydantic.utils import deep_update
+from pydantic.v1.types import FilePath
+from pydantic.v1.utils import deep_update
from .environment import _EnvironmentBaseModel
Index: qcs-api-client-python-0.23.1/tests/test_client/test_client_configuration/test_client_configuration_file.py
===================================================================
--- qcs-api-client-python-0.23.1.orig/tests/test_client/test_client_configuration/test_client_configuration_file.py
+++ qcs-api-client-python-0.23.1/tests/test_client/test_client_configuration/test_client_configuration_file.py
@@ -1,7 +1,7 @@
from pathlib import Path
import toml
-from pydantic.main import BaseConfig
+from pydantic.v1 import BaseConfig
from qcs_api_client.client._configuration.file import QCSClientConfigurationFile

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Sep 5 06:21:40 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Upgrade to 0.26.5:
* Switch to pydantic v2, including pydantic-settings.
* Use tenacity rather than retrying.
- Drop patch continue-to-use-pydantic-1.patch, no longer required.
- Refresh switch-to-pyrfc3339.patch, make it smaller and easier to rebase.
- Add patches:
* switch-to-poetry-core.patch
* support-new-pydantic-settings.patch
-------------------------------------------------------------------
Mon Mar 18 03:11:38 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-qcs-api-client
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,17 +17,19 @@
Name: python-qcs-api-client
Version: 0.23.1
Version: 0.26.5
Release: 0
Summary: Python client library for accessing the Rigetti QCS API
License: MIT
URL: https://github.com/rigetti/qcs-api-client-python
Source: https://github.com/rigetti/qcs-api-client-python/archive/refs/tags/v%{version}.tar.gz#/qcs-api-client-%{version}.tar.gz
# PATCH-FIX-UPSTREAM gh#rigetti/qcs-api-client-python#11
Patch0: switch-to-poetry-core.patch
# PATCH-FIX-OPENSUSE Use pyRFC3339 rather than rfc3339 which is not packaged
Patch0: switch-to-pyrfc3339.patch
# PATCH-FIX-OPENSUSE Import from pydantic.v1 rather than pydantic
Patch1: continue-to-use-pydantic-1.patch
BuildRequires: %{python_module base >= 3.7}
Patch1: switch-to-pyrfc3339.patch
# PATCH-FIX-UPSTREAM gh#rigetti/qcs-api-client-python#17
Patch2: support-new-pydantic-settings.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: fdupes
@@ -35,12 +37,13 @@ BuildRequires: python-rpm-macros
# SECTION runtime
BuildRequires: %{python_module PyJWT >= 2.4.0}
BuildRequires: %{python_module attrs >= 21.3}
BuildRequires: %{python_module dateutil}
BuildRequires: %{python_module httpx}
BuildRequires: %{python_module iso8601 >= 1.0.2}
BuildRequires: %{python_module pyRFC3339 >= 1.1}
BuildRequires: %{python_module pydantic}
BuildRequires: %{python_module retrying}
BuildRequires: %{python_module pydantic >= 2.6.3}
BuildRequires: %{python_module pydantic-settings >= 2.2.1}
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module tenacity >= 8.3}
BuildRequires: %{python_module toml >= 0.10.2}
# /SECTION
# SECTION test
@@ -50,12 +53,13 @@ BuildRequires: %{python_module respx >= 0.20}
# /SECTION
Requires: python-PyJWT >= 2.4.0
Requires: python-attrs >= 21.3
Requires: python-dateutil >= 2.8.1
Requires: python-httpx >= 0.23
Requires: python-iso8601 >= 1.0.2
Requires: python-pyRFC3339 >= 1.1
Requires: python-pydantic >= 1.7.2
Requires: python-retrying >= 1.3.3
Requires: python-pydantic >= 2.6.3
Requires: python-pydantic-settings >= 2.2.1
Requires: python-python-dateutil >= 2.8.1
Requires: python-tenacity >= 8.3
Requires: python-toml >= 0.10.2
BuildArch: noarch
%python_subpackages
@@ -74,7 +78,7 @@ Allows access to the Rigetti Quantum Computing System API
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest --ignore tests/test_client/test_auth.py -k 'not test_sync_client'
%pytest --ignore tests/test_client/test_auth.py --asyncio-mode=auto -k 'not test_sync_client_api_call'
%files %{python_files}
%license LICENSE

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f84ce91ebcb7ac0f7fedf654a3ad51b1e946c8cedaf41aa0687333fa266897d
size 71819

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a2f571ba34da2b18e87124f9b2630a54f7b7fb7d5601f6aa0097b139cd30ea5
size 79428

View File

@@ -0,0 +1,28 @@
From bdb1088de41220e9d8ec0862978895f7f78d2e4d Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
Date: Fri, 5 Sep 2025 16:04:00 +1000
Subject: [PATCH] Support pydantic-settings 2.10
pydantic-settings 2.10 has refactored the sources module into a
submodule, attempt to import from the new location, falling back if
required to support both the old and the new.
---
qcs_api_client/client/_configuration/environment.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/qcs_api_client/client/_configuration/environment.py b/qcs_api_client/client/_configuration/environment.py
index 249b723..3120bb4 100644
--- a/qcs_api_client/client/_configuration/environment.py
+++ b/qcs_api_client/client/_configuration/environment.py
@@ -3,7 +3,10 @@
from pydantic import BaseModel
from pydantic.v1.utils import deep_update
-from pydantic_settings.sources import _annotation_is_complex
+try:
+ from pydantic_settings.sources.utils import _annotation_is_complex
+except ImportError:
+ from pydantic_settings.sources import _annotation_is_complex
class _EnvironmentBaseModel(BaseModel):

View File

@@ -0,0 +1,25 @@
From 39799162944eb77b66c6523831a4dbdefd036f61 Mon Sep 17 00:00:00 2001
From: Po-Chuan Hsieh <sunpoet@sunpoet.net>
Date: Tue, 5 Sep 2023 23:58:05 +0800
Subject: [PATCH] Fix PEP517 build backend
Poetry is a packing and dependency management utility for Python.
poetry-core is the PEP 517 build backend intended to be a light weight,
fully compliant, self-contained package allowing PEP 517 compatible build
frontends to build Poetry managed projects.
---
pyproject.toml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 315a0c6..138c5a0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -53,5 +53,5 @@ multi_line_output = 3
include_trailing_comma = true
[build-system]
-requires = ["poetry>=1.0"]
-build-backend = "poetry.masonry.api"
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"

View File

@@ -1,269 +1,143 @@
Index: qcs-api-client-python-0.21.3/qcs_api_client/api/reservations/find_available_reservations.py
Index: qcs-api-client-python-0.26.5/qcs_api_client/api/reservations/find_available_reservations.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/api/reservations/find_available_reservations.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/api/reservations/find_available_reservations.py
@@ -3,7 +3,7 @@ from typing import Any, Dict
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/api/reservations/find_available_reservations.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/api/reservations/find_available_reservations.py
@@ -3,7 +3,7 @@ from typing import Any, Dict, Union
import httpx
from retrying import retry
from tenacity import retry
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
+from pyrfc3339 import generate as rfc3339
from ...models.find_available_reservations_response import FindAvailableReservationsResponse
from ...types import UNSET, Response
@@ -27,7 +27,7 @@ def _get_kwargs(
params["quantumProcessorId"] = quantum_processor_id
assert start_time_from.tzinfo is not None, "Datetime must have timezone information"
- json_start_time_from = rfc3339(start_time_from)
+ json_start_time_from = generate(start_time_from)
params["startTimeFrom"] = json_start_time_from
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/available_reservation.py
from ...types import Response, UNSET
from ...util.errors import raise_for_status
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/announcement.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/available_reservation.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/available_reservation.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/announcement.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/announcement.py
@@ -5,7 +5,7 @@ from typing import List
import attr
from dateutil.parser import isoparse
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET
from ..util.serialization import is_not_none
@@ -32,12 +32,12 @@ class AvailableReservation:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
duration = self.duration
assert self.end_time.tzinfo is not None, "Datetime must have timezone information"
- end_time = rfc3339(self.end_time)
+ end_time = generate(self.end_time)
price = self.price
quantum_processor_id = self.quantum_processor_id
assert self.start_time.tzinfo is not None, "Datetime must have timezone information"
- start_time = rfc3339(self.start_time)
+ start_time = generate(self.start_time)
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/billing_invoice.py
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/available_reservation.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/billing_invoice.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/billing_invoice.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/available_reservation.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/available_reservation.py
@@ -5,7 +5,7 @@ from typing import List
import attr
from dateutil.parser import isoparse
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
from ..models.billing_invoice_status import BillingInvoiceStatus
from ..types import UNSET
@@ -39,10 +39,10 @@ class BillingInvoice:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
assert self.period_end.tzinfo is not None, "Datetime must have timezone information"
- period_end = rfc3339(self.period_end)
+ period_end = generate(self.period_end)
assert self.period_start.tzinfo is not None, "Datetime must have timezone information"
- period_start = rfc3339(self.period_start)
+ period_start = generate(self.period_start)
starting_balance = self.starting_balance
status = self.status.value
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/billing_upcoming_invoice.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/billing_upcoming_invoice.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/billing_upcoming_invoice.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
import attr
from dateutil.parser import isoparse
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
from ..models.billing_invoice_status import BillingInvoiceStatus
from ..types import UNSET
@@ -37,10 +37,10 @@ class BillingUpcomingInvoice:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
assert self.period_end.tzinfo is not None, "Datetime must have timezone information"
- period_end = rfc3339(self.period_end)
+ period_end = generate(self.period_end)
assert self.period_start.tzinfo is not None, "Datetime must have timezone information"
- period_start = rfc3339(self.period_start)
+ period_start = generate(self.period_start)
starting_balance = self.starting_balance
status = self.status.value
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/characteristic.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/characteristic.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/characteristic.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
import attr
from dateutil.parser import isoparse
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
from ..types import UNSET, Unset
from ..util.serialization import is_not_none
@@ -38,7 +38,7 @@ class Characteristic:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
name = self.name
assert self.timestamp.tzinfo is not None, "Datetime must have timezone information"
- timestamp = rfc3339(self.timestamp)
+ timestamp = generate(self.timestamp)
value = self.value
error = self.error
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/create_reservation_request.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/create_reservation_request.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/create_reservation_request.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
import attr
from dateutil.parser import isoparse
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
from ..models.account_type import AccountType
from ..types import UNSET, Unset
@@ -36,11 +36,11 @@ class CreateReservationRequest:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
assert self.end_time.tzinfo is not None, "Datetime must have timezone information"
- end_time = rfc3339(self.end_time)
+ end_time = generate(self.end_time)
quantum_processor_id = self.quantum_processor_id
assert self.start_time.tzinfo is not None, "Datetime must have timezone information"
- start_time = rfc3339(self.start_time)
+ start_time = generate(self.start_time)
account_id = self.account_id
account_type: Union[Unset, str] = UNSET
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/group.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/group.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/group.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
import attr
from dateutil.parser import isoparse
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET
from ..util.serialization import is_not_none
@@ -33,16 +33,16 @@ class Group:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
assert self.created_time.tzinfo is not None, "Datetime must have timezone information"
- created_time = rfc3339(self.created_time)
+ created_time = generate(self.created_time)
description = self.description
id = self.id
assert self.last_membership_updated_time.tzinfo is not None, "Datetime must have timezone information"
- last_membership_updated_time = rfc3339(self.last_membership_updated_time)
+ last_membership_updated_time = generate(self.last_membership_updated_time)
name = self.name
assert self.updated_time.tzinfo is not None, "Datetime must have timezone information"
- updated_time = rfc3339(self.updated_time)
+ updated_time = generate(self.updated_time)
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/reservation.py
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/billing_invoice.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/reservation.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/reservation.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/billing_invoice.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/billing_invoice.py
@@ -5,7 +5,7 @@ from typing import List
import attr
from dateutil.parser import isoparse
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
+from pyrfc3339 import generate as rfc3339
from ..models.account_type import AccountType
from ..types import UNSET, Unset
@@ -55,16 +55,16 @@ class Reservation:
account_type = self.account_type.value
assert self.created_time.tzinfo is not None, "Datetime must have timezone information"
- created_time = rfc3339(self.created_time)
+ created_time = generate(self.created_time)
assert self.end_time.tzinfo is not None, "Datetime must have timezone information"
- end_time = rfc3339(self.end_time)
+ end_time = generate(self.end_time)
id = self.id
price = self.price
quantum_processor_id = self.quantum_processor_id
assert self.start_time.tzinfo is not None, "Datetime must have timezone information"
- start_time = rfc3339(self.start_time)
+ start_time = generate(self.start_time)
user_id = self.user_id
cancellation_billing_invoice_item_id = self.cancellation_billing_invoice_item_id
@@ -73,7 +73,7 @@ class Reservation:
notes = self.notes
updated_time: Union[Unset, str] = UNSET
if not isinstance(self.updated_time, Unset):
- updated_time = rfc3339(self.updated_time)
+ updated_time = generate(self.updated_time)
field_dict: Dict[str, Any] = {}
field_dict.update(self.additional_properties)
Index: qcs-api-client-python-0.21.3/qcs_api_client/models/user.py
from ..types import UNSET
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/billing_upcoming_invoice.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/qcs_api_client/models/user.py
+++ qcs-api-client-python-0.21.3/qcs_api_client/models/user.py
@@ -3,7 +3,7 @@ from typing import Any, Callable, Dict,
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/billing_upcoming_invoice.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/billing_upcoming_invoice.py
@@ -5,7 +5,7 @@ from typing import List
import attr
from dateutil.parser import isoparse
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate
+from pyrfc3339 import generate as rfc3339
from ..models.user_profile import UserProfile
from ..types import UNSET, Unset
@@ -30,7 +30,7 @@ class User:
def to_dict(self, pick_by_predicate: Optional[Callable[[Any], bool]] = is_not_none) -> Dict[str, Any]:
assert self.created_time.tzinfo is not None, "Datetime must have timezone information"
- created_time = rfc3339(self.created_time)
+ created_time = generate(self.created_time)
id = self.id
idp_id = self.idp_id
Index: qcs-api-client-python-0.21.3/pyproject.toml
from ..types import UNSET
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/characteristic.py
===================================================================
--- qcs-api-client-python-0.21.3.orig/pyproject.toml
+++ qcs-api-client-python-0.21.3/pyproject.toml
@@ -21,7 +21,7 @@ pydantic = "^1.7.2"
python = "^3.7"
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/characteristic.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/characteristic.py
@@ -2,7 +2,7 @@ from typing import Any, Callable, Dict,
from attrs import define as _attrs_define
-from rfc3339 import rfc3339
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET, Unset
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/create_reservation_request.py
===================================================================
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/create_reservation_request.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/create_reservation_request.py
@@ -5,7 +5,7 @@ from typing import List
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET, Unset
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/group.py
===================================================================
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/group.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/group.py
@@ -5,7 +5,7 @@ from typing import List
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/reservation.py
===================================================================
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/reservation.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/reservation.py
@@ -5,7 +5,7 @@ from typing import List
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET, Unset
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/qcs_api_client/models/user.py
===================================================================
--- qcs-api-client-python-0.26.5.orig/qcs_api_client/models/user.py
+++ qcs-api-client-python-0.26.5/qcs_api_client/models/user.py
@@ -5,7 +5,7 @@ from typing import List
from attrs import define as _attrs_define
from attrs import field as _attrs_field
-from rfc3339 import rfc3339
+from pyrfc3339 import generate as rfc3339
from ..types import UNSET, Unset
from ..util.serialization import is_not_none
Index: qcs-api-client-python-0.26.5/pyproject.toml
===================================================================
--- qcs-api-client-python-0.26.5.orig/pyproject.toml
+++ qcs-api-client-python-0.26.5/pyproject.toml
@@ -20,7 +20,7 @@ iso8601 = "^1.0.2"
pydantic = "^2.6.3"
python = ">=3.8,<4.0"
python-dateutil = "^2.8.1"
retrying = "^1.3.3"
-rfc3339 = "^6.2"
+pyRFC3339 = "^1.1"
toml = "^0.10.2"
PyJWT = "^2.4.0"
@@ -53,5 +53,5 @@ multi_line_output = 3
include_trailing_comma = true
[build-system]
-requires = ["poetry>=1.0"]
-build-backend = "poetry.masonry.api"
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
pydantic-settings = ">=2.2.1,<2.9"