Skip to content

Commit 1334c75

Browse files
feat(api): rename enums with problematic characters
1 parent d4fd511 commit 1334c75

4 files changed

Lines changed: 88 additions & 45 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 801
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx%2Ftelnyx-9b2e42d595d8704628cb792563adef970f306e60f81b682f41747f0e44321d2a.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx%2Ftelnyx-d5da60e6c0a34ecb5e91fc3e232836c75e32cdc1c1f348e6b12d88e8c1d77aea.yml
33
openapi_spec_hash: c78b6c372d7b9a5d8735956b67e724ce
4-
config_hash: b4ce13bcd06e13fa36dc20be41c0998d
4+
config_hash: 04be2e53d6168754ca5406ac195020fe

README.md

Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,13 @@ client = Telnyx(
3232
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
3333
)
3434

35-
response = client.list_buckets()
36-
print(response.buckets)
35+
response = client.calls.dial(
36+
connection_id="conn12345",
37+
from_="+15557654321",
38+
to="+15551234567",
39+
webhook_url="https://your-webhook.url/events",
40+
)
41+
print(response.data)
3742
```
3843

3944
While you can provide an `api_key` keyword argument,
@@ -56,8 +61,13 @@ client = AsyncTelnyx(
5661

5762

5863
async def main() -> None:
59-
response = await client.list_buckets()
60-
print(response.buckets)
64+
response = await client.calls.dial(
65+
connection_id="conn12345",
66+
from_="+15557654321",
67+
to="+15551234567",
68+
webhook_url="https://your-webhook.url/events",
69+
)
70+
print(response.data)
6171

6272

6373
asyncio.run(main())
@@ -89,8 +99,13 @@ async def main() -> None:
8999
api_key="My API Key",
90100
http_client=DefaultAioHttpClient(),
91101
) as client:
92-
response = await client.list_buckets()
93-
print(response.buckets)
102+
response = await client.calls.dial(
103+
connection_id="conn12345",
104+
from_="+15557654321",
105+
to="+15551234567",
106+
webhook_url="https://your-webhook.url/events",
107+
)
108+
print(response.data)
94109

95110

96111
asyncio.run(main())
@@ -114,10 +129,24 @@ from telnyx import Telnyx
114129

115130
client = Telnyx()
116131

117-
access_ip_addresses = client.access_ip_address.list(
118-
filter={},
132+
response = client.calls.dial(
133+
connection_id="7267xxxxxxxxxxxxxx",
134+
from_="+18005550101",
135+
to="+18005550100 or sip:username@sip.telnyx.com",
136+
answering_machine_detection_config={
137+
"after_greeting_silence_millis": 1000,
138+
"between_words_silence_millis": 1000,
139+
"greeting_duration_millis": 1000,
140+
"greeting_silence_duration_millis": 2000,
141+
"greeting_total_analysis_time_millis": 50000,
142+
"initial_silence_millis": 1000,
143+
"maximum_number_of_words": 1000,
144+
"maximum_word_length_millis": 2000,
145+
"silence_threshold": 512,
146+
"total_analysis_time_millis": 5000,
147+
},
119148
)
120-
print(access_ip_addresses.filter)
149+
print(response.answering_machine_detection_config)
121150
```
122151

123152
## File uploads
@@ -154,7 +183,9 @@ from telnyx import Telnyx
154183
client = Telnyx()
155184

156185
try:
157-
client.list_buckets()
186+
client.number_orders.create(
187+
phone_numbers=[{"phone_number": "+15558675309"}],
188+
)
158189
except telnyx.APIConnectionError as e:
159190
print("The server could not be reached")
160191
print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -197,7 +228,9 @@ client = Telnyx(
197228
)
198229

199230
# Or, configure per-request:
200-
client.with_options(max_retries=5).list_buckets()
231+
client.with_options(max_retries=5).number_orders.create(
232+
phone_numbers=[{"phone_number": "+15558675309"}],
233+
)
201234
```
202235

203236
### Timeouts
@@ -220,7 +253,9 @@ client = Telnyx(
220253
)
221254

222255
# Override per-request:
223-
client.with_options(timeout=5.0).list_buckets()
256+
client.with_options(timeout=5.0).number_orders.create(
257+
phone_numbers=[{"phone_number": "+15558675309"}],
258+
)
224259
```
225260

