From 47fcc4acf45032688168381c9cfdebe829bd1669 Mon Sep 17 00:00:00 2001 From: carlosmiei <43336371+carlosmiei@users.noreply.github.com> Date: Thu, 27 Feb 2025 11:02:00 +0000 Subject: [PATCH 1/4] update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 66df4895e..8ce4dbfe4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ python_binance.egg-info/ .idea/ venv*/ .vscode +.binance/ \ No newline at end of file From 00d9d341788a123a49deac552cf95581acdb3433 Mon Sep 17 00:00:00 2001 From: carlosmiei <43336371+carlosmiei@users.noreply.github.com> Date: Mon, 19 May 2025 14:45:51 +0100 Subject: [PATCH 2/4] bump version --- README.rst | 2 +- binance/__init__.py | 2 +- docs/changelog.rst | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index bdca1146c..088a3227d 100755 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ ================================= -Welcome to python-binance v1.0.28 +Welcome to python-binance v1.0.29 ================================= .. image:: https://img.shields.io/pypi/v/python-binance.svg diff --git a/binance/__init__.py b/binance/__init__.py index 7f3012eb1..33b56ff52 100755 --- a/binance/__init__.py +++ b/binance/__init__.py @@ -4,7 +4,7 @@ """ -__version__ = "1.0.28" +__version__ = "1.0.29" from binance.async_client import AsyncClient # noqa from binance.client import Client # noqa diff --git a/docs/changelog.rst b/docs/changelog.rst index 26baadea4..09bd4832d 100755 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,8 +1,15 @@ Changelog ========= +v1.0.29 - 2025-05-19 +^^^^^^^^^^^^^^^^^^^^ + +**Fixed** + +- Ws tesnet spot URLs update + -v1.0.28 - 2024-02-27 +v1.0.28 - 2025-02-27 ^^^^^^^^^^^^^^^^^^^^ **Added** From 638a4252cce9b082273ec16fa215134017dc2ee3 Mon Sep 17 00:00:00 2001 From: carlosmiei <43336371+carlosmiei@users.noreply.github.com> Date: Mon, 3 Nov 2025 18:10:59 +0000 Subject: [PATCH 3/4] fix(client): handle non ascii symbols in public and private methods --- binance/async_client.py | 8 ++++++++ binance/client.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/binance/async_client.py b/binance/async_client.py index f0be76fe3..96fcdec51 100644 --- a/binance/async_client.py +++ b/binance/async_client.py @@ -142,6 +142,14 @@ async def _request( del kwargs["data"][key] break + # handle public usecases + if not signed: + if "data" in kwargs and "symbol" in kwargs["data"]: + # ensure symbol is url encoded + kwargs["data"]["symbol"] = self.encode_uri_component( + kwargs["data"]["symbol"] + ) + kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs) if method == "get": diff --git a/binance/client.py b/binance/client.py index 95d761905..3df80184c 100755 --- a/binance/client.py +++ b/binance/client.py @@ -73,6 +73,14 @@ def _request( del kwargs["data"][key] break + # handle public usecases + if not signed: + if "data" in kwargs and "symbol" in kwargs["data"]: + # ensure symbol is url encoded + kwargs["data"]["symbol"] = self.encode_uri_component( + kwargs["data"]["symbol"] + ) + kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs) data = kwargs.get("data") From 05cf898ea6be4a482ca8d28fb852a3d39c0f3710 Mon Sep 17 00:00:00 2001 From: carlosmiei <43336371+carlosmiei@users.noreply.github.com> Date: Mon, 3 Nov 2025 18:16:49 +0000 Subject: [PATCH 4/4] fix --- binance/async_client.py | 10 +--------- binance/base_client.py | 2 +- binance/client.py | 8 -------- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/binance/async_client.py b/binance/async_client.py index 96fcdec51..541bd047e 100644 --- a/binance/async_client.py +++ b/binance/async_client.py @@ -142,14 +142,6 @@ async def _request( del kwargs["data"][key] break - # handle public usecases - if not signed: - if "data" in kwargs and "symbol" in kwargs["data"]: - # ensure symbol is url encoded - kwargs["data"]["symbol"] = self.encode_uri_component( - kwargs["data"]["symbol"] - ) - kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs) if method == "get": @@ -174,7 +166,7 @@ async def _request( # Remove proxies from kwargs since aiohttp uses 'proxy' parameter instead kwargs.pop('proxies', None) - + async with getattr(self.session, method)( yarl.URL(uri, encoded=True), proxy=self.https_proxy, diff --git a/binance/base_client.py b/binance/base_client.py index a2b93c51f..b7ae76d74 100644 --- a/binance/base_client.py +++ b/binance/base_client.py @@ -514,7 +514,7 @@ def _get_request_kwargs( # if get request assign data array to params value for requests lib if data and (method == "get" or force_params): kwargs["params"] = "&".join( - "%s=%s" % (data[0], data[1]) for data in kwargs["data"] + "%s=%s" % (data[0], _urlencode.quote(data[1]) if data[0] == 'symbol' else data[1]) for data in kwargs["data"] ) del kwargs["data"] diff --git a/binance/client.py b/binance/client.py index 3df80184c..95d761905 100755 --- a/binance/client.py +++ b/binance/client.py @@ -73,14 +73,6 @@ def _request( del kwargs["data"][key] break - # handle public usecases - if not signed: - if "data" in kwargs and "symbol" in kwargs["data"]: - # ensure symbol is url encoded - kwargs["data"]["symbol"] = self.encode_uri_component( - kwargs["data"]["symbol"] - ) - kwargs = self._get_request_kwargs(method, signed, force_params, **kwargs) data = kwargs.get("data")