relaxai 0.1.0__tar.gz → 0.2.1__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.2.1/.release-please-manifest.json +3 -0
  2. relaxai-0.2.1/CHANGELOG.md +200 -0
  3. {relaxai-0.1.0 → relaxai-0.2.1}/PKG-INFO +44 -39
  4. {relaxai-0.1.0 → relaxai-0.2.1}/README.md +42 -37
  5. {relaxai-0.1.0 → relaxai-0.2.1}/SECURITY.md +1 -1
  6. relaxai-0.2.1/api.md +62 -0
  7. {relaxai-0.1.0 → relaxai-0.2.1}/pyproject.toml +3 -3
  8. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_base_client.py +4 -1
  9. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_client.py +77 -40
  10. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_files.py +4 -4
  11. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_models.py +1 -1
  12. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_version.py +1 -1
  13. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/resources/__init__.py +0 -14
  14. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/resources/chat.py +46 -21
  15. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/resources/embeddings.py +18 -18
  16. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/resources/models.py +57 -57
  17. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/__init__.py +11 -6
  18. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/chat_completion_message.py +29 -3
  19. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/chat_completion_message_param.py +29 -4
  20. relaxai-0.1.0/src/relaxai/types/chat_create_completion_response.py → relaxai-0.2.1/src/relaxai/types/chat_completion_response.py +4 -4
  21. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/chat_create_completion_params.py +62 -10
  22. relaxai-0.1.0/src/relaxai/types/embedding_create_params.py → relaxai-0.2.1/src/relaxai/types/embedding_create_embedding_params.py +2 -2
  23. relaxai-0.1.0/src/relaxai/types/embedding_create_response.py → relaxai-0.2.1/src/relaxai/types/embedding_response.py +4 -4
  24. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/function_definition_param.py +6 -2
  25. relaxai-0.1.0/src/relaxai/types/health_check_response.py → relaxai-0.2.1/src/relaxai/types/health_response.py +2 -2
  26. relaxai-0.1.0/src/relaxai/types/model_list_response.py → relaxai-0.2.1/src/relaxai/types/model_list.py +2 -2
  27. relaxai-0.2.1/src/relaxai/types/shared/__init__.py +5 -0
  28. relaxai-0.2.1/src/relaxai/types/shared/openai_completion_tokens_details.py +15 -0
  29. relaxai-0.2.1/src/relaxai/types/shared/openai_prompt_tokens_details.py +11 -0
  30. relaxai-0.2.1/src/relaxai/types/shared/openai_usage.py +19 -0
  31. relaxai-0.2.1/src/relaxai/types/stream_options_param.py +11 -0
  32. {relaxai-0.1.0 → relaxai-0.2.1}/tests/api_resources/test_chat.py +87 -37
  33. relaxai-0.2.1/tests/api_resources/test_client.py +79 -0
  34. {relaxai-0.1.0 → relaxai-0.2.1}/tests/api_resources/test_embeddings.py +33 -33
  35. {relaxai-0.1.0 → relaxai-0.2.1}/tests/api_resources/test_models.py +73 -73
  36. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_client.py +19 -37
  37. relaxai-0.1.0/.release-please-manifest.json +0 -3
  38. relaxai-0.1.0/CHANGELOG.md +0 -40
  39. relaxai-0.1.0/api.md +0 -55
  40. relaxai-0.1.0/src/relaxai/resources/health.py +0 -134
  41. relaxai-0.1.0/src/relaxai/types/usage.py +0 -33
  42. relaxai-0.1.0/tests/api_resources/test_health.py +0 -79
  43. {relaxai-0.1.0 → relaxai-0.2.1}/.gitignore +0 -0
  44. {relaxai-0.1.0 → relaxai-0.2.1}/CONTRIBUTING.md +0 -0
  45. {relaxai-0.1.0 → relaxai-0.2.1}/LICENSE +0 -0
  46. {relaxai-0.1.0 → relaxai-0.2.1}/bin/check-release-environment +0 -0
  47. {relaxai-0.1.0 → relaxai-0.2.1}/bin/publish-pypi +0 -0
  48. {relaxai-0.1.0 → relaxai-0.2.1}/examples/.keep +0 -0
  49. {relaxai-0.1.0 → relaxai-0.2.1}/mypy.ini +0 -0
  50. {relaxai-0.1.0 → relaxai-0.2.1}/noxfile.py +0 -0
  51. {relaxai-0.1.0 → relaxai-0.2.1}/release-please-config.json +0 -0
  52. {relaxai-0.1.0 → relaxai-0.2.1}/requirements-dev.lock +0 -0
  53. {relaxai-0.1.0 → relaxai-0.2.1}/requirements.lock +0 -0
  54. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/__init__.py +0 -0
  55. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_compat.py +0 -0
  56. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_constants.py +0 -0
  57. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_exceptions.py +0 -0
  58. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_qs.py +0 -0
  59. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_resource.py +0 -0
  60. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_response.py +0 -0
  61. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_streaming.py +0 -0
  62. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_types.py +0 -0
  63. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/__init__.py +0 -0
  64. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_logs.py +0 -0
  65. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_proxy.py +0 -0
  66. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_reflection.py +0 -0
  67. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_resources_proxy.py +0 -0
  68. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_streams.py +0 -0
  69. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_sync.py +0 -0
  70. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_transform.py +0 -0
  71. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_typing.py +0 -0
  72. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/_utils/_utils.py +0 -0
  73. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/lib/.keep +0 -0
  74. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/py.typed +0 -0
  75. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/content_filter_results.py +0 -0
  76. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/function_call.py +0 -0
  77. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/function_call_param.py +0 -0
  78. {relaxai-0.1.0 → relaxai-0.2.1}/src/relaxai/types/model.py +0 -0
  79. {relaxai-0.1.0 → relaxai-0.2.1}/tests/__init__.py +0 -0
  80. {relaxai-0.1.0 → relaxai-0.2.1}/tests/api_resources/__init__.py +0 -0
  81. {relaxai-0.1.0 → relaxai-0.2.1}/tests/conftest.py +0 -0
  82. {relaxai-0.1.0 → relaxai-0.2.1}/tests/sample_file.txt +0 -0
  83. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_deepcopy.py +0 -0
  84. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_extract_files.py +0 -0
  85. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_files.py +0 -0
  86. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_models.py +0 -0
  87. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_qs.py +0 -0
  88. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_required_args.py +0 -0
  89. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_response.py +0 -0
  90. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_streaming.py +0 -0
  91. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_transform.py +0 -0
  92. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_utils/test_proxy.py +0 -0
  93. {relaxai-0.1.0 → relaxai-0.2.1}/tests/test_utils/test_typing.py +0 -0
  94. {relaxai-0.1.0 → relaxai-0.2.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.1"
3
+ }
@@ -0,0 +1,200 @@
1
+ # Changelog
2
+
3
+ ## 0.2.1 (2025-08-27)
4
+
5
+ Full Changelog: [v0.2.0...v0.2.1](https://github.com/relax-ai/python-sdk/compare/v0.2.0...v0.2.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * avoid newer type syntax ([865829c](https://github.com/relax-ai/python-sdk/commit/865829ccb7f5e55542e935ff364f25481a57f27b))
10
+
11
+ ## 0.2.0 (2025-08-26)
12
+
13
+ Full Changelog: [v0.1.0...v0.2.0](https://github.com/relax-ai/python-sdk/compare/v0.1.0...v0.2.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** update via SDK Studio ([b6b872a](https://github.com/relax-ai/python-sdk/commit/b6b872a587317b3beabc763b184efce32540ab99))
18
+ * **api:** update via SDK Studio ([964dabf](https://github.com/relax-ai/python-sdk/commit/964dabfcf0d2f2f9ad50edfa2d3e10f0eb734ffa))
19
+ * **api:** update via SDK Studio ([4a14a81](https://github.com/relax-ai/python-sdk/commit/4a14a8195f4881739c7e6cc12a2fb2e7606710f0))
20
+ * **api:** update via SDK Studio ([51c08b4](https://github.com/relax-ai/python-sdk/commit/51c08b4f2d5e5126d8dc8c2eec3ef8147b30fef6))
21
+ * **api:** update via SDK Studio ([d06b5d0](https://github.com/relax-ai/python-sdk/commit/d06b5d097de5a937d0d2092fbbc2a4bed4bab05e))
22
+ * **api:** update via SDK Studio ([2d5a57d](https://github.com/relax-ai/python-sdk/commit/2d5a57dbb738972bce08a682c4fc2e98af372309))
23
+ * **api:** update via SDK Studio ([2f09580](https://github.com/relax-ai/python-sdk/commit/2f0958064f86668d55ed4dea2c6a21ecaf6b791c))
24
+ * **api:** update via SDK Studio ([6430e6f](https://github.com/relax-ai/python-sdk/commit/6430e6f00de2de2b0c95277d456e7937226d6e4f))
25
+ * **api:** update via SDK Studio ([11aae68](https://github.com/relax-ai/python-sdk/commit/11aae68a730b918abf5d9c8f0991ca923d15a5d7))
26
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
27
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
28
+ * **client:** support file upload requests ([e70c0ec](https://github.com/relax-ai/python-sdk/commit/e70c0ecbd97586746fcaa4618f8c7c254fe5edbb))
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
34
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
35
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
36
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
37
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
38
+
39
+
40
+ ### Chores
41
+
42
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
43
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
44
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
45
+ * **internal:** change ci workflow machines ([9674302](https://github.com/relax-ai/python-sdk/commit/96743023d78761ffb5f52f6d50a8ae66ca1df896))
46
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
47
+ * **internal:** fix ruff target version ([98ebba8](https://github.com/relax-ai/python-sdk/commit/98ebba829120bb69d9c97a8c434748ee216427c4))
48
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
49
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
50
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
51
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
52
+ * sync repo ([0bb5fc8](https://github.com/relax-ai/python-sdk/commit/0bb5fc82969d958f999c864a47af4b95be8f41cf))
53
+ * update @stainless-api/prism-cli to v5.15.0 ([5e5155e](https://github.com/relax-ai/python-sdk/commit/5e5155e471ec22bd51e51c08272fef2281e9c523))
54
+ * update github action ([fa9264e](https://github.com/relax-ai/python-sdk/commit/fa9264e1d1436107e76924ba4e233268f53e8751))
55
+ * update SDK settings ([682ca85](https://github.com/relax-ai/python-sdk/commit/682ca85bbaf7b9ed51f01f9c2090db8dc7890ce3))
56
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
57
+ * update SDK settings ([fc9f194](https://github.com/relax-ai/python-sdk/commit/fc9f194e0d241fb70577baba8285b31f76677d19))
58
+
59
+ ## 0.18.0 (2025-08-26)
60
+
61
+ Full Changelog: [v0.17.0...v0.18.0](https://github.com/relax-ai/python-sdk/compare/v0.17.0...v0.18.0)
62
+
63
+ ### Features
64
+
65
+ * **api:** update via SDK Studio ([84e3923](https://github.com/relax-ai/python-sdk/commit/84e39231319fec115847186246f58c9d95cc6095))
66
+
67
+ ## 0.17.0 (2025-08-26)
68
+
69
+ Full Changelog: [v0.16.0...v0.17.0](https://github.com/relax-ai/python-sdk/compare/v0.16.0...v0.17.0)
70
+
71
+ ### Features
72
+
73
+ * **api:** update via SDK Studio ([e8708e9](https://github.com/relax-ai/python-sdk/commit/e8708e99ebb76318a9009606471bfbfb8f762ac4))
74
+
75
+ ## 0.16.0 (2025-08-26)
76
+
77
+ Full Changelog: [v0.15.0...v0.16.0](https://github.com/relax-ai/python-sdk/compare/v0.15.0...v0.16.0)
78
+
79
+ ### Features
80
+
81
+ * **api:** update via SDK Studio ([cdf054a](https://github.com/relax-ai/python-sdk/commit/cdf054a861f447ef6cdb26af3b93d99e34aac307))
82
+ * **api:** update via SDK Studio ([f6ed73b](https://github.com/relax-ai/python-sdk/commit/f6ed73b46ba3716a4d7fda707d9dcc6acb1e962b))
83
+
84
+ ## 0.15.0 (2025-08-26)
85
+
86
+ Full Changelog: [v0.14.0...v0.15.0](https://github.com/relax-ai/python-sdk/compare/v0.14.0...v0.15.0)
87
+
88
+ ### Features
89
+
90
+ * **api:** update via SDK Studio ([978b8c1](https://github.com/relax-ai/python-sdk/commit/978b8c14f5b522c5c2301ffb7b13ead2640773f1))
91
+
92
+ ## 0.14.0 (2025-08-26)
93
+
94
+ Full Changelog: [v0.13.0...v0.14.0](https://github.com/relax-ai/python-sdk/compare/v0.13.0...v0.14.0)
95
+
96
+ ### Features
97
+
98
+ * **api:** update via SDK Studio ([8908751](https://github.com/relax-ai/python-sdk/commit/8908751c9870e75139a00ce8a49578450b805941))
99
+ * **api:** update via SDK Studio ([14ec145](https://github.com/relax-ai/python-sdk/commit/14ec145db8a0ab1360fb3a085ca489d9ca8afeb1))
100
+
101
+ ## 0.13.0 (2025-08-26)
102
+
103
+ Full Changelog: [v0.12.0...v0.13.0](https://github.com/relax-ai/python-sdk/compare/v0.12.0...v0.13.0)
104
+
105
+ ### Features
106
+
107
+ * **api:** update via SDK Studio ([92fe5ae](https://github.com/relax-ai/python-sdk/commit/92fe5ae1ced1942f524f4233f7be7413b044b264))
108
+
109
+
110
+ ### Chores
111
+
112
+ * **internal:** change ci workflow machines ([4f8c965](https://github.com/relax-ai/python-sdk/commit/4f8c9652a55ebefcd7a7a034a2eebeedba13f2cb))
113
+ * update github action ([82bdf02](https://github.com/relax-ai/python-sdk/commit/82bdf0209421625e4d4d01b371784b1e98c97d62))
114
+
115
+ ## 0.12.0 (2025-08-21)
116
+
117
+ Full Changelog: [v0.11.0...v0.12.0](https://github.com/relax-ai/python-sdk/compare/v0.11.0...v0.12.0)
118
+
119
+ ### Features
120
+
121
+ * **api:** update via SDK Studio ([11aae68](https://github.com/relax-ai/python-sdk/commit/11aae68a730b918abf5d9c8f0991ca923d15a5d7))
122
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
123
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
124
+ * **client:** support file upload requests ([e70c0ec](https://github.com/relax-ai/python-sdk/commit/e70c0ecbd97586746fcaa4618f8c7c254fe5edbb))
125
+
126
+
127
+ ### Bug Fixes
128
+
129
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
130
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
131
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
132
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
133
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
134
+
135
+
136
+ ### Chores
137
+
138
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
139
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
140
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
141
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
142
+ * **internal:** fix ruff target version ([98ebba8](https://github.com/relax-ai/python-sdk/commit/98ebba829120bb69d9c97a8c434748ee216427c4))
143
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
144
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
145
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
146
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
147
+ * sync repo ([0bb5fc8](https://github.com/relax-ai/python-sdk/commit/0bb5fc82969d958f999c864a47af4b95be8f41cf))
148
+ * update @stainless-api/prism-cli to v5.15.0 ([5e5155e](https://github.com/relax-ai/python-sdk/commit/5e5155e471ec22bd51e51c08272fef2281e9c523))
149
+ * update SDK settings ([682ca85](https://github.com/relax-ai/python-sdk/commit/682ca85bbaf7b9ed51f01f9c2090db8dc7890ce3))
150
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
151
+ * update SDK settings ([fc9f194](https://github.com/relax-ai/python-sdk/commit/fc9f194e0d241fb70577baba8285b31f76677d19))
152
+
153
+ ## 0.11.0 (2025-08-20)
154
+
155
+ Full Changelog: [v0.1.0...v0.11.0](https://github.com/bennorris123/python-sdk-test/compare/v0.1.0...v0.11.0)
156
+
157
+ ### Chores
158
+
159
+ * sync repo ([8b4f938](https://github.com/bennorris123/python-sdk-test/commit/8b4f93863d6771931ceaa4441a43e4fd45300804))
160
+ * update SDK settings ([5e557e4](https://github.com/bennorris123/python-sdk-test/commit/5e557e44d1f50b8f26e94253d9ab6e0bf2941689))
161
+ * update SDK settings ([1d0944d](https://github.com/bennorris123/python-sdk-test/commit/1d0944db459fd31e320413b82ad110dcc7c52bd3))
162
+
163
+ ## 0.1.0 (2025-07-25)
164
+
165
+ Full Changelog: [v0.0.1...v0.1.0](https://github.com/relax-ai/python-sdk/compare/v0.0.1...v0.1.0)
166
+
167
+ ### Features
168
+
169
+ * **api:** update via SDK Studio ([53fd3c1](https://github.com/relax-ai/python-sdk/commit/53fd3c18d19447b5a2314af8c2626dcc83ab6176))
170
+ * clean up environment call outs ([fd52000](https://github.com/relax-ai/python-sdk/commit/fd52000dd6823e3f52759ffb32457b1b6bb777e8))
171
+
172
+
173
+ ### Bug Fixes
174
+
175
+ * **ci:** correct conditional ([7b9dd73](https://github.com/relax-ai/python-sdk/commit/7b9dd73dec12d098f3908c46804fea6323991933))
176
+ * **client:** don't send Content-Type header on GET requests ([134d444](https://github.com/relax-ai/python-sdk/commit/134d444d1e46fa968b03c1d2c29a81a3f50260bc))
177
+ * **parsing:** correctly handle nested discriminated unions ([f3f2481](https://github.com/relax-ai/python-sdk/commit/f3f2481e3b294c4859dce817620beeda0750df70))
178
+ * **parsing:** ignore empty metadata ([5a69522](https://github.com/relax-ai/python-sdk/commit/5a695221f0607e7140856e41cc84057fed534cf5))
179
+ * **parsing:** parse extra field types ([058ebec](https://github.com/relax-ai/python-sdk/commit/058ebec52bdfbdd0fa5d094507ec0151954d7611))
180
+
181
+
182
+ ### Chores
183
+
184
+ * **ci:** change upload type ([d0eac9e](https://github.com/relax-ai/python-sdk/commit/d0eac9e1c21f5af782d7b6b0e9d4e12a7ae1ba4b))
185
+ * **ci:** only run for pushes and fork pull requests ([2823330](https://github.com/relax-ai/python-sdk/commit/28233300e18b343582f000c7809c6d5f9e5c9dfd))
186
+ * **internal:** bump pinned h11 dep ([2fcd331](https://github.com/relax-ai/python-sdk/commit/2fcd331182be60fe3186a12bf076c0792312d340))
187
+ * **internal:** codegen related update ([cf132b1](https://github.com/relax-ai/python-sdk/commit/cf132b191e08d91e189d3dd910f020121511ec4b))
188
+ * **internal:** version bump ([0a019aa](https://github.com/relax-ai/python-sdk/commit/0a019aa4888b574cc3892e8a1ed188330c97f971))
189
+ * **package:** mark python 3.13 as supported ([75f9e16](https://github.com/relax-ai/python-sdk/commit/75f9e16cf24b3ce117503d87083ef95511230c95))
190
+ * **project:** add settings file for vscode ([d91c008](https://github.com/relax-ai/python-sdk/commit/d91c008238bb40bfe103413b61798695821f2e66))
191
+ * **readme:** fix version rendering on pypi ([ba4beb8](https://github.com/relax-ai/python-sdk/commit/ba4beb8326b69e8dc5e54e014620c35681e21114))
192
+
193
+ ## 0.0.1 (2025-06-27)
194
+
195
+ 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)
196
+
197
+ ### Chores
198
+
199
+ * update SDK settings ([b6c7f5a](https://github.com/relax-ai/python-sdk/commit/b6c7f5aebefb986948527773a67b92fe2fb15954))
200
+ * 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.1.0
3
+ Version: 0.2.1
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
@@ -67,16 +67,17 @@ client = Relaxai(
67
67
  api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
68
68
  )
69
69
 
70
- response = client.chat.create_completion(
70
+ chat_completion_response = client.chat.create_completion(
71
71
  messages=[
72
72
  {
73
- "multi_content": [{}],
74
- "role": "role",
73
+ "role": "user",
74
+ "content": "Hello, how are you?",
75
75
  }
76
76
  ],
77
- model="model",
77
+ model="Llama-4-Maverick-17B-128E",
78
+ max_tokens=100,
78
79
  )
79
- print(response.id)
80
+ print(chat_completion_response.choices)
80
81
  ```
81
82
 
82
83
  While you can provide an `api_key` keyword argument,
@@ -99,16 +100,17 @@ client = AsyncRelaxai(
99
100
 
100
101
 
101
102
  async def main() -> None:
102
- response = await client.chat.create_completion(
103
+ chat_completion_response = await client.chat.create_completion(
103
104
  messages=[
104
105
  {
105
- "multi_content": [{}],
106
- "role": "role",
106
+ "role": "user",
107
+ "content": "Hello, how are you?",
107
108
  }
108
109
  ],
109
- model="model",
110
+ model="Llama-4-Maverick-17B-128E",
111
+ max_tokens=100,
110
112
  )
111
- print(response.id)
113
+ print(chat_completion_response.choices)
112
114
 
113
115
 
114
116
  asyncio.run(main())
@@ -140,16 +142,17 @@ async def main() -> None:
140
142
  api_key="My API Key",
141
143
  http_client=DefaultAioHttpClient(),
142
144
  ) as client:
143
- response = await client.chat.create_completion(
145
+ chat_completion_response = await client.chat.create_completion(
144
146
  messages=[
145
147
  {
146
- "multi_content": [{}],
147
- "role": "role",
148
+ "role": "user",
149
+ "content": "Hello, how are you?",
148
150
  }
149
151
  ],
150
- model="model",
152
+ model="Llama-4-Maverick-17B-128E",
153
+ max_tokens=100,
151
154
  )
152
- print(response.id)
155
+ print(chat_completion_response.choices)
153
156
 
154
157
 
155
158
  asyncio.run(main())
@@ -173,20 +176,17 @@ from relaxai import Relaxai
173
176
 
174
177
  client = Relaxai()
175
178
 
176
- response = client.chat.create_completion(
179
+ chat_completion_response = client.chat.create_completion(
177
180
  messages=[
178
181
  {
179
- "multi_content": [{}],
182
+ "content": "content",
180
183
  "role": "role",
181
184
  }
182
185
  ],
183
186
  model="model",
184
- prediction={
185
- "content": "content",
186
- "type": "type",
187
- },
187
+ chat_template_kwargs={},
188
188
  )
189
- print(response.prediction)
189
+ print(chat_completion_response.chat_template_kwargs)
190
190
  ```
191
191
 
192
192
  ## Handling errors
@@ -208,11 +208,12 @@ try:
208
208
  client.chat.create_completion(
209
209
  messages=[
210
210
  {
211
- "multi_content": [{}],
212
- "role": "role",
211
+ "role": "user",
212
+ "content": "Hello, how are you?",
213
213
  }
214
214
  ],
215
- model="model",
215
+ model="Llama-4-Maverick-17B-128E",
216
+ max_tokens=100,
216
217
  )
217
218
  except relaxai.APIConnectionError as e:
218
219
  print("The server could not be reached")
@@ -259,11 +260,12 @@ client = Relaxai(
259
260
  client.with_options(max_retries=5).chat.create_completion(
260
261
  messages=[
261
262
  {
262
- "multi_content": [{}],
263
- "role": "role",
263
+ "role": "user",
264
+ "content": "Hello, how are you?",
264
265
  }
265
266
  ],
266
- model="model",
267
+ model="Llama-4-Maverick-17B-128E",
268
+ max_tokens=100,
267
269
  )
268
270
  ```
269
271
 
@@ -290,11 +292,12 @@ client = Relaxai(
290
292
  client.with_options(timeout=5.0).chat.create_completion(
291
293
  messages=[
292
294
  {
293
- "multi_content": [{}],
294
- "role": "role",
295
+ "role": "user",
296
+ "content": "Hello, how are you?",
295
297
  }
296
298
  ],
297
- model="model",
299
+ model="Llama-4-Maverick-17B-128E",
300
+ max_tokens=100,
298
301
  )
299
302
  ```
300
303
 
@@ -338,10 +341,11 @@ from relaxai import Relaxai
338
341
  client = Relaxai()
339
342
  response = client.chat.with_raw_response.create_completion(
340
343
  messages=[{
341
- "multi_content": [{}],
342
- "role": "role",
344
+ "role": "user",
345
+ "content": "Hello, how are you?",
343
346
  }],
344
- model="model",
347
+ model="Llama-4-Maverick-17B-128E",
348
+ max_tokens=100,
345
349
  )
346
350
  print(response.headers.get('X-My-Header'))
347
351
 
@@ -363,11 +367,12 @@ To stream the response body, use `.with_streaming_response` instead, which requi
363
367
  with client.chat.with_streaming_response.create_completion(
364
368
  messages=[
365
369
  {
366
- "multi_content": [{}],
367
- "role": "role",
370
+ "role": "user",
371
+ "content": "Hello, how are you?",
368
372
  }
369
373
  ],
370
- model="model",
374
+ model="Llama-4-Maverick-17B-128E",
375
+ max_tokens=100,
371
376
  ) as response:
372
377
  print(response.headers.get("X-My-Header"))
373
378
 
@@ -32,16 +32,17 @@ client = Relaxai(
32
32
  api_key=os.environ.get("RELAXAI_API_KEY"), # This is the default and can be omitted
33
33
  )
34
34
 
35
- response = client.chat.create_completion(
35
+ chat_completion_response = client.chat.create_completion(
36
36
  messages=[
37
37
  {
38
- "multi_content": [{}],
39
- "role": "role",
38
+ "role": "user",
39
+ "content": "Hello, how are you?",
40
40
  }
41
41
  ],
42
- model="model",
42
+ model="Llama-4-Maverick-17B-128E",
43
+ max_tokens=100,
43
44
  )
44
- print(response.id)
45
+ print(chat_completion_response.choices)
45
46
  ```
46
47
 
47
48
  While you can provide an `api_key` keyword argument,
@@ -64,16 +65,17 @@ client = AsyncRelaxai(
64
65
 
65
66
 
66
67
  async def main() -> None:
67
- response = await client.chat.create_completion(
68
+ chat_completion_response = await client.chat.create_completion(
68
69
  messages=[
69
70
  {
70
- "multi_content": [{}],
71
- "role": "role",
71
+ "role": "user",
72
+ "content": "Hello, how are you?",
72
73
  }
73
74
  ],
74
- model="model",
75
+ model="Llama-4-Maverick-17B-128E",
76
+ max_tokens=100,
75
77
  )
76
- print(response.id)
78
+ print(chat_completion_response.choices)
77
79
 
78
80
 
79
81
  asyncio.run(main())
@@ -105,16 +107,17 @@ async def main() -> None:
105
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
 
relaxai-0.2.1/api.md ADDED
@@ -0,0 +1,62 @@
1
+ # Shared Types
2
+
3
+ ```python
4
+ from relaxai.types import OpenAICompletionTokensDetails, OpenAIPromptTokensDetails, OpenAIUsage
5
+ ```
6
+
7
+ # Relaxai
8
+
9
+ Types:
10
+
11
+ ```python
12
+ from relaxai.types import HealthResponse
13
+ ```
14
+
15
+ Methods:
16
+
17
+ - <code title="get /v1/health">client.<a href="./src/relaxai/_client.py">health</a>() -> str</code>
18
+
19
+ # Chat
20
+
21
+ Types:
22
+
23
+ ```python
24
+ from relaxai.types import (
25
+ ChatCompletionMessage,
26
+ ChatCompletionRequest,
27
+ ChatCompletionResponse,
28
+ ContentFilterResults,
29
+ FunctionCall,
30
+ FunctionDefinition,
31
+ StreamOptions,
32
+ )
33
+ ```
34
+
35
+ Methods:
36
+
37
+ - <code title="post /v1/chat/completions">client.chat.<a href="./src/relaxai/resources/chat.py">create_completion</a>(\*\*<a href="src/relaxai/types/chat_create_completion_params.py">params</a>) -> <a href="./src/relaxai/types/chat_completion_response.py">ChatCompletionResponse</a></code>
38
+
39
+ # Embeddings
40
+
41
+ Types:
42
+
43
+ ```python
44
+ from relaxai.types import EmbeddingRequest, EmbeddingResponse
45
+ ```
46
+
47
+ Methods:
48
+
49
+ - <code title="post /v1/embeddings">client.embeddings.<a href="./src/relaxai/resources/embeddings.py">create_embedding</a>(\*\*<a href="src/relaxai/types/embedding_create_embedding_params.py">params</a>) -> <a href="./src/relaxai/types/embedding_response.py">EmbeddingResponse</a></code>
50
+
51
+ # Models
52
+
53
+ Types:
54
+
55
+ ```python
56
+ from relaxai.types import Model, ModelList
57
+ ```
58
+
59
+ Methods:
60
+
61
+ - <code title="get /v1/models">client.models.<a href="./src/relaxai/resources/models.py">list_models</a>() -> <a href="./src/relaxai/types/model_list.py">ModelList</a></code>
62
+ - <code title="get /v1/models/{model}">client.models.<a href="./src/relaxai/resources/models.py">retrieve_model</a>(model) -> <a href="./src/relaxai/types/model.py">Model</a></code>
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "relaxai"
3
- version = "0.1.0"
3
+ version = "0.2.1"
4
4
  description = "The official Python library for the relaxai API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
7
7
  authors = [
8
- { name = "Relaxai", email = "hello@drelax.ai" },
8
+ { name = "Relaxai", email = "hello@relax.ai" },
9
9
  ]
10
10
  dependencies = [
11
11
  "httpx>=0.23.0, <1",
@@ -159,7 +159,7 @@ reportPrivateUsage = false
159
159
  [tool.ruff]
160
160
  line-length = 120
161
161
  output-format = "grouped"
162
- target-version = "py37"
162
+ target-version = "py38"
163
163
 
164
164
  [tool.ruff.format]
165
165
  docstring-code-format = true