226261
On timeout, an `APITimeoutError` is thrown.
@@ -261,11 +296,15 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
261296
from telnyx import Telnyx
262297

263298
client = Telnyx()
264-
response = client.with_raw_response.list_buckets()
299+
response = client.number_orders.with_raw_response.create(
300+
phone_numbers=[{
301+
"phone_number": "+15558675309"
302+
}],
303+
)
265304
print(response.headers.get('X-My-Header'))
266305

267-
client = response.parse() # get the object that `list_buckets()` would have returned
268-
print(client.buckets)
306+
number_order = response.parse() # get the object that `number_orders.create()` would have returned
307+
print(number_order.data)
269308
```
270309

271310
These methods return an [`APIResponse`](https://github.com/team-telnyx/telnyx-python/tree/master/src/telnyx/_response.py) object.
@@ -279,7 +318,9 @@ The above interface eagerly reads the full response body when you make the reque
279318
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
280319

281320
```python
282-
with client.with_streaming_response.list_buckets() as response:
321+
with client.number_orders.with_streaming_response.create(
322+
phone_numbers=[{"phone_number": "+15558675309"}],
323+
) as response:
283324
print(response.headers.get("X-My-Header"))
284325

285326
for line in response.iter_lines():

src/telnyx/types/global_ip_latency_retrieve_response.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,19 @@ class DataPercentileLatency_99(BaseModel):
9797

9898

9999
class DataPercentileLatency(BaseModel):
100-
api_0: Optional[DataPercentileLatency_0] = FieldInfo(alias="0", default=None)
100+
p0: Optional[DataPercentileLatency_0] = FieldInfo(alias="0", default=None)
101101

102-
api_100: Optional[DataPercentileLatency_100] = FieldInfo(alias="100", default=None)
102+
p100: Optional[DataPercentileLatency_100] = FieldInfo(alias="100", default=None)
103103

104-
api_25: Optional[DataPercentileLatency_25] = FieldInfo(alias="25", default=None)
104+
p25: Optional[DataPercentileLatency_25] = FieldInfo(alias="25", default=None)
105105

106-
api_50: Optional[DataPercentileLatency_50] = FieldInfo(alias="50", default=None)
106+
p50: Optional[DataPercentileLatency_50] = FieldInfo(alias="50", default=None)
107107

108-
api_75: Optional[DataPercentileLatency_75] = FieldInfo(alias="75", default=None)
108+
p75: Optional[DataPercentileLatency_75] = FieldInfo(alias="75", default=None)
109109

110-
api_90: Optional[DataPercentileLatency_90] = FieldInfo(alias="90", default=None)
110+
p90: Optional[DataPercentileLatency_90] = FieldInfo(alias="90", default=None)
111111

112-
api_99: Optional[DataPercentileLatency_99] = FieldInfo(alias="99", default=None)
112+
p99: Optional[DataPercentileLatency_99] = FieldInfo(alias="99", default=None)
113113

114114

115115
class DataProberLocation(BaseModel):

