Skip to content

Commit b55e3d0

Browse files
feat(api): update via SDK Studio
1 parent ae43ac2 commit b55e3d0

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ pip install git+ssh://[email protected]/stainless-sdks/zeroentropy-python.git
2727
The full API of this library can be found in [api.md](api.md).
2828

2929
```python
30+
import os
3031
from zeroentropy import Zeroentropy
3132

32-
client = Zeroentropy()
33+
client = Zeroentropy(
34+
bearer_token=os.environ.get("ZEROENTROPY_API_KEY"), # This is the default and can be omitted
35+
)
3336

3437
response = client.documents.get_info(
3538
collection_name="collection_name",
@@ -48,10 +51,13 @@ so that your Bearer Token is not stored in source control.
4851
Simply import `AsyncZeroentropy` instead of `Zeroentropy` and use `await` with each API call:
4952

5053
```python
54+
import os
5155
import asyncio
5256
from zeroentropy import AsyncZeroentropy
5357

54-
client = AsyncZeroentropy()
58+
client = AsyncZeroentropy(
59+
bearer_token=os.environ.get("ZEROENTROPY_API_KEY"), # This is the default and can be omitted
60+
)
5561

5662

5763
async def main() -> None:

tests/test_client.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from zeroentropy._types import Omit
2525
from zeroentropy._models import BaseModel, FinalRequestOptions
2626
from zeroentropy._constants import RAW_RESPONSE_HEADER
27-
from zeroentropy._exceptions import APIStatusError, APITimeoutError, APIResponseValidationError
27+
from zeroentropy._exceptions import APIStatusError, APITimeoutError, ZeroentropyError, APIResponseValidationError
2828
from zeroentropy._base_client import (
2929
DEFAULT_TIMEOUT,
3030
HTTPX_DEFAULT_TIMEOUT,
@@ -339,6 +339,16 @@ def test_default_headers_option(self) -> None:
339339
assert request.headers.get("x-foo") == "stainless"
340340
assert request.headers.get("x-stainless-lang") == "my-overriding-header"
341341

342+
def test_validate_headers(self) -> None:
343+
client = Zeroentropy(base_url=base_url, bearer_token=bearer_token, _strict_response_validation=True)
344+
request = client._build_request(FinalRequestOptions(method="get", url="/foo"))
345+
assert request.headers.get("Authorization") == f"Bearer {bearer_token}"
346+
347+
with pytest.raises(ZeroentropyError):
348+
with update_env(**{"ZEROENTROPY_API_KEY": Omit()}):
349+
client2 = Zeroentropy(base_url=base_url, bearer_token=None, _strict_response_validation=True)
350+
_ = client2
351+
342352
def test_default_query_option(self) -> None:
343353
client = Zeroentropy(
344354
base_url=base_url,
@@ -1123,6 +1133,16 @@ def test_default_headers_option(self) -> None:
11231133
assert request.headers.get("x-foo") == "stainless"
11241134
assert request.headers.get("x-stainless-lang") == "my-overriding-header"
11251135

1136+
def test_validate_headers(self) -> None:
1137+
client = AsyncZeroentropy(base_url=base_url, bearer_token=bearer_token, _strict_response_validation=True)
1138+
request = client._build_request(FinalRequestOptions(method="get", url="/foo"))
1139+
assert request.headers.get("Authorization") == f"Bearer {bearer_token}"
1140+
1141+
with pytest.raises(ZeroentropyError):
1142+
with update_env(**{"ZEROENTROPY_API_KEY": Omit()}):
1143+
client2 = AsyncZeroentropy(base_url=base_url, bearer_token=None, _strict_response_validation=True)
1144+
_ = client2
1145+
11261146
def test_default_query_option(self) -> None:
11271147
client = AsyncZeroentropy(
11281148
base_url=base_url,

0 commit comments

Comments
 (0)