relaxai 0.0.1__tar.gz → 0.2.0__tar.gz

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.

Potentially problematic release.


This version of relaxai might be problematic. Click here for more details.

Files changed (94) hide show
  1. {relaxai-0.0.1 → relaxai-0.2.0}/.gitignore +0 -1
  2. relaxai-0.2.0/.release-please-manifest.json +3 -0
  3. relaxai-0.2.0/CHANGELOG.md +192 -0
  4. {relaxai-0.0.1 → relaxai-0.2.0}/PKG-INFO +49 -43
  5. {relaxai-0.0.1 → relaxai-0.2.0}/README.md +45 -40
  6. {relaxai-0.0.1 → relaxai-0.2.0}/SECURITY.md +1 -1
  7. relaxai-0.2.0/api.md +62 -0
  8. {relaxai-0.0.1 → relaxai-0.2.0}/pyproject.toml +5 -4
  9. {relaxai-0.0.1 → relaxai-0.2.0}/requirements-dev.lock +3 -3
  10. {relaxai-0.0.1 → relaxai-0.2.0}/requirements.lock +3 -3
  11. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_base_client.py +12 -2
  12. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_client.py +77 -40
  13. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_files.py +4 -4
  14. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_models.py +31 -7
  15. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_version.py +1 -1
  16. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/resources/__init__.py +0 -14
  17. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/resources/chat.py +46 -21
  18. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/resources/embeddings.py +18 -18
  19. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/resources/models.py +57 -57
  20. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/__init__.py +11 -6
  21. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/chat_completion_message.py +29 -3
  22. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/chat_completion_message_param.py +29 -4
  23. relaxai-0.0.1/src/relaxai/types/chat_create_completion_response.py → relaxai-0.2.0/src/relaxai/types/chat_completion_response.py +4 -4
  24. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/chat_create_completion_params.py +62 -10
  25. relaxai-0.0.1/src/relaxai/types/embedding_create_params.py → relaxai-0.2.0/src/relaxai/types/embedding_create_embedding_params.py +2 -2
  26. relaxai-0.0.1/src/relaxai/types/embedding_create_response.py → relaxai-0.2.0/src/relaxai/types/embedding_response.py +4 -4
  27. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/function_definition_param.py +6 -2
  28. relaxai-0.0.1/src/relaxai/types/health_check_response.py → relaxai-0.2.0/src/relaxai/types/health_response.py +2 -2
  29. relaxai-0.0.1/src/relaxai/types/model_list_response.py → relaxai-0.2.0/src/relaxai/types/model_list.py +2 -2
  30. relaxai-0.2.0/src/relaxai/types/shared/__init__.py +5 -0
  31. relaxai-0.2.0/src/relaxai/types/shared/openai_completion_tokens_details.py +15 -0
  32. relaxai-0.2.0/src/relaxai/types/shared/openai_prompt_tokens_details.py +11 -0
  33. relaxai-0.2.0/src/relaxai/types/shared/openai_usage.py +19 -0
  34. relaxai-0.2.0/src/relaxai/types/stream_options_param.py +11 -0
  35. {relaxai-0.0.1 → relaxai-0.2.0}/tests/api_resources/test_chat.py +87 -37
  36. relaxai-0.2.0/tests/api_resources/test_client.py +79 -0
  37. {relaxai-0.0.1 → relaxai-0.2.0}/tests/api_resources/test_embeddings.py +33 -33
  38. {relaxai-0.0.1 → relaxai-0.2.0}/tests/api_resources/test_models.py +73 -73
  39. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_client.py +21 -39
  40. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_models.py +73 -1
  41. relaxai-0.0.1/.release-please-manifest.json +0 -3
  42. relaxai-0.0.1/CHANGELOG.md +0 -10
  43. relaxai-0.0.1/api.md +0 -55
  44. relaxai-0.0.1/src/relaxai/resources/health.py +0 -134
  45. relaxai-0.0.1/src/relaxai/types/usage.py +0 -33
  46. relaxai-0.0.1/tests/api_resources/test_health.py +0 -79
  47. {relaxai-0.0.1 → relaxai-0.2.0}/CONTRIBUTING.md +0 -0
  48. {relaxai-0.0.1 → relaxai-0.2.0}/LICENSE +0 -0
  49. {relaxai-0.0.1 → relaxai-0.2.0}/bin/check-release-environment +0 -0
  50. {relaxai-0.0.1 → relaxai-0.2.0}/bin/publish-pypi +0 -0
  51. {relaxai-0.0.1 → relaxai-0.2.0}/examples/.keep +0 -0
  52. {relaxai-0.0.1 → relaxai-0.2.0}/mypy.ini +0 -0
  53. {relaxai-0.0.1 → relaxai-0.2.0}/noxfile.py +0 -0
  54. {relaxai-0.0.1 → relaxai-0.2.0}/release-please-config.json +0 -0
  55. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/__init__.py +0 -0
  56. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_compat.py +0 -0
  57. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_constants.py +0 -0
  58. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_exceptions.py +0 -0
  59. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_qs.py +0 -0
  60. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_resource.py +0 -0
  61. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_response.py +0 -0
  62. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_streaming.py +0 -0
  63. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_types.py +0 -0
  64. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/__init__.py +0 -0
  65. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_logs.py +0 -0
  66. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_proxy.py +0 -0
  67. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_reflection.py +0 -0
  68. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_resources_proxy.py +0 -0
  69. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_streams.py +0 -0
  70. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_sync.py +0 -0
  71. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_transform.py +0 -0
  72. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_typing.py +0 -0
  73. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/_utils/_utils.py +0 -0
  74. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/lib/.keep +0 -0
  75. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/py.typed +0 -0
  76. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/content_filter_results.py +0 -0
  77. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/function_call.py +0 -0
  78. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/function_call_param.py +0 -0
  79. {relaxai-0.0.1 → relaxai-0.2.0}/src/relaxai/types/model.py +0 -0
  80. {relaxai-0.0.1 → relaxai-0.2.0}/tests/__init__.py +0 -0
  81. {relaxai-0.0.1 → relaxai-0.2.0}/tests/api_resources/__init__.py +0 -0
  82. {relaxai-0.0.1 → relaxai-0.2.0}/tests/conftest.py +0 -0
  83. {relaxai-0.0.1 → relaxai-0.2.0}/tests/sample_file.txt +0 -0
  84. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_deepcopy.py +0 -0
  85. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_extract_files.py +0 -0
  86. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_files.py +0 -0
  87. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_qs.py +0 -0
  88. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_required_args.py +0 -0
  89. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_response.py +0 -0
  90. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_streaming.py +0 -0
  91. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_transform.py +0 -0
  92. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_utils/test_proxy.py +0 -0
  93. {relaxai-0.0.1 → relaxai-0.2.0}/tests/test_utils/test_typing.py +0 -0
  94. {relaxai-0.0.1 → relaxai-0.2.0}/tests/utils.py +0 -0
