graphiant-sdk 25.12.1__py3-none-any.whl → 26.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. graphiant_sdk/__init__.py +2982 -1471
  2. graphiant_sdk/api/default_api.py +1712 -23
  3. graphiant_sdk/api_client.py +16 -9
  4. graphiant_sdk/configuration.py +9 -3
  5. graphiant_sdk/exceptions.py +6 -3
  6. graphiant_sdk/models/__init__.py +19 -1
  7. graphiant_sdk/models/assurance_dns_proxy_entry.py +97 -0
  8. graphiant_sdk/models/iam_customer.py +6 -2
  9. graphiant_sdk/models/mana_v2_b2b_extranet_service_customer_match_details.py +15 -2
  10. graphiant_sdk/models/mana_v2_device.py +7 -1
  11. graphiant_sdk/models/mana_v2_edge_device_config.py +7 -1
  12. graphiant_sdk/models/mana_v2_interface.py +7 -1
  13. graphiant_sdk/models/mana_v2_interface_config.py +7 -1
  14. graphiant_sdk/models/mana_v2_interface_ma_csec.py +115 -0
  15. graphiant_sdk/models/mana_v2_lag_interface_config.py +7 -1
  16. graphiant_sdk/models/mana_v2_ma_csec_configuration.py +150 -0
  17. graphiant_sdk/models/mana_v2_nullable_ma_csec_configuration.py +91 -0
  18. graphiant_sdk/models/mana_v2_nullable_psk_configuration.py +91 -0
  19. graphiant_sdk/models/mana_v2_nullable_sak_configuration.py +91 -0
  20. graphiant_sdk/models/mana_v2_nullable_sla_conformance.py +91 -0
  21. graphiant_sdk/models/mana_v2_psk_configuration.py +99 -0
  22. graphiant_sdk/models/mana_v2_sak_configuration.py +93 -0
  23. graphiant_sdk/models/mana_v2_sla_conformance.py +91 -0
  24. graphiant_sdk/models/v1_auth_login_post_response.py +10 -2
  25. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_prefixes_put_request.py +95 -0
  26. graphiant_sdk/models/v1_extranets_b2b_peering_consumer_id_prefixes_put_response.py +87 -0
  27. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_service_status_put_request.py +89 -0
  28. graphiant_sdk/models/v1_extranets_b2b_peering_match_service_to_customer_service_status_put_response.py +87 -0
  29. graphiant_sdk/models/v2_assurance_create_dnsproxy_entry_post_request.py +91 -0
  30. graphiant_sdk/models/v2_assurance_create_dnsproxy_entry_post_response.py +87 -0
  31. graphiant_sdk/models/v2_assurance_read_dnsproxy_list_get_response.py +95 -0
  32. graphiant_sdk/models/v2_assurance_update_dnsproxy_entry_post_request.py +91 -0
  33. graphiant_sdk/rest.py +7 -2
  34. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/METADATA +5 -3
  35. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/RECORD +56 -20
  36. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/WHEEL +1 -1
  37. test/test_assurance_dns_proxy_entry.py +70 -0
  38. test/test_mana_v2_interface_ma_csec.py +72 -0
  39. test/test_mana_v2_ma_csec_configuration.py +124 -0
  40. test/test_mana_v2_nullable_ma_csec_configuration.py +90 -0
  41. test/test_mana_v2_nullable_psk_configuration.py +58 -0
  42. test/test_mana_v2_nullable_sak_configuration.py +55 -0
  43. test/test_mana_v2_nullable_sla_conformance.py +54 -0
  44. test/test_mana_v2_psk_configuration.py +57 -0
  45. test/test_mana_v2_sak_configuration.py +54 -0
  46. test/test_mana_v2_sla_conformance.py +53 -0
  47. test/test_v1_extranets_b2b_peering_consumer_id_prefixes_put_request.py +60 -0
  48. test/test_v1_extranets_b2b_peering_consumer_id_prefixes_put_response.py +51 -0
  49. test/test_v1_extranets_b2b_peering_match_service_to_customer_service_status_put_request.py +54 -0
  50. test/test_v1_extranets_b2b_peering_match_service_to_customer_service_status_put_response.py +51 -0
  51. test/test_v2_assurance_create_dnsproxy_entry_post_request.py +61 -0
  52. test/test_v2_assurance_create_dnsproxy_entry_post_response.py +51 -0
  53. test/test_v2_assurance_read_dnsproxy_list_get_response.py +63 -0
  54. test/test_v2_assurance_update_dnsproxy_entry_post_request.py +61 -0
  55. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/licenses/LICENSE +0 -0
  56. {graphiant_sdk-25.12.1.dist-info → graphiant_sdk-26.1.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutResponse(BaseModel):
26
+ """
27
+ V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutResponse
28
+ """ # noqa: E501
29
+ status: Optional[StrictStr] = None
30
+ __properties: ClassVar[List[str]] = ["status"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutResponse from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of V1ExtranetsB2bPeeringMatchServiceToCustomerServiceStatusPutResponse from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "status": obj.get("status")
84
+ })
85
+ return _obj
86
+
87
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.assurance_dns_proxy_entry import AssuranceDnsProxyEntry
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V2AssuranceCreateDnsproxyEntryPostRequest(BaseModel):
27
+ """
28
+ V2AssuranceCreateDnsproxyEntryPostRequest
29
+ """ # noqa: E501
30
+ dnsproxy_entry: Optional[AssuranceDnsProxyEntry] = Field(default=None, alias="dnsproxyEntry")
31
+ __properties: ClassVar[List[str]] = ["dnsproxyEntry"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of V2AssuranceCreateDnsproxyEntryPostRequest from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of dnsproxy_entry
73
+ if self.dnsproxy_entry:
74
+ _dict['dnsproxyEntry'] = self.dnsproxy_entry.to_dict()
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of V2AssuranceCreateDnsproxyEntryPostRequest from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "dnsproxyEntry": AssuranceDnsProxyEntry.from_dict(obj["dnsproxyEntry"]) if obj.get("dnsproxyEntry") is not None else None
88
+ })
89
+ return _obj
90
+
91
+
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class V2AssuranceCreateDnsproxyEntryPostResponse(BaseModel):
26
+ """
27
+ V2AssuranceCreateDnsproxyEntryPostResponse
28
+ """ # noqa: E501
29
+ dnsproxy_entry_id: Optional[StrictStr] = Field(default=None, description="dns proxy table entry id (required)", alias="dnsproxyEntryId")
30
+ __properties: ClassVar[List[str]] = ["dnsproxyEntryId"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of V2AssuranceCreateDnsproxyEntryPostResponse from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of V2AssuranceCreateDnsproxyEntryPostResponse from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "dnsproxyEntryId": obj.get("dnsproxyEntryId")
84
+ })
85
+ return _obj
86
+
87
+
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.assurance_dns_proxy_entry import AssuranceDnsProxyEntry
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V2AssuranceReadDnsproxyListGetResponse(BaseModel):
27
+ """
28
+ V2AssuranceReadDnsproxyListGetResponse
29
+ """ # noqa: E501
30
+ dnsproxy_list: Optional[List[AssuranceDnsProxyEntry]] = Field(default=None, alias="dnsproxyList")
31
+ __properties: ClassVar[List[str]] = ["dnsproxyList"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of V2AssuranceReadDnsproxyListGetResponse from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of each item in dnsproxy_list (list)
73
+ _items = []
74
+ if self.dnsproxy_list:
75
+ for _item_dnsproxy_list in self.dnsproxy_list:
76
+ if _item_dnsproxy_list:
77
+ _items.append(_item_dnsproxy_list.to_dict())
78
+ _dict['dnsproxyList'] = _items
79
+ return _dict
80
+
81
+ @classmethod
82
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
83
+ """Create an instance of V2AssuranceReadDnsproxyListGetResponse from a dict"""
84
+ if obj is None:
85
+ return None
86
+
87
+ if not isinstance(obj, dict):
88
+ return cls.model_validate(obj)
89
+
90
+ _obj = cls.model_validate({
91
+ "dnsproxyList": [AssuranceDnsProxyEntry.from_dict(_item) for _item in obj["dnsproxyList"]] if obj.get("dnsproxyList") is not None else None
92
+ })
93
+ return _obj
94
+
95
+
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Graphiant APIs
5
+
6
+ Graphiant API documentation.
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from graphiant_sdk.models.assurance_dns_proxy_entry import AssuranceDnsProxyEntry
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class V2AssuranceUpdateDnsproxyEntryPostRequest(BaseModel):
27
+ """
28
+ V2AssuranceUpdateDnsproxyEntryPostRequest
29
+ """ # noqa: E501
30
+ dnsproxy_entry: Optional[AssuranceDnsProxyEntry] = Field(default=None, alias="dnsproxyEntry")
31
+ __properties: ClassVar[List[str]] = ["dnsproxyEntry"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of V2AssuranceUpdateDnsproxyEntryPostRequest from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # override the default output from pydantic by calling `to_dict()` of dnsproxy_entry
73
+ if self.dnsproxy_entry:
74
+ _dict['dnsproxyEntry'] = self.dnsproxy_entry.to_dict()
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of V2AssuranceUpdateDnsproxyEntryPostRequest from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "dnsproxyEntry": AssuranceDnsProxyEntry.from_dict(obj["dnsproxyEntry"]) if obj.get("dnsproxyEntry") is not None else None
88
+ })
89
+ return _obj
90
+
91
+
graphiant_sdk/rest.py CHANGED
@@ -48,12 +48,17 @@ class RESTResponse(io.IOBase):
48
48
  self.data = self.response.data
