Skip to content

Commit 0c04308

Browse files
release: 2.1.0 (#19)
Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 0b20a21 commit 0c04308

72 files changed

Lines changed: 2655 additions & 1180 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
name: CI
22
on:
33
push:
4-
branches-ignore:
5-
- 'generated'
6-
- 'codegen/**'
7-
- 'integrated/**'
8-
- 'stl-preview-head/**'
9-
- 'stl-preview-base/**'
4+
branches:
5+
- '**'
6+
- '!integrated/**'
7+
- '!stl-preview-head/**'
8+
- '!stl-preview-base/**'
9+
- '!generated'
10+
- '!codegen/**'
11+
- 'codegen/stl/**'
1012
pull_request:
1113
branches-ignore:
1214
- 'stl-preview-head/**'
@@ -17,9 +19,9 @@ jobs:
1719
timeout-minutes: 10
1820
name: lint
1921
runs-on: ${{ github.repository == 'stainless-sdks/postgrid-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
20-
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
22+
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
2123
steps:
22-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v6
2325

2426
- name: Install Rye
2527
run: |
@@ -36,15 +38,15 @@ jobs:
3638
run: ./scripts/lint
3739

3840
build:
39-
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
41+
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
4042
timeout-minutes: 10
4143
name: build
4244
permissions:
4345
contents: read
4446
id-token: write
4547
runs-on: ${{ github.repository == 'stainless-sdks/postgrid-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
4648
steps:
47-
- uses: actions/checkout@v4
49+
- uses: actions/checkout@v6
4850

4951
- name: Install Rye
5052
run: |
@@ -61,14 +63,18 @@ jobs:
6163
run: rye build
6264

6365
- name: Get GitHub OIDC Token
64-
if: github.repository == 'stainless-sdks/postgrid-python'
66+
if: |-
67+
github.repository == 'stainless-sdks/postgrid-python' &&
68+
!startsWith(github.ref, 'refs/heads/stl/')
6569
id: github-oidc
66-
uses: actions/github-script@v6
70+
uses: actions/github-script@v8
6771
with:
6872
script: core.setOutput('github_token', await core.getIDToken());
6973

7074
- name: Upload tarball
71-
if: github.repository == 'stainless-sdks/postgrid-python'
75+
if: |-
76+
github.repository == 'stainless-sdks/postgrid-python' &&
77+
!startsWith(github.ref, 'refs/heads/stl/')
7278
env:
7379
URL: https://pkg.stainless.com/s
7480
AUTH: ${{ steps.github-oidc.outputs.github_token }}
@@ -81,7 +87,7 @@ jobs:
8187
runs-on: ${{ github.repository == 'stainless-sdks/postgrid-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
8288
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
8389
steps:
84-
- uses: actions/checkout@v4
90+
- uses: actions/checkout@v6
8591

8692
- name: Install Rye
8793
run: |

.github/workflows/publish-pypi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6
1818

1919
- name: Install Rye
2020
run: |

.github/workflows/release-doctor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
if: github.repository == 'postgrid/postgrid-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
1313

1414
steps:
15-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v6
1616

1717
- name: Check release environment
1818
run: |

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.prism.log
2+
.stdy.log
23
_dev
34

45
__pycache__

.release-please-manifest.json

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

CHANGELOG.md

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

3+
## 2.1.0 (2026-03-26)
4+
5+
Full Changelog: [v2.0.3...v2.1.0](https://github.com/postgrid/postgrid-python/compare/v2.0.3...v2.1.0)
6+
7+
### Features
8+
9+
* **client:** add custom JSON encoder for extended type support ([7daf14d](https://github.com/postgrid/postgrid-python/commit/7daf14d1ea87c9036961bbcc15399e90ed118cbb))
10+
* **client:** add support for binary request streaming ([9c92b6a](https://github.com/postgrid/postgrid-python/commit/9c92b6a0f2411b015adf447dffa582836bc1ac4a))
11+
* **internal:** implement indices array format for query and form serialization ([796fd65](https://github.com/postgrid/postgrid-python/commit/796fd65720ecce3553f7adbcef50ac1f85c14291))
12+
13+
14+
### Bug Fixes
15+
16+
* **client:** loosen auth header validation ([af955ca](https://github.com/postgrid/postgrid-python/commit/af955ca7182b4f032d6d9c10faf060668fa43248))
17+
* **deps:** bump minimum typing-extensions version ([aa94631](https://github.com/postgrid/postgrid-python/commit/aa94631c7c4fd65cff55b9d86263aa1926dd4f75))
18+
* **pydantic:** do not pass `by_alias` unless set ([6f9b35c](https://github.com/postgrid/postgrid-python/commit/6f9b35c003e312b228ba36b527a09671b0700039))
19+
* sanitize endpoint path params ([b59444c](https://github.com/postgrid/postgrid-python/commit/b59444c1ceb05ede740db7dd87eec8e2a7478de1))
20+
* use async_to_httpx_files in patch method ([a3b137a](https://github.com/postgrid/postgrid-python/commit/a3b137ae1ab33697009d7b508a8d22f7349b9dec))
21+
22+
23+
### Chores
24+
25+
* **ci:** skip lint on metadata-only changes ([7538d3d](https://github.com/postgrid/postgrid-python/commit/7538d3d8a3b9e34a00b9c8b4ad1db5a81224f287))
26+
* **ci:** skip uploading artifacts on stainless-internal branches ([a64ce59](https://github.com/postgrid/postgrid-python/commit/a64ce5957d66b86e6d14bdcf4ed29eb12f5d559c))
27+
* **ci:** upgrade `actions/github-script` ([e2ea5fd](https://github.com/postgrid/postgrid-python/commit/e2ea5fdecfc467358d53198d37f153ea7f7bf0cf))
28+
* **docs:** add missing descriptions ([9dd7392](https://github.com/postgrid/postgrid-python/commit/9dd73922effb1185e3ef1a21cf0118f1b1319384))
29+
* format all `api.md` files ([0a364e2](https://github.com/postgrid/postgrid-python/commit/0a364e28d4d8c4039925ead02608bcc66f6253f8))
30+
* **internal:** add `--fix` argument to lint script ([e8d9998](https://github.com/postgrid/postgrid-python/commit/e8d9998a7bc735ebb82e4071f479b6d811746abd))
31+
* **internal:** add missing files argument to base client ([6dbed91](https://github.com/postgrid/postgrid-python/commit/6dbed918a54c190cda4e2b7c1c8b56867bde3562))
32+
* **internal:** add request options to SSE classes ([986b89d](https://github.com/postgrid/postgrid-python/commit/986b89d9ed6752401d1a0a2caa05a74b3fc805ff))
33+
* **internal:** bump dependencies ([53cb8a0](https://github.com/postgrid/postgrid-python/commit/53cb8a03ab0c3d88881b7c2acdde5288f8511f7e))
34+
* **internal:** codegen related update ([eb02a83](https://github.com/postgrid/postgrid-python/commit/eb02a837ede94d5440593cb9c921c6e47ae5a0ab))
35+
* **internal:** fix lint error on Python 3.14 ([8a7fe14](https://github.com/postgrid/postgrid-python/commit/8a7fe146bf634f2fab49203e50eca29f43f3f1c3))
36+
* **internal:** make `test_proxy_environment_variables` more resilient ([b33f0fb](https://github.com/postgrid/postgrid-python/commit/b33f0fb4114274c85f1c0441f17bde2de3500180))
37+
* **internal:** make `test_proxy_environment_variables` more resilient to env ([d60d095](https://github.com/postgrid/postgrid-python/commit/d60d09529bdcb3df50effb16c004a04c5ab76e8c))
38+
* **internal:** remove mock server code ([961b979](https://github.com/postgrid/postgrid-python/commit/961b979236edcd88d3c3f2b03f1033940b188bd2))
39+
* **internal:** tweak CI branches ([e723bef](https://github.com/postgrid/postgrid-python/commit/e723befd334a20b5f8b02322edfb84dd19c46337))
40+
* **internal:** update `actions/checkout` version ([0d17288](https://github.com/postgrid/postgrid-python/commit/0d1728886ee999032574dd9877bc85c84930bc3b))
41+
* **internal:** update gitignore ([3e89493](https://github.com/postgrid/postgrid-python/commit/3e89493903b49b783cd2157928455b1b161043f4))
42+
* speedup initial import ([32fb2cc](https://github.com/postgrid/postgrid-python/commit/32fb2cceb7859e77a4840e4f45bc782123aa0359))
43+
* update mock server docs ([168a3b8](https://github.com/postgrid/postgrid-python/commit/168a3b8c77755038a1fefd557d71ad49f753a360))
44+
345
## 2.0.3 (2025-12-09)
446

547
Full Changelog: [v2.0.2...v2.0.3](https://github.com/postgrid/postgrid-python/compare/v2.0.2...v2.0.3)

CONTRIBUTING.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,6 @@ $ pip install ./path-to-wheel-file.whl
8585

8686
## Running tests
8787

88-
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
89-
90-
```sh
91-
# you will need npm installed
92-
$ npx prism mock path/to/your/openapi.yml
93-
```
94-
9588
```sh
9689
$ ./scripts/test
9790
```

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2025 PostGrid
189+
Copyright 2026 PostGrid
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "postgrid-python"
3-
version = "2.0.3"
3+
version = "2.1.0"
44
description = "The official Python library for the PostGrid API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"
@@ -11,7 +11,7 @@ authors = [
1111
dependencies = [
1212
"httpx>=0.23.0, <1",
1313
"pydantic>=1.9.0, <3",
14-
"typing-extensions>=4.10, <5",
14+
"typing-extensions>=4.14, <5",
1515
"anyio>=3.5.0, <5",
1616
"distro>=1.7.0, <2",
1717
"sniffio",
@@ -69,7 +69,7 @@ format = { chain = [
6969
# run formatting again to fix any inconsistencies when imports are stripped
7070
"format:ruff",
7171
]}
72-
"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
72+
"format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'"
7373
"format:ruff" = "ruff format"
7474

7575
"lint" = { chain = [

requirements-dev.lock

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
-e file:.
1313
aiohappyeyeballs==2.6.1
1414
# via aiohttp
15-
aiohttp==3.13.2
15+
aiohttp==3.13.3
1616
# via httpx-aiohttp
1717
# via postgrid-python
1818
aiosignal==1.4.0
1919
# via aiohttp
2020
annotated-types==0.7.0
2121
# via pydantic
22-
anyio==4.12.0
22+
anyio==4.12.1
2323
# via httpx
2424
# via postgrid-python
2525
argcomplete==3.6.3
@@ -31,7 +31,7 @@ attrs==25.4.0
3131
# via nox
3232
backports-asyncio-runner==1.2.0
3333
# via pytest-asyncio
34-
certifi==2025.11.12
34+
certifi==2026.1.4
3535
# via httpcore
3636
# via httpx
3737
colorlog==6.10.1
@@ -61,15 +61,15 @@ httpx==0.28.1
6161
# via httpx-aiohttp
6262
# via postgrid-python
6363
# via respx
64-
httpx-aiohttp==0.1.9
64+
httpx-aiohttp==0.1.12
6565
# via postgrid-python
6666
humanize==4.13.0
6767
# via nox
6868
idna==3.11
6969
# via anyio
7070
# via httpx
7171
# via yarl
72-
importlib-metadata==8.7.0
72+
importlib-metadata==8.7.1
7373
iniconfig==2.1.0
7474
# via pytest
7575
markdown-it-py==3.0.0
@@ -82,14 +82,14 @@ multidict==6.7.0
8282
mypy==1.17.0
8383
mypy-extensions==1.1.0
8484
# via mypy
85-
nodeenv==1.9.1
85+
nodeenv==1.10.0
8686
# via pyright
8787
nox==2025.11.12
8888
packaging==25.0
8989
# via dependency-groups
9090
# via nox
9191
# via pytest
92-
pathspec==0.12.1
92+
pathspec==1.0.3
9393
# via mypy
9494
platformdirs==4.4.0
9595
# via virtualenv
@@ -115,13 +115,13 @@ python-dateutil==2.9.0.post0
115115
# via time-machine
116116
respx==0.22.0
117117
rich==14.2.0
118-
ruff==0.14.7
118+
ruff==0.14.13
119119
six==1.17.0
120120
# via python-dateutil
121121
sniffio==1.3.1
122122
# via postgrid-python
123123
time-machine==2.19.0
124-
tomli==2.3.0
124+
tomli==2.4.0
125125
# via dependency-groups
126126
# via mypy
127127
# via nox
@@ -141,7 +141,7 @@ typing-extensions==4.15.0
141141
# via virtualenv
142142
typing-inspection==0.4.2
143143
# via pydantic
144-
virtualenv==20.35.4
144+
virtualenv==20.36.1
145145
# via nox
146146
yarl==1.22.0
147147
# via aiohttp

0 commit comments

Comments
 (0)