Skip to content

Commit 716a70f

Browse files
committed
Migrate from httpx to httpx2
httpx has not had a release in 18 months, while the fork httpx2 is actively maintained.
1 parent 2c98ee3 commit 716a70f

7 files changed

Lines changed: 26 additions & 25 deletions

File tree

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ classifiers = [
1212
"Intended Audience :: Developers",
1313
"Topic :: Software Development :: Libraries",
1414
]
15-
dependencies = ["httpx>=0.24", "pydantic>=2"]
15+
dependencies = ["httpx2>=2", "pydantic>=2"]
1616

1717
[project.urls]
1818
Homepage = "https://github.com/crdbrd/python-brreg"
@@ -41,10 +41,10 @@ pyright = ["basedpyright==1.39.6"]
4141
ruff = ["ruff==0.15.14"]
4242
tests = [
4343
"coverage>=7.6.12",
44-
"pytest>=8.3.4",
44+
"httpx2-pytest>=1",
4545
"pytest-cov>=6.0.0",
46-
"pytest-httpx>=0.35.0",
4746
"pytest-watcher>=0.4.3",
47+
"pytest>=8.3.4",
4848
]
4949
ty = ["ty==0.0.39"]
5050
zizmor = ["zizmor==1.25.2"]

src/brreg/enhetsregisteret/_client.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from types import TracebackType
44
from typing import Any
55

6-
import httpx
6+
import httpx2
77

88
import brreg
99
from brreg import BrregError, BrregRestError
@@ -38,7 +38,7 @@ class Client:
3838
client.close()
3939
"""
4040

41-
_client: httpx.Client
41+
_client: httpx2.Client
4242

4343
def __init__(self) -> None:
4444
self.open()
@@ -59,11 +59,12 @@ def open(self) -> None:
5959
6060
This is called automatically when the client is created.
6161
"""
62-
self._client = httpx.Client(
62+
self._client = httpx2.Client(
6363
base_url="https://data.brreg.no/enhetsregisteret/api",
6464
headers={
6565
"user-agent": (
66-
f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
66+
f"python-brreg/{brreg.__version__} "
67+
f"python-httpx2/{httpx2.__version__}"
6768
),
6869
},
6970
)
@@ -188,8 +189,8 @@ def search_underenhet(
188189
def error_handler() -> Generator[None, Any, None]:
189190
try:
190191
yield
191-
except httpx.HTTPError as exc:
192-
response: httpx.Response | None = getattr(exc, "response", None)
192+
except httpx2.HTTPError as exc:
193+
response: httpx2.Response | None = getattr(exc, "response", None)
193194
raise BrregRestError(
194195
str(exc),
195196
method=(exc.request.method if exc.request else None),

tests/enhetsregisteret/test_get_enhet.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from datetime import date
22
from pathlib import Path
33

4-
import httpx
4+
import httpx2
55
import pytest
6-
from pytest_httpx import HTTPXMock
6+
from pytest_httpx2 import HTTPXMock
77

88
import brreg
99
from brreg import BrregError, BrregRestError, enhetsregisteret
@@ -26,7 +26,7 @@ def test_get_enhet(httpx_mock: HTTPXMock) -> None:
2626
assert len(requests) == 1
2727
assert (
2828
requests[0].headers["user-agent"]
29-
== f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
29+
== f"python-brreg/{brreg.__version__} python-httpx2/{httpx2.__version__}"
3030
)
3131

3232
assert org is not None
@@ -138,7 +138,7 @@ def test_get_enhet_when_bad_request(httpx_mock: HTTPXMock) -> None:
138138

139139
def test_get_enhet_when_http_timeout(httpx_mock: HTTPXMock) -> None:
140140
httpx_mock.add_exception( # pyright: ignore[reportUnknownMemberType]
141-
httpx.ConnectTimeout("Connection refused"),
141+
httpx2.ConnectTimeout("Connection refused"),
142142
)
143143

144144
with pytest.raises(BrregRestError) as exc_info:

tests/enhetsregisteret/test_get_roller.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from datetime import date
22
from pathlib import Path
33

4-
import httpx
4+
import httpx2
55
import pytest
6-
from pytest_httpx import HTTPXMock
6+
from pytest_httpx2 import HTTPXMock
77

88
import brreg
99
from brreg import enhetsregisteret
@@ -26,7 +26,7 @@ def test_get_roller_with_person(httpx_mock: HTTPXMock) -> None:
2626
assert len(requests) == 1
2727
assert (
2828
requests[0].headers["user-agent"]
29-
== f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
29+
== f"python-brreg/{brreg.__version__} python-httpx2/{httpx2.__version__}"
3030
)
3131

3232
assert rollegrupper

tests/enhetsregisteret/test_get_underenhet.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from datetime import date
22
from pathlib import Path
33

4-
import httpx
4+
import httpx2
55
import pytest
6-
from pytest_httpx import HTTPXMock
6+
from pytest_httpx2 import HTTPXMock
77

88
import brreg
99
from brreg import enhetsregisteret
@@ -26,7 +26,7 @@ def test_get_underenhet(httpx_mock: HTTPXMock) -> None:
2626
assert len(requests) == 1
2727
assert (
2828
requests[0].headers["user-agent"]
29-
== f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
29+
== f"python-brreg/{brreg.__version__} python-httpx2/{httpx2.__version__}"
3030
)
3131

3232
assert org is not None

tests/enhetsregisteret/test_search_enhet.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from datetime import date
22
from pathlib import Path
33

4-
import httpx
5-
from pytest_httpx import HTTPXMock
4+
import httpx2
5+
from pytest_httpx2 import HTTPXMock
66

77
import brreg
88
from brreg import enhetsregisteret
@@ -59,7 +59,7 @@ def test_search_enhet(httpx_mock: HTTPXMock) -> None:
5959
assert len(requests) == 1
6060
assert (
6161
requests[0].headers["user-agent"]
62-
== f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
62+
== f"python-brreg/{brreg.__version__} python-httpx2/{httpx2.__version__}"
6363
)
6464

6565
page = next(cursor.pages)

tests/enhetsregisteret/test_search_underenhet.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from datetime import date
22
from pathlib import Path
33

4-
import httpx
5-
from pytest_httpx import HTTPXMock
4+
import httpx2
5+
from pytest_httpx2 import HTTPXMock
66

77
import brreg
88
from brreg import enhetsregisteret
@@ -54,7 +54,7 @@ def test_search_underenhet(httpx_mock: HTTPXMock) -> None:
5454
assert len(requests) == 1
5555
assert (
5656
requests[0].headers["user-agent"]
57-
== f"python-brreg/{brreg.__version__} python-httpx/{httpx.__version__}"
57+
== f"python-brreg/{brreg.__version__} python-httpx2/{httpx2.__version__}"
5858
)
5959

6060
page = next(cursor.pages)

0 commit comments

Comments
 (0)