49
49
  return self.data
50
50
 
51
+ @property
52
+ def headers(self):
53
+ """Returns a dictionary of response headers."""
54
+ return self.response.headers
55
+
51
56
  def getheaders(self):
52
- """Returns a dictionary of the response headers."""
57
+ """Returns a dictionary of the response headers; use ``headers`` instead."""
53
58
  return self.response.headers
54
59
 
55
60
  def getheader(self, name, default=None):
56
- """Returns a given response header."""
61
+ """Returns a given response header; use ``headers.get()`` instead."""
57
62
  return self.response.headers.get(name, default)
58
63
 
59
64
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphiant_sdk
3
- Version: 25.12.1
3
+ Version: 26.1.1
4
4
  Summary: Python SDK for Graphiant NaaS
5
5
  Home-page: https://www.graphiant.com
6
6
  Author: Graphiant Inc
@@ -47,6 +47,7 @@ Refer [Graphiant Docs](https://docs.graphiant.com) to get started with [Graphian
47
47
  - **Official Documentation**: [Graphiant SDK Python Guide](https://docs.graphiant.com/docs/graphiant-sdk-python) <-> [Graphiant Automation Docs](https://docs.graphiant.com/docs/automation)
48
48
  - **API Reference**: [Graphiant SDK Python API Docs](docs/DefaultApi.md) <-> [Graphiant Portal REST API Guide](https://docs.graphiant.com/docs/graphiant-portal-rest-api)
49
49
  - **Package**: [PyPI package - graphiant-sdk](https://pypi.org/project/graphiant-sdk)
50
+ - **Changelog**: [CHANGELOG.md](CHANGELOG.md) - Detailed release notes and version history
50
51
 
51
52
  ## ✨ Features
52
53
 
@@ -406,12 +407,12 @@ brew install openapi-generator # macOS
406
407
 
407
408
  # Generate SDK
408
409
  openapi-generator generate \
409
- -i graphiant_api_docs_v25.12.1.json \
410
+ -i graphiant_api_docs_v26.1.1.json \
410
411
  -g python \
411
412
  --git-user-id Graphiant-Inc \
412
413
  --git-repo-id graphiant-sdk-python \
413
414
  --package-name graphiant_sdk \
414
- --additional-properties=packageVersion=25.12.1
415
+ --additional-properties=packageVersion=26.1.1
415
416
  ```
416
417
 
417
418
  > **Note**: Latest API documentation can be downloaded from the Graphiant portal under "Support Hub" > "Developer Tools".
@@ -510,6 +511,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
510
511
 
511
512
  - **Official Documentation**: [Graphiant SDK Python Guide](https://docs.graphiant.com/docs/graphiant-sdk-python) <-> [Graphiant Automation Docs](https://docs.graphiant.com/docs/automation)
512
513
  - **API Reference**: [Graphiant SDK Python API Docs](docs/DefaultApi.md) <-> [Graphiant Portal REST API Guide](https://docs.graphiant.com/docs/graphiant-portal-rest-api)
514
+ - **Changelog**: [CHANGELOG.md](CHANGELOG.md) - Detailed release notes and version history
513
515
  - **Issues**: [GitHub Issues](https://github.com/Graphiant-Inc/graphiant-sdk-python/issues)
514
516
  - **Email**: support@graphiant.com
515
517