-- Correct ccxt's impossible pycparser pin (3.0 does not exist). -- pycparser is a transitive dependency of cffi; the latest release is 2.23. -- Upstream: https://github.com/ccxt/ccxt/issues/29383 --- pyproject.toml.orig 2026-10-01 06:19:36 UTC +++ pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools==83.0.0"] +requires = ["setuptools>=63.1.0"] build-backend = "setuptools.build_meta" [project] @@ -7,7 +7,7 @@ readme = "python/README.md" version = "4.5.85" description = "A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go" readme = "python/README.md" -license = "MIT" +license = {text = "MIT"} authors = [ { name = "Igor Kroitor", email = "igor.kroitor@gmail.com" }, ] @@ -43,20 +43,20 @@ dependencies = [ # all dependencies are pinned to exact versions to protect against # malicious or vulnerable releases of downstream dependencies dependencies = [ - "certifi==2026.6.17", + "certifi>=2026.6.17", "requests>=2.32,<3", "cryptography>=50,<51", - "typing_extensions==4.16.0", + "typing_extensions>=4.16.0", # keep tight: uses TCPConnector/ClientSession loop= (removed in aiohttp 4.0), # happy_eyeballs_delay, ClientTimeout sock_read, and is coupled to aiohttp-fast-zlib "aiohttp>=3.14.3,<3.15", "yarl>=1.20,<2", # fast zlib backend for aiohttp, enabled in ccxt.async_support.base.exchange - "aiohttp-fast-zlib==0.3.0", - "zlib-ng==1.0.0", + "aiohttp-fast-zlib>=0.3.0", + "zlib-ng>=1.0.0", # event loop accelerator, installed where supported (no Windows/PyPy wheels); # opt-in at the application entry point: uvloop.run(main()) - "uvloop==0.22.1; platform_system != \"Windows\" and implementation_name == \"cpython\"", + "uvloop>=0.22.1; platform_system != \"Windows\" and implementation_name == \"cpython\"", # Windows counterpart of uvloop (same API, incl. winloop.run); wheels exist # for CPython 3.8-3.14 on win_amd64/win_arm64 only - no win32, no sdist builds "winloop==0.6.3; platform_system == \"Windows\" and implementation_name == \"cpython\" and python_version < \"3.15\" and platform_machine in \"AMD64 ARM64\"", @@ -65,7 +65,7 @@ dependencies = [ # wheel matrix on PyPI (CPython 3.10-3.14 only, no PyPy, no free-threaded builds). # NOTE: lowercase "arm64" matches macOS but intentionally NOT Windows "ARM64" # (marker `in` is a case-sensitive substring match; cp310 has no win_arm64 wheel) - "orjson==3.11.9; implementation_name == \"cpython\" and python_version < \"3.15\" and platform_machine in \"x86_64 AMD64 aarch64 arm64 armv7l i686 ppc64le s390x\"", + "orjson>=3.11.9; implementation_name == \"cpython\" and python_version < \"3.15\" and platform_machine in \"x86_64 AMD64 aarch64 arm64 armv7l i686 ppc64le s390x\"", # fast secp256k1 signing (libsecp256k1), installed only where coincurve 21.0.0 # ships a prebuilt wheel so that `pip install ccxt` never triggers a C source # build. Allowlist mirrors the wheel matrix on PyPI (CPython 3.9-3.13 only, @@ -74,24 +74,24 @@ dependencies = [ # needs an explicit exclusion because "x86" is a substring of "x86_64" and # the `in` marker operator does case-sensitive substring matching. # ccxt falls back to the `cryptography` implementation when absent. - "coincurve==21.0.0; implementation_name == \"cpython\" and python_version < \"3.14\" and platform_machine in \"x86_64 AMD64 aarch64 arm64 ARM64 i686\" and platform_machine != \"x86\"", + "coincurve>=21.0.0; implementation_name == \"cpython\" and python_version < \"3.14\" and platform_machine in \"x86_64 AMD64 aarch64 arm64 ARM64 i686\" and platform_machine != \"x86\"", # transitive dependencies of aiohttp - "aiohappyeyeballs==2.7.1", - "aiosignal==1.4.0", - "attrs==26.1.0", - "frozenlist==1.8.0", - "multidict==6.7.1", - "propcache==0.5.2", + "aiohappyeyeballs>=2.7.1", + "aiosignal>=1.4.0", + "attrs>=26.1.0", + "frozenlist>=1.8.0", + "multidict>=6.7.1", + "propcache>=0.5.2", # "aiodns==4.0.4", # # transitive dependencies of aiodns # "pycares==5.0.1", # transitive dependencies of cryptography - "cffi==2.0.0", - "pycparser==3.0", + "cffi>=2.0.0", + "pycparser>=2.23", # transitive dependencies of requests - "charset_normalizer==3.4.7", - "idna==3.18", - "urllib3==2.8.0", + "charset_normalizer>=3.4.7", + "idna>=3.18", + "urllib3>=2.8.0", ] [project.optional-dependencies]