tests/test_client.py

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -712,20 +712,20 @@ def test_parse_retry_after_header(self, remaining_retries: int, retry_after: str
712712
@mock.patch("telnyx._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
713713
@pytest.mark.respx(base_url=base_url)
714714
def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, client: Telnyx) -> None:
715-
respx_mock.get("/").mock(side_effect=httpx.TimeoutException("Test timeout error"))
715+
respx_mock.post("/number_orders").mock(side_effect=httpx.TimeoutException("Test timeout error"))
716716

717717
with pytest.raises(APITimeoutError):
718-
client.with_streaming_response.list_buckets().__enter__()
718+
client.number_orders.with_streaming_response.create().__enter__()
719719

720720
assert _get_open_connections(self.client) == 0
721721

722722
@mock.patch("telnyx._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
723723
@pytest.mark.respx(base_url=base_url)
724724
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client: Telnyx) -> None:
725-
respx_mock.get("/").mock(return_value=httpx.Response(500))
725+
respx_mock.post("/number_orders").mock(return_value=httpx.Response(500))
726726

727727
with pytest.raises(APIStatusError):
728-
client.with_streaming_response.list_buckets().__enter__()
728+
client.number_orders.with_streaming_response.create().__enter__()
729729
assert _get_open_connections(self.client) == 0
730730

731731
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
@@ -752,9 +752,9 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
752752
return httpx.Response(500)
753753
return httpx.Response(200)
754754

755-
respx_mock.get("/").mock(side_effect=retry_handler)
755+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
756756

757-
response = client.with_raw_response.list_buckets()
757+
response = client.number_orders.with_raw_response.create()
758758

759759
assert response.retries_taken == failures_before_success
760760
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@@ -776,9 +776,9 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
776776
return httpx.Response(500)
777777
return httpx.Response(200)
778778

779-
respx_mock.get("/").mock(side_effect=retry_handler)
779+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
780780

781-
response = client.with_raw_response.list_buckets(extra_headers={"x-stainless-retry-count": Omit()})
781+
response = client.number_orders.with_raw_response.create(extra_headers={"x-stainless-retry-count": Omit()})
782782

783783
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
784784

@@ -799,9 +799,9 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
799799
return httpx.Response(500)
800800
return httpx.Response(200)
801801

802-
respx_mock.get("/").mock(side_effect=retry_handler)
802+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
803803

804-
response = client.with_raw_response.list_buckets(extra_headers={"x-stainless-retry-count": "42"})
804+
response = client.number_orders.with_raw_response.create(extra_headers={"x-stainless-retry-count": "42"})
805805

806806
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
807807

@@ -1527,20 +1527,20 @@ async def test_parse_retry_after_header(self, remaining_retries: int, retry_afte
15271527
@mock.patch("telnyx._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
15281528
@pytest.mark.respx(base_url=base_url)
15291529
async def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, async_client: AsyncTelnyx) -> None:
1530-
respx_mock.get("/").mock(side_effect=httpx.TimeoutException("Test timeout error"))
1530+
respx_mock.post("/number_orders").mock(side_effect=httpx.TimeoutException("Test timeout error"))
15311531

15321532
with pytest.raises(APITimeoutError):
1533-
await async_client.with_streaming_response.list_buckets().__aenter__()
1533+
await async_client.number_orders.with_streaming_response.create().__aenter__()
15341534

15351535
assert _get_open_connections(self.client) == 0
15361536

15371537
@mock.patch("telnyx._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
15381538
@pytest.mark.respx(base_url=base_url)
15391539
async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, async_client: AsyncTelnyx) -> None:
1540-
respx_mock.get("/").mock(return_value=httpx.Response(500))
1540+
respx_mock.post("/number_orders").mock(return_value=httpx.Response(500))
15411541

15421542
with pytest.raises(APIStatusError):
1543-
await async_client.with_streaming_response.list_buckets().__aenter__()
1543+
await async_client.number_orders.with_streaming_response.create().__aenter__()
15441544
assert _get_open_connections(self.client) == 0
15451545

15461546
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
@@ -1568,9 +1568,9 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
15681568
return httpx.Response(500)
15691569
return httpx.Response(200)
15701570

1571-
respx_mock.get("/").mock(side_effect=retry_handler)
1571+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
15721572

1573-
response = await client.with_raw_response.list_buckets()
1573+
response = await client.number_orders.with_raw_response.create()
15741574

15751575
assert response.retries_taken == failures_before_success
15761576
assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success
@@ -1593,9 +1593,11 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
15931593
return httpx.Response(500)
15941594
return httpx.Response(200)
15951595

1596-
respx_mock.get("/").mock(side_effect=retry_handler)
1596+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
15971597

1598-
response = await client.with_raw_response.list_buckets(extra_headers={"x-stainless-retry-count": Omit()})
1598+
response = await client.number_orders.with_raw_response.create(
1599+
extra_headers={"x-stainless-retry-count": Omit()}
1600+
)
15991601

16001602
assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0
16011603

@@ -1617,9 +1619,9 @@ def retry_handler(_request: httpx.Request) -> httpx.Response:
16171619
return httpx.Response(500)
16181620
return httpx.Response(200)
16191621

1620-
respx_mock.get("/").mock(side_effect=retry_handler)
1622+
respx_mock.post("/number_orders").mock(side_effect=retry_handler)
16211623

1622-
response = await client.with_raw_response.list_buckets(extra_headers={"x-stainless-retry-count": "42"})
1624+
response = await client.number_orders.with_raw_response.create(extra_headers={"x-stainless-retry-count": "42"})
16231625

16241626
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
16251627

0 commit comments

Comments
 (0)