googleapis / googleapis/python-pubsublite

Dependency on `overrides` causes crash for Python 3.14

Abierto
#560 0 comentarios 0 reacciones 1 asignado Reclamado por @johnjcasey Ver en GitHub
api: pubsublite
Lenguaje dominante
Python
Estrellas
19
Forks
16
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

#### Description

Python 3.14 is scheduled to be released on Tuesday. (https://peps.python.org/pep-0745/) The dependency on `overrides` is a problem, as it raises an `AttributeError` when it is imported under Python 3.14. An [issue](https://github.com/mkorpela/overrides/issues/127) has been raised and a [pull request](https://github.com/mkorpela/overrides/pull/133) has been submitted to the GitHub repo for the `overrides` project. But the maintainer has been unresponsive.

---

#### Environment details

- OS type and version: `Any. Verified on Linux with x86_64 architecture`
- Python version: `Python 3.14.0rc2`
- pip version: `pip 24.3.1`
- `google-cloud-pubsublite` version: `Version: 1.12.0`

#### Steps to reproduce

```sh
git clone git@github.com:googleapis/python-pubsublite.git

cd python-pubsublite

uv venv --clear --python 3.14 && \
uv pip install -e . && \
uv run samples/snippets/list_lite_topics_example.py 1122334455 "us-central1" "a" True
```
```text
AttributeError: module 'typing' has no attribute 'ByteString'
```

#### Code example

Above, I'm just using the `list_lite_topics_example.py` in this repo's `samples/snippets/` directory

#### Stack trace
```
Traceback (most recent call last):
File "/mnt/md0/home/ed/Documents/python-pubsublite/samples/snippets/list_lite_topics_example.py", line 68, in
list_lite_topics(
~~~~~~~~~~~~~~~~^
args.project_number,
^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
args.regional,
^^^^^^^^^^^^^^
)
^
File "/mnt/md0/home/ed/Documents/python-pubsublite/samples/snippets/list_lite_topics_example.py", line 27, in list_lite_topics
from google.cloud.pubsublite import AdminClient
File "/mnt/md0/home/ed/Documents/python-pubsublite/google/cloud/pubsublite/__init__.py", line 119, in
from google.cloud.pubsublite.admin_client import AdminClient
File "/mnt/md0/home/ed/Documents/python-pubsublite/google/cloud/pubsublite/admin_client.py", line 17, in
from overrides import overrides
File "/mnt/md0/home/ed/Documents/python-pubsublite/.venv/lib/python3.14/site-packages/overrides/__init__.py", line 8, in
from overrides.overrides import __VERSION__, overrides, override
File "/mnt/md0/home/ed/Documents/python-pubsublite/.venv/lib/python3.14/site-packages/overrides/overrides.py", line 26, in
from overrides.signature import ensure_signature_is_compatible
File "/mnt/md0/home/ed/Documents/python-pubsublite/.venv/lib/python3.14/site-packages/overrides/signature.py", line 6, in
from .typing_utils import get_args, issubtype
File "/mnt/md0/home/ed/Documents/python-pubsublite/.venv/lib/python3.14/site-packages/overrides/typing_utils.py", line 50, in
typing.ByteString: bytes, # https://docs.python.org/3/library/typing.html#typing.ByteString
^^^^^^^^^^^^^^^^^
File "/home/ed/.local/share/uv/python/cpython-3.14.0rc2-linux-x86_64-gnu/lib/python3.14/typing.py", line 3807, in __getattr__
raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
AttributeError: module 'typing' has no attribute 'ByteString'
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.