| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -51,14 +51,12 @@ jobs: | |||
| 51 | 51 | fail-fast: false | |
| 52 | 52 | matrix: | |
| 53 | 53 | python-version: | |
| 54 | - - "3.9" | ||
| 55 | 54 | - "3.10" | |
| 56 | 55 | - "3.11" | |
| 57 | 56 | - "3.12" | |
| 58 | 57 | - "3.13" | |
| 59 | 58 | - "3.14" | |
| 60 | 59 | - "3.14t" | |
| 61 | - - "pypy-3.9" | ||
| 62 | 60 | - "pypy-3.10" | |
| 63 | 61 | os: | |
| 64 | 62 | - ubuntu-latest | |
@@ -72,12 +70,8 @@ jobs: | |||
| 72 | 70 | extension: use_cython | |
| 73 | 71 | - os: windows-latest | |
| 74 | 72 | extension: use_cython | |
| 75 | - - os: windows-latest | ||
| 76 | - python-version: "pypy-3.9" | ||
| 77 | 73 | - os: windows-latest | |
| 78 | 74 | python-version: "pypy-3.10" | |
| 79 | - - os: macos-latest | ||
| 80 | - python-version: "pypy-3.9" | ||
| 81 | 75 | - os: macos-latest | |
| 82 | 76 | python-version: "pypy-3.10" | |
| 83 | 77 | runs-on: ${{ matrix.os }} | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -38,7 +38,7 @@ repos: | |||
| 38 | 38 | rev: v3.21.2 | |
| 39 | 39 | hooks: | |
| 40 | 40 | - id: pyupgrade | |
| 41 | - args: [--py39-plus] | ||
| 41 | + args: [--py310-plus] | ||
| 42 | 42 | - repo: https://github.com/astral-sh/ruff-pre-commit | |
| 43 | 43 | rev: v0.15.12 | |
| 44 | 44 | hooks: | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -70,13 +70,13 @@ path. The authoritative list of cythonized modules lives in | |||
| 70 | 70 | and `zeroconf/asyncio.py` re-export. | |
| 71 | 71 | ||
| 72 | 72 | - **Line length**: 110 (ruff `line-length = 110`). | |
| 73 | - `requires-python = ">=3.9"`, `target-version = "py39"` for | ||
| 74 | - ruff; pyupgrade runs `--py39-plus`. | ||
| 73 | + `requires-python = ">=3.10"`, `target-version = "py310"` for | ||
| 74 | + ruff; pyupgrade runs `--py310-plus`. | ||
| 75 | 75 | ||
| 76 | 76 | - **Imports**: ruff/isort sorted, `profile = "black"`, | |
| 77 | 77 | `known_first_party = ["zeroconf", "tests"]`. Prefer | |
| 78 | 78 | `from __future__ import annotations` so modern type syntax | |
| 79 | - works on 3.9. | ||
| 79 | + works on 3.10. | ||
| 80 | 80 | ||
| 81 | 81 | - **Generated `.c` files are not lint-targets.** `*.c` files | |
| 82 | 82 | next to each cythonized module are Cython output — never hand- | |
@@ -124,8 +124,8 @@ CodSpeed benchmarks live under `tests/benchmarks/` and run in CI | |||
| 124 | 124 | through `CodSpeedHQ/action`. Ad-hoc microbenchmarks for manual | |
| 125 | 125 | profiling live under `bench/` — those don't run in CI. | |
| 126 | 126 | ||
| 127 | - The CI matrix includes CPython 3.9 – 3.14, the free-threaded | ||
| 128 | - 3.14t build, and PyPy 3.9 / 3.10. Don't add anything that breaks | ||
| 127 | + The CI matrix includes CPython 3.10 – 3.14, the free-threaded | ||
| 128 | + 3.14t build, and PyPy 3.10. Don't add anything that breaks | ||
| 129 | 129 | on the free-threaded build (no module-level mutable globals | |
| 130 | 130 | mutated from multiple threads without locks; no | |
| 131 | 131 | `PyDict_Next`-style escape hatches in Cython). | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -53,8 +53,8 @@ Compared to some other Zeroconf/Bonjour/Avahi Python packages, python-zeroconf: | |||
| 53 | 53 | Python compatibility | |
| 54 | 54 | -------------------- | |
| 55 | 55 | ||
| 56 | - * CPython 3.9+ | ||
| 57 | - * PyPy 3.9+ | ||
| 56 | + * CPython 3.10+ | ||
| 57 | + * PyPy 3.10+ | ||
| 58 | 58 | ||
| 59 | 59 | Versioning | |
| 60 | 60 | ---------- | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -14,7 +14,7 @@ authors = [ | |||
| 14 | 14 | { name = "Jakub Stasiak" }, | |
| 15 | 15 | { name = "J. Nick Koston" }, | |
| 16 | 16 | ] | |
| 17 | - requires-python = ">=3.9" | ||
| 17 | + requires-python = ">=3.10" | ||
| 18 | 18 | ||
| 19 | 19 | [project.urls] | |
| 20 | 20 | "Repository" = "https://github.com/python-zeroconf/python-zeroconf" | |
@@ -80,7 +80,7 @@ match = "(?!(master|release-0.x)$)" | |||
| 80 | 80 | prerelease = true | |
| 81 | 81 | ||
| 82 | 82 | [tool.poetry.dependencies] | |
| 83 | - python = "^3.9" | ||
| 83 | + python = "^3.10" | ||
| 84 | 84 | ifaddr = ">=0.1.7" | |
| 85 | 85 | ||
| 86 | 86 | [tool.poetry.group.dev.dependencies] | |
@@ -97,7 +97,7 @@ sphinx = "^7.4.7 || ^8.1.3" | |||
| 97 | 97 | sphinx-rtd-theme = "^3.1.0" | |
| 98 | 98 | ||
| 99 | 99 | [tool.ruff] | |
| 100 | - target-version = "py39" | ||
| 100 | + target-version = "py310" | ||
| 101 | 101 | line-length = 110 | |
| 102 | 102 | ||
| 103 | 103 | [tool.ruff.lint] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -24,7 +24,7 @@ | |||
| 24 | 24 | ||
| 25 | 25 | from collections.abc import Iterable | |
| 26 | 26 | from heapq import heapify, heappop, heappush | |
| 27 | - from typing import Union, cast | ||
| 27 | + from typing import cast | ||
| 28 | 28 | ||
| 29 | 29 | from ._dns import ( | |
| 30 | 30 | DNSAddress, | |
@@ -40,7 +40,7 @@ | |||
| 40 | 40 | from .const import _ONE_SECOND, _TYPE_PTR | |
| 41 | 41 | ||
| 42 | 42 | _UNIQUE_RECORD_TYPES = (DNSAddress, DNSHinfo, DNSPointer, DNSText, DNSService) | |
| 43 | - _UniqueRecordsType = Union[DNSAddress, DNSHinfo, DNSPointer, DNSText, DNSService] | ||
| 43 | + _UniqueRecordsType = DNSAddress | DNSHinfo | DNSPointer | DNSText | DNSService | ||
| 44 | 44 | _DNSRecordCacheType = dict[str, dict[DNSRecord, DNSRecord]] | |
| 45 | 45 | _DNSRecord = DNSRecord | |
| 46 | 46 | _str = str | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -23,7 +23,8 @@ | |||
| 23 | 23 | from __future__ import annotations | |
| 24 | 24 | ||
| 25 | 25 | import enum | |
| 26 | - from typing import TYPE_CHECKING, Any, Callable | ||
| 26 | + from collections.abc import Callable | ||
| 27 | + from typing import TYPE_CHECKING, Any | ||
| 27 | 28 | ||
| 28 | 29 | if TYPE_CHECKING: | |
| 29 | 30 | from .._core import Zeroconf | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -30,13 +30,12 @@ | |||
| 30 | 30 | import threading | |
| 31 | 31 | import time | |
| 32 | 32 | import warnings | |
| 33 | - from collections.abc import Iterable | ||
| 33 | + from collections.abc import Callable, Iterable | ||
| 34 | 34 | from functools import partial | |
| 35 | 35 | from types import TracebackType # used in type hints | |
| 36 | 36 | from typing import ( | |
| 37 | 37 | TYPE_CHECKING, | |
| 38 | 38 | Any, | |
| 39 | - Callable, | ||
| 40 | 39 | cast, | |
| 41 | 40 | ) | |
| 42 | 41 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -30,7 +30,7 @@ | |||
| 30 | 30 | import sys | |
| 31 | 31 | import warnings | |
| 32 | 32 | from collections.abc import Iterable, Sequence | |
| 33 | - from typing import Any, Union, cast | ||
| 33 | + from typing import Any, cast | ||
| 34 | 34 | ||
| 35 | 35 | import ifaddr | |
| 36 | 36 | ||
@@ -44,7 +44,7 @@ class InterfaceChoice(enum.Enum): | |||
| 44 | 44 | All = 2 | |
| 45 | 45 | ||
| 46 | 46 | ||
| 47 | - InterfacesType = Union[Sequence[Union[str, int, tuple[tuple[str, int, int], int]]], InterfaceChoice] | ||
| 47 | + InterfacesType = Sequence[str | int | tuple[tuple[str, int, int], int]] | InterfaceChoice | ||
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | 50 | @enum.unique | |
| Back | FazBrowse Home | New Git URL |
0 commit comments