spitch 1.12.0__tar.gz → 1.13.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 spitch might be problematic. Click here for more details.

Files changed (76) hide show
  1. spitch-1.13.0/.release-please-manifest.json +3 -0
  2. {spitch-1.12.0 → spitch-1.13.0}/CHANGELOG.md +8 -0
  3. {spitch-1.12.0 → spitch-1.13.0}/PKG-INFO +8 -1
  4. {spitch-1.12.0 → spitch-1.13.0}/README.md +7 -0
  5. {spitch-1.12.0 → spitch-1.13.0}/pyproject.toml +1 -1
  6. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_version.py +1 -1
  7. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/resources/speech.py +2 -2
  8. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/speech_generate_params.py +2 -2
  9. {spitch-1.12.0 → spitch-1.13.0}/tests/api_resources/test_speech.py +8 -2
  10. {spitch-1.12.0 → spitch-1.13.0}/tests/test_client.py +10 -10
  11. spitch-1.12.0/.release-please-manifest.json +0 -3
  12. {spitch-1.12.0 → spitch-1.13.0}/.gitignore +0 -0
  13. {spitch-1.12.0 → spitch-1.13.0}/CONTRIBUTING.md +0 -0
  14. {spitch-1.12.0 → spitch-1.13.0}/LICENSE +0 -0
  15. {spitch-1.12.0 → spitch-1.13.0}/SECURITY.md +0 -0
  16. {spitch-1.12.0 → spitch-1.13.0}/api.md +0 -0
  17. {spitch-1.12.0 → spitch-1.13.0}/bin/check-release-environment +0 -0
  18. {spitch-1.12.0 → spitch-1.13.0}/bin/publish-pypi +0 -0
  19. {spitch-1.12.0 → spitch-1.13.0}/examples/.keep +0 -0
  20. {spitch-1.12.0 → spitch-1.13.0}/examples/example.py +0 -0
  21. {spitch-1.12.0 → spitch-1.13.0}/mypy.ini +0 -0
  22. {spitch-1.12.0 → spitch-1.13.0}/noxfile.py +0 -0
  23. {spitch-1.12.0 → spitch-1.13.0}/release-please-config.json +0 -0
  24. {spitch-1.12.0 → spitch-1.13.0}/requirements-dev.lock +0 -0
  25. {spitch-1.12.0 → spitch-1.13.0}/requirements.lock +0 -0
  26. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/__init__.py +0 -0
  27. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_base_client.py +0 -0
  28. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_client.py +0 -0
  29. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_compat.py +0 -0
  30. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_constants.py +0 -0
  31. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_exceptions.py +0 -0
  32. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_files.py +0 -0
  33. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_models.py +0 -0
  34. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_qs.py +0 -0
  35. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_resource.py +0 -0
  36. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_response.py +0 -0
  37. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_streaming.py +0 -0
  38. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_types.py +0 -0
  39. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/__init__.py +0 -0
  40. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_logs.py +0 -0
  41. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_proxy.py +0 -0
  42. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_reflection.py +0 -0
  43. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_streams.py +0 -0
  44. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_sync.py +0 -0
  45. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_transform.py +0 -0
  46. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_typing.py +0 -0
  47. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/_utils/_utils.py +0 -0
  48. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/lib/.keep +0 -0
  49. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/py.typed +0 -0
  50. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/resources/__init__.py +0 -0
  51. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/resources/text.py +0 -0
  52. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/__init__.py +0 -0
  53. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/speech_transcibe_params.py +0 -0
  54. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/speech_transcribe_params.py +0 -0
  55. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/speech_transcribe_response.py +0 -0
  56. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/text_tone_mark_params.py +0 -0
  57. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/text_tone_mark_response.py +0 -0
  58. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/text_translate_params.py +0 -0
  59. {spitch-1.12.0 → spitch-1.13.0}/src/spitch/types/text_translate_response.py +0 -0
  60. {spitch-1.12.0 → spitch-1.13.0}/tests/__init__.py +0 -0
  61. {spitch-1.12.0 → spitch-1.13.0}/tests/api_resources/__init__.py +0 -0
  62. {spitch-1.12.0 → spitch-1.13.0}/tests/api_resources/test_text.py +0 -0
  63. {spitch-1.12.0 → spitch-1.13.0}/tests/conftest.py +0 -0
  64. {spitch-1.12.0 → spitch-1.13.0}/tests/sample_file.txt +0 -0
  65. {spitch-1.12.0 → spitch-1.13.0}/tests/test_deepcopy.py +0 -0
  66. {spitch-1.12.0 → spitch-1.13.0}/tests/test_extract_files.py +0 -0
  67. {spitch-1.12.0 → spitch-1.13.0}/tests/test_files.py +0 -0
  68. {spitch-1.12.0 → spitch-1.13.0}/tests/test_models.py +0 -0
  69. {spitch-1.12.0 → spitch-1.13.0}/tests/test_qs.py +0 -0
  70. {spitch-1.12.0 → spitch-1.13.0}/tests/test_required_args.py +0 -0
  71. {spitch-1.12.0 → spitch-1.13.0}/tests/test_response.py +0 -0
  72. {spitch-1.12.0 → spitch-1.13.0}/tests/test_streaming.py +0 -0
  73. {spitch-1.12.0 → spitch-1.13.0}/tests/test_transform.py +0 -0
  74. {spitch-1.12.0 → spitch-1.13.0}/tests/test_utils/test_proxy.py +0 -0
  75. {spitch-1.12.0 → spitch-1.13.0}/tests/test_utils/test_typing.py +0 -0
  76. {spitch-1.12.0 → spitch-1.13.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.13.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.13.0 (2024-10-18)
4
+
5
+ Full Changelog: [v1.12.0...v1.13.0](https://github.com/spi-tch/spitch-python/compare/v1.12.0...v1.13.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([#55](https://github.com/spi-tch/spitch-python/issues/55)) ([f987e48](https://github.com/spi-tch/spitch-python/commit/f987e48d65d4ef24a650bfc3d01757a565766c18))
10
+
3
11
  ## 1.12.0 (2024-10-18)
4
12
 
5
13
  Full Changelog: [v1.11.0...v1.12.0](https://github.com/spi-tch/spitch-python/compare/v1.11.0...v1.12.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: spitch
3
- Version: 1.12.0
3
+ Version: 1.13.0
4
4
  Summary: The official Python library for the spitch API
5
5
  Project-URL: Homepage, https://github.com/spi-tch/spitch-python
6
6
  Project-URL: Repository, https://github.com/spi-tch/spitch-python
@@ -69,6 +69,7 @@ client = Spitch(
69
69
  response = client.speech.generate(
70
70
  language="yo",
71
71
  text="text",
72
+ voice="sade",
72
73
  )
73
74
  ```
74
75
 
@@ -96,6 +97,7 @@ async def main() -> None:
96
97
  response = await client.speech.generate(
97
98
  language="yo",
98
99
  text="text",
100
+ voice="sade",
99
101
  )
100
102
 
101
103
 
@@ -132,6 +134,7 @@ try:
132
134
  client.speech.generate(
133
135
  language="yo",
134
136
  text="text",
137
+ voice="sade",
135
138
  )
136
139
  except spitch.APIConnectionError as e:
137
140
  print("The server could not be reached")
@@ -178,6 +181,7 @@ client = Spitch(
178
181
  client.with_options(max_retries=5).speech.generate(
179
182
  language="yo",
180
183
  text="text",
184
+ voice="sade",
181
185
  )
182
186
  ```
183
187
 
@@ -204,6 +208,7 @@ client = Spitch(
204
208
  client.with_options(timeout=5.0).speech.generate(
205
209
  language="yo",
206
210
  text="text",
211
+ voice="sade",
207
212
  )
208
213
  ```
209
214
 
@@ -246,6 +251,7 @@ client = Spitch()
246
251
  response = client.speech.with_raw_response.generate(
247
252
  language="yo",
248
253
  text="text",
254
+ voice="sade",
249
255
  )
250
256
  print(response.headers.get('X-My-Header'))
251
257
 
@@ -267,6 +273,7 @@ To stream the response body, use `.with_streaming_response` instead, which requi
267
273
  with client.speech.with_streaming_response.generate(
268
274
  language="yo",
269
275
  text="text",
276
+ voice="sade",
270
277
  ) as response:
271
278
  print(response.headers.get("X-My-Header"))
272
279
 
@@ -35,6 +35,7 @@ client = Spitch(
35
35
  response = client.speech.generate(
36
36
  language="yo",
37
37
  text="text",
38
+ voice="sade",
38
39
  )
39
40
  ```
40
41
 
@@ -62,6 +63,7 @@ async def main() -> None:
62
63
  response = await client.speech.generate(
63
64
  language="yo",
64
65
  text="text",
66
+ voice="sade",
65
67
  )
66
68
 
67
69
 
@@ -98,6 +100,7 @@ try:
98
100
  client.speech.generate(
99
101
  language="yo",
100
102
  text="text",
103
+ voice="sade",
101
104
  )
102
105
  except spitch.APIConnectionError as e:
103
106
  print("The server could not be reached")
@@ -144,6 +147,7 @@ client = Spitch(
144
147
  client.with_options(max_retries=5).speech.generate(
145
148
  language="yo",
146
149
  text="text",
150
+ voice="sade",
147
151
  )
148
152
  ```
149
153
 
@@ -170,6 +174,7 @@ client = Spitch(
170
174
  client.with_options(timeout=5.0).speech.generate(
171
175
  language="yo",
172
176
  text="text",
177
+ voice="sade",
173
178
  )
174
179
  ```
175
180
 
@@ -212,6 +217,7 @@ client = Spitch()
212
217
  response = client.speech.with_raw_response.generate(
213
218
  language="yo",
214
219
  text="text",
220
+ voice="sade",
215
221
  )
216
222
  print(response.headers.get('X-My-Header'))
217
223
 
@@ -233,6 +239,7 @@ To stream the response body, use `.with_streaming_response` instead, which requi
233
239
  with client.speech.with_streaming_response.generate(
234
240
  language="yo",
235
241
  text="text",
242
+ voice="sade",
236
243
  ) as response:
237
244
  print(response.headers.get("X-My-Header"))
238
245
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "spitch"
3
- version = "1.12.0"
3
+ version = "1.13.0"
4
4
  description = "The official Python library for the spitch API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "spitch"
4
- __version__ = "1.12.0" # x-release-please-version
4
+ __version__ = "1.13.0" # x-release-please-version
@@ -62,8 +62,8 @@ class SpeechResource(SyncAPIResource):
62
62
  *,
63
63
  language: Literal["yo", "en", "ha", "ig"],
64
64
  text: str,
65
+ voice: Literal["sade", "segun", "femi", "funmi", "amina", "aliyu", "hasan", "zainab"],
65
66
  stream: bool | NotGiven = NOT_GIVEN,
66
- voice: Literal["sade", "segun", "femi", "funmi"] | NotGiven = NOT_GIVEN,
67
67
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
68
68
  # The extra values given here take precedence over values defined on the client or passed to this method.
69
69
  extra_headers: Headers | None = None,
@@ -181,8 +181,8 @@ class AsyncSpeechResource(AsyncAPIResource):
181
181
  *,
182
182
  language: Literal["yo", "en", "ha", "ig"],
183
183
  text: str,
184
+ voice: Literal["sade", "segun", "femi", "funmi", "amina", "aliyu", "hasan", "zainab"],
184
185
  stream: bool | NotGiven = NOT_GIVEN,
185
- voice: Literal["sade", "segun", "femi", "funmi"] | NotGiven = NOT_GIVEN,
186
186
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
187
187
  # The extra values given here take precedence over values defined on the client or passed to this method.
188
188
  extra_headers: Headers | None = None,
@@ -12,6 +12,6 @@ class SpeechGenerateParams(TypedDict, total=False):
12
12
 
13
13
  text: Required[str]
14
14
 
15
- stream: bool
15
+ voice: Required[Literal["sade", "segun", "femi", "funmi", "amina", "aliyu", "hasan", "zainab"]]
16
16
 
17
- voice: Literal["sade", "segun", "femi", "funmi"]
17
+ stream: bool
@@ -32,6 +32,7 @@ class TestSpeech:
32
32
  speech = client.speech.generate(
33
33
  language="yo",
34
34
  text="text",
35
+ voice="sade",
35
36
  )
36
37
  assert speech.is_closed
37
38
  assert speech.json() == {"foo": "bar"}
@@ -45,8 +46,8 @@ class TestSpeech:
45
46
  speech = client.speech.generate(
46
47
  language="yo",
47
48
  text="text",
48
- stream=True,
49
49
  voice="sade",
50
+ stream=True,
50
51
  )
51
52
  assert speech.is_closed
52
53
  assert speech.json() == {"foo": "bar"}
@@ -61,6 +62,7 @@ class TestSpeech:
61
62
  speech = client.speech.with_raw_response.generate(
62
63
  language="yo",
63
64
  text="text",
65
+ voice="sade",
64
66
  )
65
67
 
66
68
  assert speech.is_closed is True
@@ -75,6 +77,7 @@ class TestSpeech:
75
77
  with client.speech.with_streaming_response.generate(
76
78
  language="yo",
77
79
  text="text",
80
+ voice="sade",
78
81
  ) as speech:
79
82
  assert not speech.is_closed
80
83
  assert speech.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -138,6 +141,7 @@ class TestAsyncSpeech:
138
141
  speech = await async_client.speech.generate(
139
142
  language="yo",
140
143
  text="text",
144
+ voice="sade",
141
145
  )
142
146
  assert speech.is_closed
143
147
  assert await speech.json() == {"foo": "bar"}
@@ -151,8 +155,8 @@ class TestAsyncSpeech:
151
155
  speech = await async_client.speech.generate(
152
156
  language="yo",
153
157
  text="text",
154
- stream=True,
155
158
  voice="sade",
159
+ stream=True,
156
160
  )
157
161
  assert speech.is_closed
158
162
  assert await speech.json() == {"foo": "bar"}
@@ -167,6 +171,7 @@ class TestAsyncSpeech:
167
171
  speech = await async_client.speech.with_raw_response.generate(
168
172
  language="yo",
169
173
  text="text",
174
+ voice="sade",
170
175
  )
171
176
 
172
177
  assert speech.is_closed is True
@@ -181,6 +186,7 @@ class TestAsyncSpeech:
181
186
  async with async_client.speech.with_streaming_response.generate(
182
187
  language="yo",
183
188
  text="text",
189
+ voice="sade",
184
190
  ) as speech:
185
191
  assert not speech.is_closed
186
192
  assert speech.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -705,7 +705,7 @@ class TestSpitch:
705
705
  with pytest.raises(APITimeoutError):
706
706
  self.client.post(
707
707
  "/v1/speech",
708
- body=cast(object, dict(language="yo", text="text")),
708
+ body=cast(object, dict(language="yo", text="text", voice="sade")),
709
709
  cast_to=httpx.Response,
710
710
  options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
711
711
  )
@@ -720,7 +720,7 @@ class TestSpitch:
720
720
  with pytest.raises(APIStatusError):
721
721
  self.client.post(
722
722
  "/v1/speech",
723
- body=cast(object, dict(language="yo", text="text")),
723
+ body=cast(object, dict(language="yo", text="text", voice="sade")),
724
724
  cast_to=httpx.Response,
725
725
  options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
726
726
  )
@@ -744,7 +744,7 @@ class TestSpitch:
744
744
 
745
745
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
746
746
 
747
- response = client.speech.with_raw_response.generate(language="yo", text="text")
747
+ response = client.speech.with_raw_response.generate(language="yo", text="text", voice="sade")
748
748
 
749
749
  assert response.retries_taken == failures_before_success
750
750
  assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@@ -769,7 +769,7 @@ class TestSpitch:
769
769
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
770
770
 
771
771
  response = client.speech.with_raw_response.generate(
772
- language="yo", text="text", extra_headers={"x-stainless-retry-count": Omit()}
772
+ language="yo", text="text", voice="sade", extra_headers={"x-stainless-retry-count": Omit()}
773
773
  )
774
774
 
775
775
  assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
@@ -794,7 +794,7 @@ class TestSpitch:
794
794
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
795
795
 
796
796
  response = client.speech.with_raw_response.generate(
797
- language="yo", text="text", extra_headers={"x-stainless-retry-count": "42"}
797
+ language="yo", text="text", voice="sade", extra_headers={"x-stainless-retry-count": "42"}
798
798
  )
799
799
 
800
800
  assert response.http_request.headers.get("x-stainless-retry-count") == "42"
@@ -1476,7 +1476,7 @@ class TestAsyncSpitch:
1476
1476
  with pytest.raises(APITimeoutError):
1477
1477
  await self.client.post(
1478
1478
  "/v1/speech",
1479
- body=cast(object, dict(language="yo", text="text")),
1479
+ body=cast(object, dict(language="yo", text="text", voice="sade")),
1480
1480
  cast_to=httpx.Response,
1481
1481
  options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
1482
1482
  )
@@ -1491,7 +1491,7 @@ class TestAsyncSpitch:
1491
1491
  with pytest.raises(APIStatusError):
1492
1492
  await self.client.post(
1493
1493
  "/v1/speech",
1494
- body=cast(object, dict(language="yo", text="text")),
1494
+ body=cast(object, dict(language="yo", text="text", voice="sade")),
1495
1495
  cast_to=httpx.Response,
1496
1496
  options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
1497
1497
  )
@@ -1518,7 +1518,7 @@ class TestAsyncSpitch:
1518
1518
 
1519
1519
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
1520
1520
 
1521
- response = await client.speech.with_raw_response.generate(language="yo", text="text")
1521
+ response = await client.speech.with_raw_response.generate(language="yo", text="text", voice="sade")
1522
1522
 
1523
1523
  assert response.retries_taken == failures_before_success
1524
1524
  assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@@ -1544,7 +1544,7 @@ class TestAsyncSpitch:
1544
1544
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
1545
1545
 
1546
1546
  response = await client.speech.with_raw_response.generate(
1547
- language="yo", text="text", extra_headers={"x-stainless-retry-count": Omit()}
1547
+ language="yo", text="text", voice="sade", extra_headers={"x-stainless-retry-count": Omit()}
1548
1548
  )
1549
1549
 
1550
1550
  assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
@@ -1570,7 +1570,7 @@ class TestAsyncSpitch:
1570
1570
  respx_mock.post("/v1/speech").mock(side_effect=retry_handler)
1571
1571
 
1572
1572
  response = await client.speech.with_raw_response.generate(
1573
- language="yo", text="text", extra_headers={"x-stainless-retry-count": "42"}
1573
+ language="yo", text="text", voice="sade", extra_headers={"x-stainless-retry-count": "42"}
1574
1574
  )
1575
1575
 
1576
1576
  assert response.http_request.headers.get("x-stainless-retry-count") == "42"
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.12.0"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes