Skip to content

Commit 68e1b17

Browse files
authored
Merge pull request #127 from crdbrd/bump-python
2 parents 6be09d2 + 5fa61e1 commit 68e1b17

9 files changed

Lines changed: 124 additions & 152 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ jobs:
1919
fail-fast: false
2020
matrix:
2121
include:
22-
- name: "pytest (3.9)"
23-
python: "3.9"
24-
tox: "3.9"
2522
- name: "pytest (3.10)"
2623
python: "3.10"
2724
tox: "3.10"
@@ -34,6 +31,9 @@ jobs:
3431
- name: "pytest (3.13)"
3532
python: "3.13"
3633
tox: "3.13"
34+
- name: "pytest (3.14)"
35+
python: "3.14"
36+
tox: "3.14"
3737
coverage: true
3838
- name: "mypy"
3939
python: "3.13"

pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "brreg"
33
version = "1.3.0"
44
description = "API client for Brønnøysundregistrene."
55
authors = [{ name = "Stein Magnus Jodal", email = "stein.magnus@jodal.no" }]
6-
requires-python = ">=3.9"
6+
requires-python = ">=3.10"
77
readme = "README.md"
88
license = "Apache-2.0"
99
keywords = ["brreg", "enhetsregisteret"]
@@ -76,7 +76,7 @@ disallow_untyped_defs = true
7676

7777

7878
[tool.pyright]
79-
pythonVersion = "3.9"
79+
pythonVersion = "3.10"
8080
typeCheckingMode = "strict"
8181
# Already covered by tests and careful import ordering:
8282
reportImportCycles = false
@@ -85,7 +85,7 @@ reportPrivateUsage = false
8585

8686

8787
[tool.ruff]
88-
target-version = "py39"
88+
target-version = "py310"
8989

9090
[tool.ruff.lint]
9191
select = ["ALL"]
@@ -112,11 +112,11 @@ keep-runtime-typing = true
112112

113113
[tool.tox]
114114
env_list = [
115-
"3.9",
116115
"3.10",
117116
"3.11",
118117
"3.12",
119118
"3.13",
119+
"3.14",
120120
"docs",
121121
"mypy",
122122
"pyright",

src/brreg/_exceptions.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
from typing import Optional
2-
3-
41
class BrregError(Exception):
52
"""Top-level exception.
63
@@ -16,9 +13,9 @@ def __init__(
1613
self,
1714
msg: str,
1815
*,
19-
method: Optional[str],
20-
url: Optional[str],
21-
status_code: Optional[int],
16+
method: str | None,
17+
url: str | None,
18+
status_code: int | None,
2219
) -> None:
2320
super().__init__(f"REST API exception: {msg}")
2421
self.method = method

src/brreg/enhetsregisteret/_client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from collections.abc import Generator
22
from contextlib import contextmanager
33
from types import TracebackType
4-
from typing import Any, Optional
4+
from typing import Any
55

66
import httpx
77

@@ -48,9 +48,9 @@ def __enter__(self) -> "Client":
4848

4949
def __exit__(
5050
self,
51-
exc_type: Optional[type[BaseException]] = None,
52-
exc_value: Optional[BaseException] = None,
53-
traceback: Optional[TracebackType] = None,
51+
exc_type: type[BaseException] | None = None,
52+
exc_value: BaseException | None = None,
53+
traceback: TracebackType | None = None,
5454
) -> None:
5555
self.close()
5656

@@ -78,7 +78,7 @@ def close(self) -> None:
7878
def get_enhet(
7979
self,
8080
organisasjonsnummer: Organisasjonsnummer,
81-
) -> Optional[Enhet]:
81+
) -> Enhet | None:
8282
"""Get :class:`Enhet` given an organization number."""
8383
orgnr = OrganisasjonsnummerValidator.validate_python(organisasjonsnummer)
8484
with error_handler():
@@ -99,7 +99,7 @@ def get_enhet(
9999
def get_underenhet(
100100
self,
101101
organisasjonsnummer: Organisasjonsnummer,
102-
) -> Optional[Underenhet]:
102+
) -> Underenhet | None:
103103
"""Get :class:`Underenhet` given an organization number."""
104104
orgnr = OrganisasjonsnummerValidator.validate_python(organisasjonsnummer)
105105
with error_handler():
@@ -184,7 +184,7 @@ def error_handler() -> Generator[None, Any, None]:
184184
try:
185185
yield
186186
except httpx.HTTPError as exc:
187-
response: Optional[httpx.Response] = getattr(exc, "response", None)
187+
response: httpx.Response | None = getattr(exc, "response", None)
188188
raise BrregRestError(
189189
str(exc),
190190
method=(exc.request.method if exc.request else None),

src/brreg/enhetsregisteret/_pagination.py

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
1-
from collections.abc import Iterator
2-
from typing import (
3-
Callable,
4-
Generic,
5-
Optional,
6-
TypeVar,
7-
)
8-
9-
from pydantic import (
10-
AliasPath,
11-
BaseModel,
12-
Field,
13-
)
1+
from collections.abc import Callable, Iterator
2+
from typing import Generic, TypeVar
3+
4+
from pydantic import AliasPath, BaseModel, Field
145

156
from brreg.enhetsregisteret._queries import Query
167
from brreg.enhetsregisteret._responses import Enhet, Underenhet
@@ -75,7 +66,7 @@ def __init__(
7566
# Expose the empty first page, even if it says the totalt number of pages is 0.
7667
self.page_numbers = range(max(1, page.total_pages))
7768

78-
def get_page(self, page_number: int) -> Optional[Page[T]]:
69+
def get_page(self, page_number: int) -> Page[T] | None:
7970
"""Get a page by its 0-indexed page number."""
8071
if page_number not in self.page_numbers:
8172
return None

0 commit comments

Comments
 (0)