@@ -1,5 +1,4 @@
1
1
  .prism.log
2
- .vscode
3
2
  _dev
4
3
 
5
4
  __pycache__
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.0"
3
+ }
@@ -0,0 +1,192 @@
1
+ # Changelog
2
+
3
+ ## 0.2.0 (2025-08-26)
4
+
5
+ Full Changelog: [v0.1.0...v0.2.0](https://github.com/relax-ai/python-sdk/compare/v0.1.0...v0.2.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** update via SDK Studio ([b6b872a](https://github.com/relax-ai/python-sdk/commit/b6b872a587317b3beabc763b184efce32540ab99))
10
+ * **api:** update via SDK Studio ([964dabf](https://github.com/relax-ai/python-sdk/commit/964dabfcf0d2f2f9ad50edfa2d3e10f0eb734ffa))
11
+ * **api:** update via SDK Studio ([4a14a81](https://github.com/relax-ai/python-sdk/commit/4a14a8195f4881739c7e6cc12a2fb2e7606710f0))
12
+ * **api:** update via SDK Studio ([51c08b4](https://github.com/relax-ai/python-sdk/commit/51c08b4f2d5e5126d8dc8c2eec3ef8147b30fef6))
13
+ * **api:** update via SDK Studio ([d06b5d0](https://github.com/relax-ai/python-sdk/commit/d06b5d097de5a937d0d2092fbbc2a4bed4bab05e))
14
+ * **api:** update via SDK Studio ([2d5a57d](https://github.com/relax-ai/python-sdk/commit/2d5a57dbb738972bce08a682c4fc2e98af372309))
15
+ * **api:** update via SDK Studio ([2f09580](https://github.com/relax-ai/python-sdk/commit/2f0958064f86668d55ed4dea2c6a21ecaf6b791c))
16
+ * **api:** update via SDK Studio ([6430e6f](https://github.com/relax-ai/python-sdk/commit/6430e6f00de2de2b0c95277d456e7937226d6e4f))
17
+ * **api:** update via SDK Studio ([11aae68](https://github.com/relax-ai/python-sdk/commit/11aae68a730b918abf5d9c8f0991ca923d15a5d7))
18
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
19
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
20
+ * **client:** support file upload requests ([e70c0ec](https://github.com/relax-ai/python-sdk/commit/e70c0ecbd97586746fcaa4618f8c7c254fe5edbb))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
26
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
27
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
28
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
29
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
30
+
31
+
32
+ ### Chores
33
+
34
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
35
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
36
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
37
+ * **internal:** change ci workflow machines ([9674302](https://github.com/relax-ai/python-sdk/commit/96743023d78761ffb5f52f6d50a8ae66ca1df896))
38
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
39
+ * **internal:** fix ruff target version ([98ebba8](https://github.com/relax-ai/python-sdk/commit/98ebba829120bb69d9c97a8c434748ee216427c4))
40
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
41
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
42
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
43
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
44
+ * sync repo ([0bb5fc8](https://github.com/relax-ai/python-sdk/commit/0bb5fc82969d958f999c864a47af4b95be8f41cf))
45
+ * update @stainless-api/prism-cli to v5.15.0 ([5e5155e](https://github.com/relax-ai/python-sdk/commit/5e5155e471ec22bd51e51c08272fef2281e9c523))
46
+ * update github action ([fa9264e](https://github.com/relax-ai/python-sdk/commit/fa9264e1d1436107e76924ba4e233268f53e8751))
47
+ * update SDK settings ([682ca85](https://github.com/relax-ai/python-sdk/commit/682ca85bbaf7b9ed51f01f9c2090db8dc7890ce3))
48
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
49
+ * update SDK settings ([fc9f194](https://github.com/relax-ai/python-sdk/commit/fc9f194e0d241fb70577baba8285b31f76677d19))
50
+
51
+ ## 0.18.0 (2025-08-26)
52
+
53
+ Full Changelog: [v0.17.0...v0.18.0](https://github.com/relax-ai/python-sdk/compare/v0.17.0...v0.18.0)
54
+
55
+ ### Features
56
+
57
+ * **api:** update via SDK Studio ([84e3923](https://github.com/relax-ai/python-sdk/commit/84e39231319fec115847186246f58c9d95cc6095))
58
+
59
+ ## 0.17.0 (2025-08-26)
60
+
61
+ Full Changelog: [v0.16.0...v0.17.0](https://github.com/relax-ai/python-sdk/compare/v0.16.0...v0.17.0)
62
+
63
+ ### Features
64
+
65
+ * **api:** update via SDK Studio ([e8708e9](https://github.com/relax-ai/python-sdk/commit/e8708e99ebb76318a9009606471bfbfb8f762ac4))
66
+
67
+ ## 0.16.0 (2025-08-26)
68
+
69
+ Full Changelog: [v0.15.0...v0.16.0](https://github.com/relax-ai/python-sdk/compare/v0.15.0...v0.16.0)
70
+
71
+ ### Features
72
+
73
+ * **api:** update via SDK Studio ([cdf054a](https://github.com/relax-ai/python-sdk/commit/cdf054a861f447ef6cdb26af3b93d99e34aac307))
74
+ * **api:** update via SDK Studio ([f6ed73b](https://github.com/relax-ai/python-sdk/commit/f6ed73b46ba3716a4d7fda707d9dcc6acb1e962b))
75
+
76
+ ## 0.15.0 (2025-08-26)
77
+
78
+ Full Changelog: [v0.14.0...v0.15.0](https://github.com/relax-ai/python-sdk/compare/v0.14.0...v0.15.0)
79
+
80
+ ### Features
81
+
82
+ * **api:** update via SDK Studio ([978b8c1](https://github.com/relax-ai/python-sdk/commit/978b8c14f5b522c5c2301ffb7b13ead2640773f1))
83
+
84
+ ## 0.14.0 (2025-08-26)
85
+
86
+ Full Changelog: [v0.13.0...v0.14.0](https://github.com/relax-ai/python-sdk/compare/v0.13.0...v0.14.0)
87
+
88
+ ### Features
89
+
90
+ * **api:** update via SDK Studio ([8908751](https://github.com/relax-ai/python-sdk/commit/8908751c9870e75139a00ce8a49578450b805941))
91
+ * **api:** update via SDK Studio ([14ec145](https://github.com/relax-ai/python-sdk/commit/14ec145db8a0ab1360fb3a085ca489d9ca8afeb1))
92
+
93
+ ## 0.13.0 (2025-08-26)
94
+
95
+ Full Changelog: [v0.12.0...v0.13.0](https://github.com/relax-ai/python-sdk/compare/v0.12.0...v0.13.0)
96
+
97
+ ### Features
98
+
99
+ * **api:** update via SDK Studio ([92fe5ae](https://github.com/relax-ai/python-sdk/commit/92fe5ae1ced1942f524f4233f7be7413b044b264))
100
+
101
+
102
+ ### Chores
103
+
104
+ * **internal:** change ci workflow machines ([4f8c965](https://github.com/relax-ai/python-sdk/commit/4f8c9652a55ebefcd7a7a034a2eebeedba13f2cb))
105
+ * update github action ([82bdf02](https://github.com/relax-ai/python-sdk/commit/82bdf0209421625e4d4d01b371784b1e98c97d62))
106
+
107
+ ## 0.12.0 (2025-08-21)
108
+
109
+ Full Changelog: [v0.11.0...v0.12.0](https://github.com/relax-ai/python-sdk/compare/v0.11.0...v0.12.0)
110
+
111
+ ### Features
112
+
113
+ * **api:** update via SDK Studio ([11aae68](https://github.com/relax-ai/python-sdk/commit/11aae68a730b918abf5d9c8f0991ca923d15a5d7))
114
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
115
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
116
+ * **client:** support file upload requests ([e70c0ec](https://github.com/relax-ai/python-sdk/commit/e70c0ecbd97586746fcaa4618f8c7c254fe5edbb))
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
122
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
123
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
124
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
125
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
126
+
127
+
128
+ ### Chores
129
+
130
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
131
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
132
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
133
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
134
+ * **internal:** fix ruff target version ([98ebba8](https://github.com/relax-ai/python-sdk/commit/98ebba829120bb69d9c97a8c434748ee216427c4))
135
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
136
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
137
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
138
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
139
+ * sync repo ([0bb5fc8](https://github.com/relax-ai/python-sdk/commit/0bb5fc82969d958f999c864a47af4b95be8f41cf))
140
+ * update @stainless-api/prism-cli to v5.15.0 ([5e5155e](https://github.com/relax-ai/python-sdk/commit/5e5155e471ec22bd51e51c08272fef2281e9c523))
141
+ * update SDK settings ([682ca85](https://github.com/relax-ai/python-sdk/commit/682ca85bbaf7b9ed51f01f9c2090db8dc7890ce3))
142
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
143
+ * update SDK settings ([fc9f194](https://github.com/relax-ai/python-sdk/commit/fc9f194e0d241fb70577baba8285b31f76677d19))
144
+
145
+ ## 0.11.0 (2025-08-20)
146
+
147
+ Full Changelog: [v0.1.0...v0.11.0](https://github.com/bennorris123/python-sdk-test/compare/v0.1.0...v0.11.0)
148
+
149
+ ### Chores
150
+
151
+ * sync repo ([8b4f938](https://github.com/bennorris123/python-sdk-test/commit/8b4f93863d6771931ceaa4441a43e4fd45300804))
152
+ * update SDK settings ([5e557e4](https://github.com/bennorris123/python-sdk-test/commit/5e557e44d1f50b8f26e94253d9ab6e0bf2941689))
153
+ * update SDK settings ([1d0944d](https://github.com/bennorris123/python-sdk-test/commit/1d0944db459fd31e320413b82ad110dcc7c52bd3))
154
+
155
+ ## 0.1.0 (2025-07-25)
156
+
157
+ Full Changelog: [v0.0.1...v0.1.0](https://github.com/relax-ai/python-sdk/compare/v0.0.1...v0.1.0)
158
+
159
+ ### Features
160
+
161
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
162
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
163
+
164
+
165
+ ### Bug Fixes
166
+
167
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
168
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
169
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
170
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
171
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
172
+
173
+
174
+ ### Chores
175
+
176
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
177
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
178
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
179
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
180
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
181
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
182
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
183
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
184
+
185
+ ## 0.0.1 (2025-06-27)
186
+
187
+ Full Changelog: [v0.0.1-alpha.0...v0.0.1](https://github.com/relax-ai/python-sdk/compare/v0.0.1-alpha.0...v0.0.1)
188
+
189
+ ### Chores
190
+
191
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
192
+ * update SDK settings ([fc9f194](https://github.com/relax-ai/python-sdk/commit/fc9f194e0d241fb70577baba8285b31f76677d19))
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: relaxai
3
- Version: 0.0.1
3
+ Version: 0.2.0
4
4
  Summary: The official Python library for the relaxai API
5
5
  Project-URL: Homepage, https://github.com/relax-ai/python-sdk
6
6
  Project-URL: Repository, https://github.com/relax-ai/python-sdk
7
- Author-email: Relaxai <hello@drelax.ai>
7
+ Author-email: Relaxai <hello@relax.ai>
8
8
  License: Apache-2.0
9
9
  Classifier: Intended Audience :: Developers
10
10
  Classifier: License :: OSI Approved :: Apache Software License
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.8
@@ -29,12 +30,13 @@ Requires-Dist: sniffio
29
30
  Requires-Dist: typing-extensions<5,>=4.10
30
31
  Provides-Extra: aiohttp
31
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
32
- Requires-Dist: httpx-aiohttp>=0.1.6; extra == 'aiohttp'
33
+ Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
33
34
  Description-Content-Type: text/markdown
34
35
 
35
36
  # Relaxai Python API library
36
37
 
37
- [![PyPI version](https://github.com/relax-ai/python-sdk/tree/main/<https://img.shields.io/pypi/v/relaxai.svg?label=pypi%20(stable)>)](https://pypi.org/project/relaxai/)
38
+ <!-- prettier-ignore -->
39
+ [![PyPI version](https://img.shields.io/pypi/v/relaxai.svg?label=pypi%20(stable))](https://pypi.org/project/relaxai/)
38
40
 
39
41
  The Relaxai Python library provides convenient access to the Relaxai REST API from any Python 3.8+
40
42
  application. The library includes type definitions for all request params and response fields,
@@ -65,16 +67,17 @@ client = Relaxai(
65
67
  api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
66
68
  )
67
69
 
68
- response = client.chat.create_completion(
70
+ chat_completion_response = client.chat.create_completion(
69
71
  messages=[
70
72
  {
71
- "multi_content": [{}],
72
- "role": "role",
73
+ "role": "user",
74
+ "content": "Hello, how are you?",
73
75
  }
74
76
  ],
75
- model="model",
77
+ model="Llama-4-Maverick-17B-128E",
78
+ max_tokens=100,
76
79
  )
77
- print(response.id)
80
+ print(chat_completion_response.choices)
78
81
  ```
79
82
 
80
83
  While you can provide an `api_key` keyword argument,
@@ -97,16 +100,17 @@ client = AsyncRelaxai(
97
100
 
98
101
 
99
102
  async def main() -> None:
100
- response = await client.chat.create_completion(
103
+ chat_completion_response = await client.chat.create_completion(
101
104
  messages=[
102
105
  {
103
- "multi_content": [{}],
104
- "role": "role",
106
+ "role": "user",
107
+ "content": "Hello, how are you?",
105
108
  }
106
109
  ],
107
- model="model",
110
+ model="Llama-4-Maverick-17B-128E",
111
+ max_tokens=100,
108
112
  )
109
- print(response.id)
113
+ print(chat_completion_response.choices)
110
114
 
111
115
 
112
116
  asyncio.run(main())
@@ -128,7 +132,6 @@ pip install relaxai[aiohttp]
128
132
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
129
133
 
130
134
  ```python
131
- import os
132
135
  import asyncio
133
136
  from relaxai import DefaultAioHttpClient
134
137
  from relaxai import AsyncRelaxai
@@ -136,19 +139,20 @@ from relaxai import AsyncRelaxai
136
139
 
137
140
  async def main() -> None:
138
141
  async with AsyncRelaxai(
139
- api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
142
+ api_key="My API Key",
140
143
  http_client=DefaultAioHttpClient(),
141
144
  ) as client:
142
- response = await client.chat.create_completion(
145
+ chat_completion_response = await client.chat.create_completion(
143
146
  messages=[
144
147
  {
145
- "multi_content": [{}],
146
- "role": "role",
148
+ "role": "user",
149
+ "content": "Hello, how are you?",
147
150
  }
148
151
  ],
149
- model="model",
152
+ model="Llama-4-Maverick-17B-128E",
153
+ max_tokens=100,
150
154
  )
151
- print(response.id)
155
+ print(chat_completion_response.choices)
152
156
 
153
157
 
154
158
  asyncio.run(main())
@@ -172,20 +176,17 @@ from relaxai import Relaxai
172
176
 
173
177
  client = Relaxai()
174
178
 
175
- response = client.chat.create_completion(
179
+ chat_completion_response = client.chat.create_completion(
176
180
  messages=[
177
181
  {
178
- "multi_content": [{}],
182
+ "content": "content",
179
183
  "role": "role",
180
184
  }
181
185
  ],
182
186
  model="model",
183
- prediction={
184
- "content": "content",
185
- "type": "type",
186
- },
187
+ chat_template_kwargs={},
187
188
  )
188
- print(response.prediction)
189
+ print(chat_completion_response.chat_template_kwargs)
189
190
  ```
190
191
 
191
192
  ## Handling errors
@@ -207,11 +208,12 @@ try:
207
208
  client.chat.create_completion(
208
209
  messages=[
209
210
  {
210
- "multi_content": [{}],
211
- "role": "role",
211
+ "role": "user",
212
+ "content": "Hello, how are you?",
212
213
  }
213
214
  ],
214
- model="model",
215
+ model="Llama-4-Maverick-17B-128E",
216
+ max_tokens=100,
215
217
  )
216
218
  except relaxai.APIConnectionError as e:
217
219
  print("The server could not be reached")
@@ -258,11 +260,12 @@ client = Relaxai(
258
260
  client.with_options(max_retries=5).chat.create_completion(
259
261
  messages=[
260
262
  {
261
- "multi_content": [{}],
262
- "role": "role",
263
+ "role": "user",
264
+ "content": "Hello, how are you?",
263
265
  }
264
266
  ],
265
- model="model",
267
+ model="Llama-4-Maverick-17B-128E",
268
+ max_tokens=100,
266
269
  )
267
270
  ```
268
271
 
@@ -289,11 +292,12 @@ client = Relaxai(
289
292
  client.with_options(timeout=5.0).chat.create_completion(
290
293
  messages=[
291
294
  {
292
- "multi_content": [{}],
293
- "role": "role",
295
+ "role": "user",
296
+ "content": "Hello, how are you?",
294
297
  }
295
298
  ],
296
- model="model",
299
+ model="Llama-4-Maverick-17B-128E",
300
+ max_tokens=100,
297
301
  )
298
302
  ```
299
303
 
@@ -337,10 +341,11 @@ from relaxai import Relaxai
337
341
  client = Relaxai()
338
342
  response = client.chat.with_raw_response.create_completion(
339
343
  messages=[{
340
- "multi_content": [{}],
341
- "role": "role",
344
+ "role": "user",
345
+ "content": "Hello, how are you?",
342
346
  }],
343
- model="model",
347
+ model="Llama-4-Maverick-17B-128E",
348
+ max_tokens=100,
344
349
  )
345
350
  print(response.headers.get('X-My-Header'))
346
351
 
@@ -362,11 +367,12 @@ To stream the response body, use `.with_streaming_response` instead, which requi
362
367
  with client.chat.with_streaming_response.create_completion(
363
368
  messages=[
364
369
  {
365
- "multi_content": [{}],
366
- "role": "role",
370
+ "role": "user",
371
+ "content": "Hello, how are you?",
367
372
  }
368
373
  ],
369
- model="model",
374
+ model="Llama-4-Maverick-17B-128E",
375
+ max_tokens=100,
370
376
  ) as response:
371
377
  print(response.headers.get("X-My-Header"))
372
378
 
@@ -1,6 +1,7 @@
1
1
  # Relaxai Python API library
2
2
 
3
- [![PyPI version](<https://img.shields.io/pypi/v/relaxai.svg?label=pypi%20(stable)>)](https://pypi.org/project/relaxai/)
3
+ <!-- prettier-ignore -->
4
+ [![PyPI version](https://img.shields.io/pypi/v/relaxai.svg?label=pypi%20(stable))](https://pypi.org/project/relaxai/)
4
5
 
5
6
  The Relaxai Python library provides convenient access to the Relaxai REST API from any Python 3.8+
6
7
  application. The library includes type definitions for all request params and response fields,
@@ -31,16 +32,17 @@ client = Relaxai(
31
32
  api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
32
33
  )
33
34
 
34
- response = client.chat.create_completion(
35
+ chat_completion_response = client.chat.create_completion(
35
36
  messages=[
36
37
  {
37
- "multi_content": [{}],
38
- "role": "role",
38
+ "role": "user",
39
+ "content": "Hello, how are you?",
39
40
  }
40
41
  ],
41
- model="model",
42
+ model="Llama-4-Maverick-17B-128E",
43
+ max_tokens=100,
42
44
  )
43
- print(response.id)
45
+ print(chat_completion_response.choices)
44
46
  ```
45
47
 
46
48
  While you can provide an `api_key` keyword argument,
@@ -63,16 +65,17 @@ client = AsyncRelaxai(
63
65
 
64
66
 
65
67
  async def main() -> None:
66
- response = await client.chat.create_completion(
68
+ chat_completion_response = await client.chat.create_completion(
67
69
  messages=[
68
70
  {
69
- "multi_content": [{}],
70
- "role": "role",
71
+ "role": "user",
72
+ "content": "Hello, how are you?",
71
73
  }
72
74
  ],
73
- model="model",
75
+ model="Llama-4-Maverick-17B-128E",
76
+ max_tokens=100,
74
77
  )
75
- print(response.id)
78
+ print(chat_completion_response.choices)
76
79
 
77
80
 
78
81
  asyncio.run(main())
@@ -94,7 +97,6 @@ pip install relaxai[aiohttp]
94
97
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
95
98
 
96
99
  ```python
97
- import os
98
100
  import asyncio
99
101
  from relaxai import DefaultAioHttpClient
100
102
  from relaxai import AsyncRelaxai
@@ -102,19 +104,20 @@ from relaxai import AsyncRelaxai
102
104
 
103
105
  async def main() -> None:
104
106
  async with AsyncRelaxai(
105
- api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
107
+ api_key="My API Key",
106
108
  http_client=DefaultAioHttpClient(),
107
109
  ) as client:
108
- response = await client.chat.create_completion(
110
+ chat_completion_response = await client.chat.create_completion(
109
111
  messages=[
110
112
  {
111
- "multi_content": [{}],
112
- "role": "role",
113
+ "role": "user",
114
+ "content": "Hello, how are you?",
113
115
  }
114
116
  ],
115
- model="model",
117
+ model="Llama-4-Maverick-17B-128E",
118
+ max_tokens=100,
116
119
  )
117
- print(response.id)
120
+ print(chat_completion_response.choices)
118
121
 
119
122
 
120
123
  asyncio.run(main())
@@ -138,20 +141,17 @@ from relaxai import Relaxai
138
141
 
139
142
  client = Relaxai()
140
143
 
141
- response = client.chat.create_completion(
144
+ chat_completion_response = client.chat.create_completion(
142
145
  messages=[
143
146
  {
144
- "multi_content": [{}],
147
+ "content": "content",
145
148
  "role": "role",
146
149
  }
147
150
  ],
148
151
  model="model",
149
- prediction={
150
- "content": "content",
151
- "type": "type",
152
- },
152
+ chat_template_kwargs={},
153
153
  )
154
- print(response.prediction)
154
+ print(chat_completion_response.chat_template_kwargs)
155
155
  ```
156
156
 
157
157
  ## Handling errors
@@ -173,11 +173,12 @@ try:
173
173
  client.chat.create_completion(
174
174
  messages=[
175
175
  {
176
- "multi_content": [{}],
177
- "role": "role",
176
+ "role": "user",
177
+ "content": "Hello, how are you?",
178
178
  }
179
179
  ],
180
- model="model",
180
+ model="Llama-4-Maverick-17B-128E",
181
+ max_tokens=100,
181
182
  )
182
183
  except relaxai.APIConnectionError as e:
183
184
  print("The server could not be reached")
@@ -224,11 +225,12 @@ client = Relaxai(
224
225
  client.with_options(max_retries=5).chat.create_completion(
225
226
  messages=[
226
227
  {
227
- "multi_content": [{}],
228
- "role": "role",
228
+ "role": "user",
229
+ "content": "Hello, how are you?",
229
230
  }
230
231
  ],
231
- model="model",
232
+ model="Llama-4-Maverick-17B-128E",
233
+ max_tokens=100,
232
234
  )
233
235
  ```
234
236
 
@@ -255,11 +257,12 @@ client = Relaxai(
255
257
  client.with_options(timeout=5.0).chat.create_completion(
256
258
  messages=[
257
259
  {
258
- "multi_content": [{}],
259
- "role": "role",
260
+ "role": "user",
261
+ "content": "Hello, how are you?",
260
262
  }
261
263
  ],
262
- model="model",
264
+ model="Llama-4-Maverick-17B-128E",
265
+ max_tokens=100,
263
266
  )
264
267
  ```
265
268
 
@@ -303,10 +306,11 @@ from relaxai import Relaxai
303
306
  client = Relaxai()
304
307
  response = client.chat.with_raw_response.create_completion(
305
308
  messages=[{
306
- "multi_content": [{}],
307
- "role": "role",
309
+ "role": "user",
310
+ "content": "Hello, how are you?",
308
311
  }],
309
- model="model",
312
+ model="Llama-4-Maverick-17B-128E",
313
+ max_tokens=100,
310
314
  )
311
315
  print(response.headers.get('X-My-Header'))
312
316
 
@@ -328,11 +332,12 @@ To stream the response body, use `.with_streaming_response` instead, which requi
328
332
  with client.chat.with_streaming_response.create_completion(
329
333
  messages=[
330
334
  {
331
- "multi_content": [{}],
332
- "role": "role",
335
+ "role": "user",
336
+ "content": "Hello, how are you?",
333
337
  }
334
338
  ],
335
- model="model",
339
+ model="Llama-4-Maverick-17B-128E",
340
+ max_tokens=100,
336
341
  ) as response:
337
342
  print(response.headers.get("X-My-Header"))
338
343
 
@@ -20,7 +20,7 @@ or products provided by Relaxai, please follow the respective company's security
20
20
 
21
21
  ### Relaxai Terms and Policies
22
22
 
23
- Please contact hello@drelax.ai for any questions or concerns regarding the security of our services.
23
+ Please contact hello@relax.ai for any questions or concerns regarding the security of our services.
24
24
 
25
25
  ---
26
26