generated from rochacbruno/python-project-template
-
-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed
Description
Describe the bug
Hi team hiddify,
It's an awesome xtlsapi you created. It works well on windows, but there were issues when I tried to deploy it on docker. I encountered the following problem in python:alpine container, causing the container to fail to start:
>>> from xtlsapi import XrayClient
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
from xtlsapi import XrayClient
File "/usr/local/lib/python3.13/site-packages/xtlsapi/__init__.py", line 2, in <module>
from xtlsapi.client.SingboxClient import SingboxClient
File "/usr/local/lib/python3.13/site-packages/xtlsapi/client/SingboxClient.py", line 3, in <module>
from xtlsapi.singbox_api_services import APIService
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/__init__.py", line 1, in <module>
from .stats import StatsAPIService
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/stats/__init__.py", line 1, in <module>
from .get_client_upload_traffic import GetClientUploadTraffic
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api_services/stats/get_client_upload_traffic.py", line 2, in <module>
from xtlsapi.singbox_api import stats_pb2
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api/stats_pb2.py", line 14, in <module>
from . import extensions_pb2 as extensions__pb2
File "/usr/local/lib/python3.13/site-packages/xtlsapi/singbox_api/extensions_pb2.py", line 22, in <module>
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_opt)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'MessageOptions' has no attribute 'RegisterExtension'
This seems to be related to mlflow/mlflow#11811. Legacy singbox protobuf gencode prevents further loading when using protobuf without C descriptors, even if not singbox module is imported.
To Reproduce
It's easy to reproduce:
docker run -it python:alpine /bin/sh
pip install xtlsapi
from xtlsapi import XrayClient
Expected behavior
Upgrade singbox protobuf gencode, or lazy import singbox part.
Desktop (please complete the following information):
- docker image python:3.13.2-alpine3.21
- OS: Alpine Linux 3.21
- Python 3.13.2
- using protobuf without C descriptors, like protobuf-5.28.3-py3-none-any.whl
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinghelp wantedExtra attention is neededExtra attention is needed