Skip to content

Commit 2d3a56a

Browse files
authored
Merge pull request #53 from DataMini/release-please--branches--main--changes--next
release: 3.6.0
2 parents d1aa98d + 9ffc0c0 commit 2d3a56a

28 files changed

+156
-83
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "3.5.0"
2+
".": "3.6.0"
33
}

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 82
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-4bee800ad604492e6ee5776c10e1668037755aeaae6ff6faa2d09a0c3763eeee.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini%2Fasktable-8e9dc6bfba12f2eba83e978265436d2d6daabb89b04188ee749a32b3e2a6f55d.yml

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## 3.6.0 (2024-12-10)
4+
5+
Full Changelog: [v3.5.0...v3.6.0](https://github.com/DataMini/asktable-python/compare/v3.5.0...v3.6.0)
6+
7+
### Features
8+
9+
* **api:** api update ([#56](https://github.com/DataMini/asktable-python/issues/56)) ([85f14bf](https://github.com/DataMini/asktable-python/commit/85f14bf4c1a6ab1847ea70a1f92ab9fc6b84792d))
10+
* **api:** api update ([#58](https://github.com/DataMini/asktable-python/issues/58)) ([d8e87aa](https://github.com/DataMini/asktable-python/commit/d8e87aa6f7882c7c30c25876c9cd97b975108487))
11+
* **api:** api update ([#60](https://github.com/DataMini/asktable-python/issues/60)) ([d2fde2c](https://github.com/DataMini/asktable-python/commit/d2fde2c2c9dce66f76a81110ece132d64d7e91df))
12+
* **api:** api update ([#61](https://github.com/DataMini/asktable-python/issues/61)) ([b2a2931](https://github.com/DataMini/asktable-python/commit/b2a2931c8ff148f7c9289e5f3a26e212f0a00b6a))
13+
* **api:** api update ([#62](https://github.com/DataMini/asktable-python/issues/62)) ([9a0ade8](https://github.com/DataMini/asktable-python/commit/9a0ade84afdd1533abe882ddff731b7e62dfe949))
14+
15+
16+
### Bug Fixes
17+
18+
* **client:** compat with new httpx 0.28.0 release ([#55](https://github.com/DataMini/asktable-python/issues/55)) ([9b90d53](https://github.com/DataMini/asktable-python/commit/9b90d53934ef35395dd9760e0440cf97e6e0c148))
19+
20+
21+
### Chores
22+
23+
* **internal:** bump pydantic dependency ([#63](https://github.com/DataMini/asktable-python/issues/63)) ([73e26c6](https://github.com/DataMini/asktable-python/commit/73e26c6a80a0a77afaa0a7592f255a2505ac2dcf))
24+
* **internal:** bump pyright ([#57](https://github.com/DataMini/asktable-python/issues/57)) ([a4d4a4c](https://github.com/DataMini/asktable-python/commit/a4d4a4c6a4e9c0bc6f84eccd33ffba754f90a6e5))
25+
* **internal:** codegen related update ([#52](https://github.com/DataMini/asktable-python/issues/52)) ([5ca5165](https://github.com/DataMini/asktable-python/commit/5ca5165218fbe650f9ce1d4dc27cbc2b258c5b62))
26+
* **internal:** codegen related update ([#64](https://github.com/DataMini/asktable-python/issues/64)) ([aa903ed](https://github.com/DataMini/asktable-python/commit/aa903ede9be8e28ba1c2f05cda4455940627f630))
27+
* **internal:** exclude mypy from running on tests ([#54](https://github.com/DataMini/asktable-python/issues/54)) ([3e6ef7b](https://github.com/DataMini/asktable-python/commit/3e6ef7bdd00bd2af75f762c5002d754b314fdf99))
28+
* make the `Omit` type public ([#59](https://github.com/DataMini/asktable-python/issues/59)) ([ebaba2d](https://github.com/DataMini/asktable-python/commit/ebaba2d5e62fad4fa7091436b5713d1096620090))
29+
330
## 3.5.0 (2024-11-25)
431

532
Full Changelog: [v3.4.0...v3.5.0](https://github.com/DataMini/asktable-python/compare/v3.4.0...v3.5.0)

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,12 +235,14 @@ Note that requests that time out are [retried twice by default](#retries).
235235

236236
We use the standard library [`logging`](https://docs.python.org/3/library/logging.html) module.
237237

238-
You can enable logging by setting the environment variable `ASKTABLE_LOG` to `debug`.
238+
You can enable logging by setting the environment variable `ASKTABLE_LOG` to `info`.
239239

240240
```shell
241-
$ export ASKTABLE_LOG=debug
241+
$ export ASKTABLE_LOG=info
242242
```
243243

244+
Or to `debug` for more verbose logging.
245+
244246
### How to tell whether `None` means `null` or missing
245247

246248
In an API response, a field may be explicitly `null`, or missing entirely; in either case, its value is `None` in this library. You can differentiate the two cases with `.model_fields_set`:
@@ -331,18 +333,19 @@ can also get all the extra fields on the Pydantic model as a dict with
331333

332334
You can directly override the [httpx client](https://www.python-httpx.org/api/#client) to customize it for your use case, including:
333335

334-
- Support for proxies
335-
- Custom transports
336+
- Support for [proxies](https://www.python-httpx.org/advanced/proxies/)
337+
- Custom [transports](https://www.python-httpx.org/advanced/transports/)
336338
- Additional [advanced](https://www.python-httpx.org/advanced/clients/) functionality
337339

338340
```python
341+
import httpx
339342
from asktable import Asktable, DefaultHttpxClient
340343

341344
client = Asktable(
342345
# Or use the `ASKTABLE_BASE_URL` env var
343346
base_url="http://my.test.server.example.com:8083",
344347
http_client=DefaultHttpxClient(
345-
proxies="http://my.test.proxy.example.com",
348+
proxy="http://my.test.proxy.example.com",
346349
transport=httpx.HTTPTransport(local_address="0.0.0.0"),
347350
),
348351
)

mypy.ini

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ show_error_codes = True
55
# Exclude _files.py because mypy isn't smart enough to apply
66
# the correct type narrowing and as this is an internal module
77
# it's fine to just use Pyright.
8-
exclude = ^(src/asktable/_files\.py|_dev/.*\.py)$
8+
#
9+
# We also exclude our `tests` as mypy doesn't always infer
10+
# types correctly and Pyright will still catch any type errors.
11+
exclude = ^(src/asktable/_files\.py|_dev/.*\.py|tests/.*)$
912

1013
strict_equality = True
1114
implicit_reexport = True

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "asktable"
3-
version = "3.5.0"
3+
version = "3.6.0"
44
description = "The official Python library for the asktable API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"
@@ -14,7 +14,6 @@ dependencies = [
1414
"anyio>=3.5.0, <5",
1515
"distro>=1.7.0, <2",
1616
"sniffio",
17-
"cached-property; python_version < '3.8'",
1817
]
1918
requires-python = ">= 3.8"
2019
classifiers = [

requirements-dev.lock

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ platformdirs==3.11.0
6262
# via virtualenv
6363
pluggy==1.5.0
6464
# via pytest
65-
pydantic==2.9.2
65+
pydantic==2.10.3
6666
# via asktable
67-
pydantic-core==2.23.4
67+
pydantic-core==2.27.1
6868
# via pydantic
6969
pygments==2.18.0
7070
# via rich
71-
pyright==1.1.380
71+
pyright==1.1.389
7272
pytest==8.3.3
7373
# via pytest-asyncio
7474
pytest-asyncio==0.24.0
@@ -97,6 +97,7 @@ typing-extensions==4.12.2
9797
# via mypy
9898
# via pydantic
9999
# via pydantic-core
100+
# via pyright
100101
virtualenv==20.24.5
101102
# via nox
102103
zipp==3.17.0

requirements.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ httpx==0.25.2
3030
idna==3.4
3131
# via anyio
3232
# via httpx
33-
pydantic==2.9.2
33+
pydantic==2.10.3
3434
# via asktable
35-
pydantic-core==2.23.4
35+
pydantic-core==2.27.1
3636
# via pydantic
3737
sniffio==1.3.0
3838
# via anyio

src/asktable/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
from . import types
4-
from ._types import NOT_GIVEN, NoneType, NotGiven, Transport, ProxiesTypes
4+
from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
55
from ._utils import file_from_path
66
from ._client import (
77
Client,
@@ -46,6 +46,7 @@
4646
"ProxiesTypes",
4747
"NotGiven",
4848
"NOT_GIVEN",
49+
"Omit",
4950
"AsktableError",
5051
"APIError",
5152
"APIStatusError",

src/asktable/_base_client.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,7 @@ def __init__(
792792
custom_query: Mapping[str, object] | None = None,
793793
_strict_response_validation: bool,
794794
) -> None:
795+
kwargs: dict[str, Any] = {}
795796
if limits is not None:
796797
warnings.warn(
797798
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
@@ -804,6 +805,7 @@ def __init__(
804805
limits = DEFAULT_CONNECTION_LIMITS
805806

806807
if transport is not None:
808+
kwargs["transport"] = transport
807809
warnings.warn(
808810
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
809811
category=DeprecationWarning,
@@ -813,6 +815,7 @@ def __init__(
813815
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
814816

815817
if proxies is not None:
818+
kwargs["proxies"] = proxies
816819
warnings.warn(
817820
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
818821
category=DeprecationWarning,
@@ -856,10 +859,9 @@ def __init__(
856859
base_url=base_url,
857860
# cast to a valid type because mypy doesn't understand our type narrowing
858861
timeout=cast(Timeout, timeout),
859-
proxies=proxies,
860-
transport=transport,
861862
limits=limits,
862863
follow_redirects=True,
864+
**kwargs, # type: ignore
863865
)
864866

865867
def is_closed(self) -> bool:
@@ -1358,6 +1360,7 @@ def __init__(
13581360
custom_headers: Mapping[str, str] | None = None,
13591361
custom_query: Mapping[str, object] | None = None,
13601362
) -> None:
1363+
kwargs: dict[str, Any] = {}
13611364
if limits is not None:
13621365
warnings.warn(
13631366
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
@@ -1370,6 +1373,7 @@ def __init__(
13701373
limits = DEFAULT_CONNECTION_LIMITS
13711374

13721375
if transport is not None:
1376+
kwargs["transport"] = transport
13731377
warnings.warn(
13741378
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
13751379
category=DeprecationWarning,
@@ -1379,6 +1383,7 @@ def __init__(
13791383
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
13801384

13811385
if proxies is not None:
1386+
kwargs["proxies"] = proxies
13821387
warnings.warn(
13831388
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
13841389
category=DeprecationWarning,
@@ -1422,10 +1427,9 @@ def __init__(
14221427
base_url=base_url,
14231428
# cast to a valid type because mypy doesn't understand our type narrowing
14241429
timeout=cast(Timeout, timeout),
1425-
proxies=proxies,
1426-
transport=transport,
14271430
limits=limits,
14281431
follow_redirects=True,
1432+
**kwargs, # type: ignore
14291433
)
14301434

14311435
def is_closed(self) -> bool:

0 commit comments

Comments
 (0)