Skip to content

Commit d5cd7fe

Browse files
Merge branch 'master' into docs-logging
2 parents 86fa46b + bc00d2b commit d5cd7fe

17 files changed

Lines changed: 50 additions & 38 deletions

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: "actions/checkout@v4"
1818
- uses: "actions/setup-python@v5"
1919
with:
20-
python-version: 3.8
20+
python-version: 3.9
2121
- name: "Install dependencies"
2222
run: "scripts/install"
2323
- name: "Build package & docs"

.github/workflows/test-suite.yml

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

1515
strategy:
1616
matrix:
17-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
17+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1818

1919
steps:
2020
- uses: "actions/checkout@v4"

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

7+
## [UNRELEASED]
8+
9+
### Removed
10+
11+
* Drop support for Python 3.8
12+
713
## 0.28.1 (6th December, 2024)
814

915
* Fix SSL case where `verify=False` together with client side certificates.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Or, to include the optional HTTP/2 support, use:
101101
$ pip install httpx[http2]
102102
```
103103

104-
HTTPX requires Python 3.8+.
104+
HTTPX requires Python 3.9+.
105105

106106
## Documentation
107107

docs/async.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ To make asynchronous requests, you'll need an `AsyncClient`.
2323
```
2424

2525
!!! tip
26-
Use [IPython](https://ipython.readthedocs.io/en/stable/) or Python 3.8+ with `python -m asyncio` to try this code interactively, as they support executing `async`/`await` expressions in the console.
26+
Use [IPython](https://ipython.readthedocs.io/en/stable/) or Python 3.9+ with `python -m asyncio` to try this code interactively, as they support executing `async`/`await` expressions in the console.
2727

2828
## API Differences
2929

docs/compatibility.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,3 +226,7 @@ For both query params (`params=`) and form data (`data=`), `requests` supports s
226226
In HTTPX, event hooks may access properties of requests and responses, but event hook callbacks cannot mutate the original request/response.
227227

228228
If you are looking for more control, consider checking out [Custom Transports](advanced/transports.md#custom-transports).
229+
230+
## Exceptions and Errors
231+
232+
`requests` exception hierarchy is slightly different to the `httpx` exception hierarchy. `requests` exposes a top level `RequestException`, where as `httpx` exposes a top level `HTTPError`. see the exceptions exposes in requests [here](https://requests.readthedocs.io/en/latest/_modules/requests/exceptions/). See the `httpx` error hierarchy [here](https://www.python-httpx.org/exceptions/).

docs/img/speakeasy.png

-1.79 MB
Loading

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,6 @@ To include the optional brotli and zstandard decoders support, use:
145145
$ pip install httpx[brotli,zstd]
146146
```
147147

148-
HTTPX requires Python 3.8+
148+
HTTPX requires Python 3.9+
149149

150150
[sync-support]: https://github.com/encode/httpx/issues/572

docs/third_party_packages.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ Provides authentication classes to be used with HTTPX's [authentication paramete
2424

2525
This package adds caching functionality to HTTPX
2626

27+
### httpx-secure
28+
29+
[GitHub](https://github.com/Zaczero/httpx-secure)
30+
31+
Drop-in SSRF protection for httpx with DNS caching and custom validation support.
32+
2733
### httpx-socks
2834

2935
[GitHub](https://github.com/romis2012/httpx-socks)

httpx/_exceptions.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,7 @@ class StreamClosed(StreamError):
331331
"""
332332

333333
def __init__(self) -> None:
334-
message = (
335-
"Attempted to read or stream content, but the stream has " "been closed."
336-
)
334+
message = "Attempted to read or stream content, but the stream has been closed."
337335
super().__init__(message)
338336

339337

0 commit comments

Comments
 (0)