coinex-api 0.0.15__py3-none-any.whl → 0.0.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. coinex/__init__.py +7 -0
  2. coinex/ccxt/__init__.py +101 -0
  3. coinex/ccxt/abstract/coinex.py +237 -0
  4. coinex/ccxt/async_support/__init__.py +80 -0
  5. coinex/ccxt/async_support/base/__init__.py +1 -0
  6. coinex/ccxt/async_support/base/exchange.py +2100 -0
  7. coinex/ccxt/async_support/base/throttler.py +50 -0
  8. coinex/ccxt/async_support/base/ws/__init__.py +38 -0
  9. coinex/ccxt/async_support/base/ws/aiohttp_client.py +147 -0
  10. coinex/ccxt/async_support/base/ws/cache.py +213 -0
  11. coinex/ccxt/async_support/base/ws/client.py +214 -0
  12. coinex/ccxt/async_support/base/ws/fast_client.py +97 -0
  13. coinex/ccxt/async_support/base/ws/functions.py +59 -0
  14. coinex/ccxt/async_support/base/ws/future.py +69 -0
  15. coinex/ccxt/async_support/base/ws/order_book.py +78 -0
  16. coinex/ccxt/async_support/base/ws/order_book_side.py +174 -0
  17. coinex/ccxt/async_support/coinex.py +5833 -0
  18. coinex/ccxt/base/__init__.py +27 -0
  19. coinex/ccxt/base/decimal_to_precision.py +174 -0
  20. coinex/ccxt/base/errors.py +267 -0
  21. coinex/ccxt/base/exchange.py +6769 -0
  22. coinex/ccxt/base/precise.py +297 -0
  23. coinex/ccxt/base/types.py +577 -0
  24. coinex/ccxt/coinex.py +5832 -0
  25. coinex/ccxt/pro/__init__.py +21 -0
  26. coinex/ccxt/pro/coinex.py +1366 -0
  27. coinex/ccxt/static_dependencies/README.md +1 -0
  28. coinex/ccxt/static_dependencies/__init__.py +1 -0
  29. coinex/ccxt/static_dependencies/ecdsa/__init__.py +14 -0
  30. coinex/ccxt/static_dependencies/ecdsa/_version.py +520 -0
  31. coinex/ccxt/static_dependencies/ecdsa/curves.py +56 -0
  32. coinex/ccxt/static_dependencies/ecdsa/der.py +221 -0
  33. coinex/ccxt/static_dependencies/ecdsa/ecdsa.py +310 -0
  34. coinex/ccxt/static_dependencies/ecdsa/ellipticcurve.py +197 -0
  35. coinex/ccxt/static_dependencies/ecdsa/keys.py +332 -0
  36. coinex/ccxt/static_dependencies/ecdsa/numbertheory.py +531 -0
  37. coinex/ccxt/static_dependencies/ecdsa/rfc6979.py +100 -0
  38. coinex/ccxt/static_dependencies/ecdsa/util.py +266 -0
  39. coinex/ccxt/static_dependencies/ethereum/__init__.py +7 -0
  40. coinex/ccxt/static_dependencies/ethereum/abi/__init__.py +16 -0
  41. coinex/ccxt/static_dependencies/ethereum/abi/abi.py +19 -0
  42. coinex/ccxt/static_dependencies/ethereum/abi/base.py +152 -0
  43. coinex/ccxt/static_dependencies/ethereum/abi/codec.py +217 -0
  44. coinex/ccxt/static_dependencies/ethereum/abi/constants.py +3 -0
  45. coinex/ccxt/static_dependencies/ethereum/abi/decoding.py +565 -0
  46. coinex/ccxt/static_dependencies/ethereum/abi/encoding.py +720 -0
  47. coinex/ccxt/static_dependencies/ethereum/abi/exceptions.py +139 -0
  48. coinex/ccxt/static_dependencies/ethereum/abi/grammar.py +443 -0
  49. coinex/ccxt/static_dependencies/ethereum/abi/packed.py +13 -0
  50. coinex/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  51. coinex/ccxt/static_dependencies/ethereum/abi/registry.py +643 -0
  52. coinex/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +3 -0
  53. coinex/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +230 -0
  54. coinex/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  55. coinex/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +83 -0
  56. coinex/ccxt/static_dependencies/ethereum/abi/utils/padding.py +27 -0
  57. coinex/ccxt/static_dependencies/ethereum/abi/utils/string.py +19 -0
  58. coinex/ccxt/static_dependencies/ethereum/account/__init__.py +3 -0
  59. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +4 -0
  60. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +239 -0
  61. coinex/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +40 -0
  62. coinex/ccxt/static_dependencies/ethereum/account/messages.py +263 -0
  63. coinex/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  64. coinex/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +5 -0
  65. coinex/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +54 -0
  66. coinex/ccxt/static_dependencies/ethereum/hexbytes/main.py +65 -0
  67. coinex/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  68. coinex/ccxt/static_dependencies/ethereum/typing/__init__.py +63 -0
  69. coinex/ccxt/static_dependencies/ethereum/typing/abi.py +6 -0
  70. coinex/ccxt/static_dependencies/ethereum/typing/bls.py +7 -0
  71. coinex/ccxt/static_dependencies/ethereum/typing/discovery.py +5 -0
  72. coinex/ccxt/static_dependencies/ethereum/typing/encoding.py +7 -0
  73. coinex/ccxt/static_dependencies/ethereum/typing/enums.py +17 -0
  74. coinex/ccxt/static_dependencies/ethereum/typing/ethpm.py +9 -0
  75. coinex/ccxt/static_dependencies/ethereum/typing/evm.py +20 -0
  76. coinex/ccxt/static_dependencies/ethereum/typing/networks.py +1122 -0
  77. coinex/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  78. coinex/ccxt/static_dependencies/ethereum/utils/__init__.py +115 -0
  79. coinex/ccxt/static_dependencies/ethereum/utils/abi.py +72 -0
  80. coinex/ccxt/static_dependencies/ethereum/utils/address.py +171 -0
  81. coinex/ccxt/static_dependencies/ethereum/utils/applicators.py +151 -0
  82. coinex/ccxt/static_dependencies/ethereum/utils/conversions.py +190 -0
  83. coinex/ccxt/static_dependencies/ethereum/utils/currency.py +107 -0
  84. coinex/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +269 -0
  85. coinex/ccxt/static_dependencies/ethereum/utils/debug.py +20 -0
  86. coinex/ccxt/static_dependencies/ethereum/utils/decorators.py +132 -0
  87. coinex/ccxt/static_dependencies/ethereum/utils/encoding.py +6 -0
  88. coinex/ccxt/static_dependencies/ethereum/utils/exceptions.py +4 -0
  89. coinex/ccxt/static_dependencies/ethereum/utils/functional.py +75 -0
  90. coinex/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +74 -0
  91. coinex/ccxt/static_dependencies/ethereum/utils/humanize.py +188 -0
  92. coinex/ccxt/static_dependencies/ethereum/utils/logging.py +159 -0
  93. coinex/ccxt/static_dependencies/ethereum/utils/module_loading.py +31 -0
  94. coinex/ccxt/static_dependencies/ethereum/utils/numeric.py +43 -0
  95. coinex/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  96. coinex/ccxt/static_dependencies/ethereum/utils/toolz.py +76 -0
  97. coinex/ccxt/static_dependencies/ethereum/utils/types.py +54 -0
  98. coinex/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +18 -0
  99. coinex/ccxt/static_dependencies/ethereum/utils/typing/misc.py +14 -0
  100. coinex/ccxt/static_dependencies/ethereum/utils/units.py +31 -0
  101. coinex/ccxt/static_dependencies/keccak/__init__.py +3 -0
  102. coinex/ccxt/static_dependencies/keccak/keccak.py +197 -0
  103. coinex/ccxt/static_dependencies/lark/__init__.py +38 -0
  104. coinex/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +6 -0
  105. coinex/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +14 -0
  106. coinex/ccxt/static_dependencies/lark/ast_utils.py +59 -0
  107. coinex/ccxt/static_dependencies/lark/common.py +86 -0
  108. coinex/ccxt/static_dependencies/lark/exceptions.py +292 -0
  109. coinex/ccxt/static_dependencies/lark/grammar.py +130 -0
  110. coinex/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  111. coinex/ccxt/static_dependencies/lark/grammars/common.lark +59 -0
  112. coinex/ccxt/static_dependencies/lark/grammars/lark.lark +62 -0
  113. coinex/ccxt/static_dependencies/lark/grammars/python.lark +302 -0
  114. coinex/ccxt/static_dependencies/lark/grammars/unicode.lark +7 -0
  115. coinex/ccxt/static_dependencies/lark/indenter.py +143 -0
  116. coinex/ccxt/static_dependencies/lark/lark.py +658 -0
  117. coinex/ccxt/static_dependencies/lark/lexer.py +678 -0
  118. coinex/ccxt/static_dependencies/lark/load_grammar.py +1428 -0
  119. coinex/ccxt/static_dependencies/lark/parse_tree_builder.py +391 -0
  120. coinex/ccxt/static_dependencies/lark/parser_frontends.py +257 -0
  121. coinex/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  122. coinex/ccxt/static_dependencies/lark/parsers/cyk.py +340 -0
  123. coinex/ccxt/static_dependencies/lark/parsers/earley.py +314 -0
  124. coinex/ccxt/static_dependencies/lark/parsers/earley_common.py +42 -0
  125. coinex/ccxt/static_dependencies/lark/parsers/earley_forest.py +801 -0
  126. coinex/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +203 -0
  127. coinex/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +332 -0
  128. coinex/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +158 -0
  129. coinex/ccxt/static_dependencies/lark/parsers/lalr_parser.py +122 -0
  130. coinex/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +110 -0
  131. coinex/ccxt/static_dependencies/lark/parsers/xearley.py +165 -0
  132. coinex/ccxt/static_dependencies/lark/py.typed +0 -0
  133. coinex/ccxt/static_dependencies/lark/reconstruct.py +107 -0
  134. coinex/ccxt/static_dependencies/lark/tools/__init__.py +70 -0
  135. coinex/ccxt/static_dependencies/lark/tools/nearley.py +202 -0
  136. coinex/ccxt/static_dependencies/lark/tools/serialize.py +32 -0
  137. coinex/ccxt/static_dependencies/lark/tools/standalone.py +196 -0
  138. coinex/ccxt/static_dependencies/lark/tree.py +267 -0
  139. coinex/ccxt/static_dependencies/lark/tree_matcher.py +186 -0
  140. coinex/ccxt/static_dependencies/lark/tree_templates.py +180 -0
  141. coinex/ccxt/static_dependencies/lark/utils.py +343 -0
  142. coinex/ccxt/static_dependencies/lark/visitors.py +596 -0
  143. coinex/ccxt/static_dependencies/marshmallow/__init__.py +81 -0
  144. coinex/ccxt/static_dependencies/marshmallow/base.py +65 -0
  145. coinex/ccxt/static_dependencies/marshmallow/class_registry.py +94 -0
  146. coinex/ccxt/static_dependencies/marshmallow/decorators.py +231 -0
  147. coinex/ccxt/static_dependencies/marshmallow/error_store.py +60 -0
  148. coinex/ccxt/static_dependencies/marshmallow/exceptions.py +71 -0
  149. coinex/ccxt/static_dependencies/marshmallow/fields.py +2114 -0
  150. coinex/ccxt/static_dependencies/marshmallow/orderedset.py +89 -0
  151. coinex/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  152. coinex/ccxt/static_dependencies/marshmallow/schema.py +1228 -0
  153. coinex/ccxt/static_dependencies/marshmallow/types.py +12 -0
  154. coinex/ccxt/static_dependencies/marshmallow/utils.py +378 -0
  155. coinex/ccxt/static_dependencies/marshmallow/validate.py +678 -0
  156. coinex/ccxt/static_dependencies/marshmallow/warnings.py +2 -0
  157. coinex/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +1047 -0
  158. coinex/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +51 -0
  159. coinex/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +45 -0
  160. coinex/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +71 -0
  161. coinex/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  162. coinex/ccxt/static_dependencies/marshmallow_dataclass/typing.py +14 -0
  163. coinex/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +82 -0
  164. coinex/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +1 -0
  165. coinex/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +193 -0
  166. coinex/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  167. coinex/ccxt/static_dependencies/msgpack/__init__.py +55 -0
  168. coinex/ccxt/static_dependencies/msgpack/_cmsgpack.pyx +11 -0
  169. coinex/ccxt/static_dependencies/msgpack/_packer.pyx +374 -0
  170. coinex/ccxt/static_dependencies/msgpack/_unpacker.pyx +547 -0
  171. coinex/ccxt/static_dependencies/msgpack/buff_converter.h +8 -0
  172. coinex/ccxt/static_dependencies/msgpack/exceptions.py +48 -0
  173. coinex/ccxt/static_dependencies/msgpack/ext.py +168 -0
  174. coinex/ccxt/static_dependencies/msgpack/fallback.py +951 -0
  175. coinex/ccxt/static_dependencies/msgpack/pack.h +89 -0
  176. coinex/ccxt/static_dependencies/msgpack/pack_template.h +820 -0
  177. coinex/ccxt/static_dependencies/msgpack/sysdep.h +194 -0
  178. coinex/ccxt/static_dependencies/msgpack/unpack.h +391 -0
  179. coinex/ccxt/static_dependencies/msgpack/unpack_define.h +95 -0
  180. coinex/ccxt/static_dependencies/msgpack/unpack_template.h +464 -0
  181. coinex/ccxt/static_dependencies/parsimonious/__init__.py +10 -0
  182. coinex/ccxt/static_dependencies/parsimonious/exceptions.py +105 -0
  183. coinex/ccxt/static_dependencies/parsimonious/expressions.py +479 -0
  184. coinex/ccxt/static_dependencies/parsimonious/grammar.py +487 -0
  185. coinex/ccxt/static_dependencies/parsimonious/nodes.py +325 -0
  186. coinex/ccxt/static_dependencies/parsimonious/utils.py +40 -0
  187. coinex/ccxt/static_dependencies/starknet/__init__.py +0 -0
  188. coinex/ccxt/static_dependencies/starknet/abi/v0/__init__.py +2 -0
  189. coinex/ccxt/static_dependencies/starknet/abi/v0/model.py +44 -0
  190. coinex/ccxt/static_dependencies/starknet/abi/v0/parser.py +216 -0
  191. coinex/ccxt/static_dependencies/starknet/abi/v0/schemas.py +72 -0
  192. coinex/ccxt/static_dependencies/starknet/abi/v0/shape.py +63 -0
  193. coinex/ccxt/static_dependencies/starknet/abi/v1/__init__.py +2 -0
  194. coinex/ccxt/static_dependencies/starknet/abi/v1/core_structures.json +14 -0
  195. coinex/ccxt/static_dependencies/starknet/abi/v1/model.py +39 -0
  196. coinex/ccxt/static_dependencies/starknet/abi/v1/parser.py +220 -0
  197. coinex/ccxt/static_dependencies/starknet/abi/v1/parser_transformer.py +179 -0
  198. coinex/ccxt/static_dependencies/starknet/abi/v1/schemas.py +66 -0
  199. coinex/ccxt/static_dependencies/starknet/abi/v1/shape.py +47 -0
  200. coinex/ccxt/static_dependencies/starknet/abi/v2/__init__.py +2 -0
  201. coinex/ccxt/static_dependencies/starknet/abi/v2/model.py +89 -0
  202. coinex/ccxt/static_dependencies/starknet/abi/v2/parser.py +293 -0
  203. coinex/ccxt/static_dependencies/starknet/abi/v2/parser_transformer.py +192 -0
  204. coinex/ccxt/static_dependencies/starknet/abi/v2/schemas.py +132 -0
  205. coinex/ccxt/static_dependencies/starknet/abi/v2/shape.py +107 -0
  206. coinex/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  207. coinex/ccxt/static_dependencies/starknet/cairo/data_types.py +123 -0
  208. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  209. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +77 -0
  210. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +46 -0
  211. coinex/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +138 -0
  212. coinex/ccxt/static_dependencies/starknet/cairo/felt.py +64 -0
  213. coinex/ccxt/static_dependencies/starknet/cairo/type_parser.py +121 -0
  214. coinex/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  215. coinex/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +59 -0
  216. coinex/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  217. coinex/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +77 -0
  218. coinex/ccxt/static_dependencies/starknet/ccxt_utils.py +7 -0
  219. coinex/ccxt/static_dependencies/starknet/common.py +15 -0
  220. coinex/ccxt/static_dependencies/starknet/constants.py +39 -0
  221. coinex/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  222. coinex/ccxt/static_dependencies/starknet/hash/address.py +79 -0
  223. coinex/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +111 -0
  224. coinex/ccxt/static_dependencies/starknet/hash/selector.py +16 -0
  225. coinex/ccxt/static_dependencies/starknet/hash/storage.py +12 -0
  226. coinex/ccxt/static_dependencies/starknet/hash/utils.py +78 -0
  227. coinex/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  228. coinex/ccxt/static_dependencies/starknet/models/typed_data.py +45 -0
  229. coinex/ccxt/static_dependencies/starknet/serialization/__init__.py +24 -0
  230. coinex/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +40 -0
  231. coinex/ccxt/static_dependencies/starknet/serialization/_context.py +142 -0
  232. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +10 -0
  233. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +82 -0
  234. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +43 -0
  235. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +37 -0
  236. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +66 -0
  237. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +71 -0
  238. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +71 -0
  239. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +50 -0
  240. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +58 -0
  241. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +43 -0
  242. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +40 -0
  243. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +72 -0
  244. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +36 -0
  245. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +36 -0
  246. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +76 -0
  247. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +100 -0
  248. coinex/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +32 -0
  249. coinex/ccxt/static_dependencies/starknet/serialization/errors.py +10 -0
  250. coinex/ccxt/static_dependencies/starknet/serialization/factory.py +229 -0
  251. coinex/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +110 -0
  252. coinex/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +59 -0
  253. coinex/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  254. coinex/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +86 -0
  255. coinex/ccxt/static_dependencies/starknet/utils/iterable.py +13 -0
  256. coinex/ccxt/static_dependencies/starknet/utils/schema.py +13 -0
  257. coinex/ccxt/static_dependencies/starknet/utils/typed_data.py +182 -0
  258. coinex/ccxt/static_dependencies/starkware/__init__.py +0 -0
  259. coinex/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  260. coinex/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +50 -0
  261. coinex/ccxt/static_dependencies/starkware/crypto/math_utils.py +78 -0
  262. coinex/ccxt/static_dependencies/starkware/crypto/signature.py +2344 -0
  263. coinex/ccxt/static_dependencies/starkware/crypto/utils.py +63 -0
  264. coinex/ccxt/static_dependencies/sympy/__init__.py +0 -0
  265. coinex/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  266. coinex/ccxt/static_dependencies/sympy/core/intfunc.py +35 -0
  267. coinex/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  268. coinex/ccxt/static_dependencies/sympy/external/gmpy.py +345 -0
  269. coinex/ccxt/static_dependencies/sympy/external/importtools.py +187 -0
  270. coinex/ccxt/static_dependencies/sympy/external/ntheory.py +637 -0
  271. coinex/ccxt/static_dependencies/sympy/external/pythonmpq.py +341 -0
  272. coinex/ccxt/static_dependencies/toolz/__init__.py +26 -0
  273. coinex/ccxt/static_dependencies/toolz/_signatures.py +784 -0
  274. coinex/ccxt/static_dependencies/toolz/_version.py +520 -0
  275. coinex/ccxt/static_dependencies/toolz/compatibility.py +30 -0
  276. coinex/ccxt/static_dependencies/toolz/curried/__init__.py +101 -0
  277. coinex/ccxt/static_dependencies/toolz/curried/exceptions.py +22 -0
  278. coinex/ccxt/static_dependencies/toolz/curried/operator.py +22 -0
  279. coinex/ccxt/static_dependencies/toolz/dicttoolz.py +339 -0
  280. coinex/ccxt/static_dependencies/toolz/functoolz.py +1049 -0
  281. coinex/ccxt/static_dependencies/toolz/itertoolz.py +1057 -0
  282. coinex/ccxt/static_dependencies/toolz/recipes.py +46 -0
  283. coinex/ccxt/static_dependencies/toolz/utils.py +9 -0
  284. coinex/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  285. coinex/ccxt/static_dependencies/typing_inspect/typing_inspect.py +851 -0
  286. {coinex_api-0.0.15.dist-info → coinex_api-0.0.16.dist-info}/METADATA +1 -1
  287. coinex_api-0.0.16.dist-info/RECORD +288 -0
  288. coinex_api-0.0.15.dist-info/RECORD +0 -3
  289. {coinex_api-0.0.15.dist-info → coinex_api-0.0.16.dist-info}/WHEEL +0 -0
@@ -0,0 +1,374 @@
1
+ # coding: utf-8
2
+
3
+ from cpython cimport *
4
+ from cpython.bytearray cimport PyByteArray_Check, PyByteArray_CheckExact
5
+ from cpython.datetime cimport (
6
+ PyDateTime_CheckExact, PyDelta_CheckExact,
7
+ datetime_tzinfo, timedelta_days, timedelta_seconds, timedelta_microseconds,
8
+ )
9
+
10
+ cdef ExtType
11
+ cdef Timestamp
12
+
13
+ from .ext import ExtType, Timestamp
14
+
15
+
16
+ cdef extern from "Python.h":
17
+
18
+ int PyMemoryView_Check(object obj)
19
+ char* PyUnicode_AsUTF8AndSize(object obj, Py_ssize_t *l) except NULL
20
+
21
+
22
+ cdef extern from "pack.h":
23
+ struct msgpack_packer:
24
+ char* buf
25
+ size_t length
26
+ size_t buf_size
27
+ bint use_bin_type
28
+
29
+ int msgpack_pack_int(msgpack_packer* pk, int d)
30
+ int msgpack_pack_nil(msgpack_packer* pk)
31
+ int msgpack_pack_true(msgpack_packer* pk)
32
+ int msgpack_pack_false(msgpack_packer* pk)
33
+ int msgpack_pack_long(msgpack_packer* pk, long d)
34
+ int msgpack_pack_long_long(msgpack_packer* pk, long long d)
35
+ int msgpack_pack_unsigned_long_long(msgpack_packer* pk, unsigned long long d)
36
+ int msgpack_pack_float(msgpack_packer* pk, float d)
37
+ int msgpack_pack_double(msgpack_packer* pk, double d)
38
+ int msgpack_pack_array(msgpack_packer* pk, size_t l)
39
+ int msgpack_pack_map(msgpack_packer* pk, size_t l)
40
+ int msgpack_pack_raw(msgpack_packer* pk, size_t l)
41
+ int msgpack_pack_bin(msgpack_packer* pk, size_t l)
42
+ int msgpack_pack_raw_body(msgpack_packer* pk, char* body, size_t l)
43
+ int msgpack_pack_ext(msgpack_packer* pk, char typecode, size_t l)
44
+ int msgpack_pack_timestamp(msgpack_packer* x, long long seconds, unsigned long nanoseconds);
45
+ int msgpack_pack_unicode(msgpack_packer* pk, object o, long long limit)
46
+
47
+ cdef extern from "buff_converter.h":
48
+ object buff_to_buff(char *, Py_ssize_t)
49
+
50
+ cdef int DEFAULT_RECURSE_LIMIT=511
51
+ cdef long long ITEM_LIMIT = (2**32)-1
52
+
53
+
54
+ cdef inline int PyBytesLike_Check(object o):
55
+ return PyBytes_Check(o) or PyByteArray_Check(o)
56
+
57
+
58
+ cdef inline int PyBytesLike_CheckExact(object o):
59
+ return PyBytes_CheckExact(o) or PyByteArray_CheckExact(o)
60
+
61
+
62
+ cdef class Packer(object):
63
+ """
64
+ MessagePack Packer
65
+
66
+ Usage::
67
+
68
+ packer = Packer()
69
+ astream.write(packer.pack(a))
70
+ astream.write(packer.pack(b))
71
+
72
+ Packer's constructor has some keyword arguments:
73
+
74
+ :param default:
75
+ When specified, it should be callable.
76
+ Convert user type to builtin type that Packer supports.
77
+ See also simplejson's document.
78
+
79
+ :param bool use_single_float:
80
+ Use single precision float type for float. (default: False)
81
+
82
+ :param bool autoreset:
83
+ Reset buffer after each pack and return its content as `bytes`. (default: True).
84
+ If set this to false, use `bytes()` to get content and `.reset()` to clear buffer.
85
+
86
+ :param bool use_bin_type:
87
+ Use bin type introduced in msgpack spec 2.0 for bytes.
88
+ It also enables str8 type for unicode. (default: True)
89
+
90
+ :param bool strict_types:
91
+ If set to true, types will be checked to be exact. Derived classes
92
+ from serializeable types will not be serialized and will be
93
+ treated as unsupported type and forwarded to default.
94
+ Additionally tuples will not be serialized as lists.
95
+ This is useful when trying to implement accurate serialization
96
+ for python types.
97
+
98
+ :param bool datetime:
99
+ If set to true, datetime with tzinfo is packed into Timestamp type.
100
+ Note that the tzinfo is stripped in the timestamp.
101
+ You can get UTC datetime with `timestamp=3` option of the Unpacker.
102
+
103
+ :param str unicode_errors:
104
+ The error handler for encoding unicode. (default: 'strict')
105
+ DO NOT USE THIS!! This option is kept for very specific usage.
106
+ """
107
+ cdef msgpack_packer pk
108
+ cdef object _default
109
+ cdef object _berrors
110
+ cdef const char *unicode_errors
111
+ cdef bint strict_types
112
+ cdef bint use_float
113
+ cdef bint autoreset
114
+ cdef bint datetime
115
+
116
+ def __cinit__(self):
117
+ cdef int buf_size = 1024*1024
118
+ self.pk.buf = <char*> PyMem_Malloc(buf_size)
119
+ if self.pk.buf == NULL:
120
+ raise MemoryError("Unable to allocate internal buffer.")
121
+ self.pk.buf_size = buf_size
122
+ self.pk.length = 0
123
+
124
+ def __init__(self, *, default=None,
125
+ bint use_single_float=False, bint autoreset=True, bint use_bin_type=True,
126
+ bint strict_types=False, bint datetime=False, unicode_errors=None):
127
+ self.use_float = use_single_float
128
+ self.strict_types = strict_types
129
+ self.autoreset = autoreset
130
+ self.datetime = datetime
131
+ self.pk.use_bin_type = use_bin_type
132
+ if default is not None:
133
+ if not PyCallable_Check(default):
134
+ raise TypeError("default must be a callable.")
135
+ self._default = default
136
+
137
+ self._berrors = unicode_errors
138
+ if unicode_errors is None:
139
+ self.unicode_errors = NULL
140
+ else:
141
+ self.unicode_errors = self._berrors
142
+
143
+ def __dealloc__(self):
144
+ PyMem_Free(self.pk.buf)
145
+ self.pk.buf = NULL
146
+
147
+ cdef int _pack(self, object o, int nest_limit=DEFAULT_RECURSE_LIMIT) except -1:
148
+ cdef long long llval
149
+ cdef unsigned long long ullval
150
+ cdef unsigned long ulval
151
+ cdef long longval
152
+ cdef float fval
153
+ cdef double dval
154
+ cdef char* rawval
155
+ cdef int ret
156
+ cdef dict d
157
+ cdef Py_ssize_t L
158
+ cdef int default_used = 0
159
+ cdef bint strict_types = self.strict_types
160
+ cdef Py_buffer view
161
+
162
+ if nest_limit < 0:
163
+ raise ValueError("recursion limit exceeded.")
164
+
165
+ while True:
166
+ if o is None:
167
+ ret = msgpack_pack_nil(&self.pk)
168
+ elif o is True:
169
+ ret = msgpack_pack_true(&self.pk)
170
+ elif o is False:
171
+ ret = msgpack_pack_false(&self.pk)
172
+ elif PyLong_CheckExact(o) if strict_types else PyLong_Check(o):
173
+ # PyInt_Check(long) is True for Python 3.
174
+ # So we should test long before int.
175
+ try:
176
+ if o > 0:
177
+ ullval = o
178
+ ret = msgpack_pack_unsigned_long_long(&self.pk, ullval)
179
+ else:
180
+ llval = o
181
+ ret = msgpack_pack_long_long(&self.pk, llval)
182
+ except OverflowError as oe:
183
+ if not default_used and self._default is not None:
184
+ o = self._default(o)
185
+ default_used = True
186
+ continue
187
+ else:
188
+ raise OverflowError("Integer value out of range")
189
+ elif PyInt_CheckExact(o) if strict_types else PyInt_Check(o):
190
+ longval = o
191
+ ret = msgpack_pack_long(&self.pk, longval)
192
+ elif PyFloat_CheckExact(o) if strict_types else PyFloat_Check(o):
193
+ if self.use_float:
194
+ fval = o
195
+ ret = msgpack_pack_float(&self.pk, fval)
196
+ else:
197
+ dval = o
198
+ ret = msgpack_pack_double(&self.pk, dval)
199
+ elif PyBytesLike_CheckExact(o) if strict_types else PyBytesLike_Check(o):
200
+ L = Py_SIZE(o)
201
+ if L > ITEM_LIMIT:
202
+ PyErr_Format(ValueError, b"%.200s object is too large", Py_TYPE(o).tp_name)
203
+ rawval = o
204
+ ret = msgpack_pack_bin(&self.pk, L)
205
+ if ret == 0:
206
+ ret = msgpack_pack_raw_body(&self.pk, rawval, L)
207
+ elif PyUnicode_CheckExact(o) if strict_types else PyUnicode_Check(o):
208
+ if self.unicode_errors == NULL:
209
+ ret = msgpack_pack_unicode(&self.pk, o, ITEM_LIMIT);
210
+ if ret == -2:
211
+ raise ValueError("unicode string is too large")
212
+ else:
213
+ o = PyUnicode_AsEncodedString(o, NULL, self.unicode_errors)
214
+ L = Py_SIZE(o)
215
+ if L > ITEM_LIMIT:
216
+ raise ValueError("unicode string is too large")
217
+ ret = msgpack_pack_raw(&self.pk, L)
218
+ if ret == 0:
219
+ rawval = o
220
+ ret = msgpack_pack_raw_body(&self.pk, rawval, L)
221
+ elif PyDict_CheckExact(o):
222
+ d = <dict>o
223
+ L = len(d)
224
+ if L > ITEM_LIMIT:
225
+ raise ValueError("dict is too large")
226
+ ret = msgpack_pack_map(&self.pk, L)
227
+ if ret == 0:
228
+ for k, v in d.items():
229
+ ret = self._pack(k, nest_limit-1)
230
+ if ret != 0: break
231
+ ret = self._pack(v, nest_limit-1)
232
+ if ret != 0: break
233
+ elif not strict_types and PyDict_Check(o):
234
+ L = len(o)
235
+ if L > ITEM_LIMIT:
236
+ raise ValueError("dict is too large")
237
+ ret = msgpack_pack_map(&self.pk, L)
238
+ if ret == 0:
239
+ for k, v in o.items():
240
+ ret = self._pack(k, nest_limit-1)
241
+ if ret != 0: break
242
+ ret = self._pack(v, nest_limit-1)
243
+ if ret != 0: break
244
+ elif type(o) is ExtType if strict_types else isinstance(o, ExtType):
245
+ # This should be before Tuple because ExtType is namedtuple.
246
+ longval = o.code
247
+ rawval = o.data
248
+ L = len(o.data)
249
+ if L > ITEM_LIMIT:
250
+ raise ValueError("EXT data is too large")
251
+ ret = msgpack_pack_ext(&self.pk, longval, L)
252
+ ret = msgpack_pack_raw_body(&self.pk, rawval, L)
253
+ elif type(o) is Timestamp:
254
+ llval = o.seconds
255
+ ulval = o.nanoseconds
256
+ ret = msgpack_pack_timestamp(&self.pk, llval, ulval)
257
+ elif PyList_CheckExact(o) if strict_types else (PyTuple_Check(o) or PyList_Check(o)):
258
+ L = Py_SIZE(o)
259
+ if L > ITEM_LIMIT:
260
+ raise ValueError("list is too large")
261
+ ret = msgpack_pack_array(&self.pk, L)
262
+ if ret == 0:
263
+ for v in o:
264
+ ret = self._pack(v, nest_limit-1)
265
+ if ret != 0: break
266
+ elif PyMemoryView_Check(o):
267
+ if PyObject_GetBuffer(o, &view, PyBUF_SIMPLE) != 0:
268
+ raise ValueError("could not get buffer for memoryview")
269
+ L = view.len
270
+ if L > ITEM_LIMIT:
271
+ PyBuffer_Release(&view);
272
+ raise ValueError("memoryview is too large")
273
+ ret = msgpack_pack_bin(&self.pk, L)
274
+ if ret == 0:
275
+ ret = msgpack_pack_raw_body(&self.pk, <char*>view.buf, L)
276
+ PyBuffer_Release(&view);
277
+ elif self.datetime and PyDateTime_CheckExact(o) and datetime_tzinfo(o) is not None:
278
+ delta = o - epoch
279
+ if not PyDelta_CheckExact(delta):
280
+ raise ValueError("failed to calculate delta")
281
+ llval = timedelta_days(delta) * <long long>(24*60*60) + timedelta_seconds(delta)
282
+ ulval = timedelta_microseconds(delta) * 1000
283
+ ret = msgpack_pack_timestamp(&self.pk, llval, ulval)
284
+ elif not default_used and self._default:
285
+ o = self._default(o)
286
+ default_used = 1
287
+ continue
288
+ elif self.datetime and PyDateTime_CheckExact(o):
289
+ PyErr_Format(ValueError, b"can not serialize '%.200s' object where tzinfo=None", Py_TYPE(o).tp_name)
290
+ else:
291
+ PyErr_Format(TypeError, b"can not serialize '%.200s' object", Py_TYPE(o).tp_name)
292
+ return ret
293
+
294
+ cpdef pack(self, object obj):
295
+ cdef int ret
296
+ try:
297
+ ret = self._pack(obj, DEFAULT_RECURSE_LIMIT)
298
+ except:
299
+ self.pk.length = 0
300
+ raise
301
+ if ret: # should not happen.
302
+ raise RuntimeError("internal error")
303
+ if self.autoreset:
304
+ buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
305
+ self.pk.length = 0
306
+ return buf
307
+
308
+ def pack_ext_type(self, typecode, data):
309
+ msgpack_pack_ext(&self.pk, typecode, len(data))
310
+ msgpack_pack_raw_body(&self.pk, data, len(data))
311
+
312
+ def pack_array_header(self, long long size):
313
+ if size > ITEM_LIMIT:
314
+ raise ValueError
315
+ cdef int ret = msgpack_pack_array(&self.pk, size)
316
+ if ret == -1:
317
+ raise MemoryError
318
+ elif ret: # should not happen
319
+ raise TypeError
320
+ if self.autoreset:
321
+ buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
322
+ self.pk.length = 0
323
+ return buf
324
+
325
+ def pack_map_header(self, long long size):
326
+ if size > ITEM_LIMIT:
327
+ raise ValueError
328
+ cdef int ret = msgpack_pack_map(&self.pk, size)
329
+ if ret == -1:
330
+ raise MemoryError
331
+ elif ret: # should not happen
332
+ raise TypeError
333
+ if self.autoreset:
334
+ buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
335
+ self.pk.length = 0
336
+ return buf
337
+
338
+ def pack_map_pairs(self, object pairs):
339
+ """
340
+ Pack *pairs* as msgpack map type.
341
+
342
+ *pairs* should be a sequence of pairs.
343
+ (`len(pairs)` and `for k, v in pairs:` should be supported.)
344
+ """
345
+ cdef int ret = msgpack_pack_map(&self.pk, len(pairs))
346
+ if ret == 0:
347
+ for k, v in pairs:
348
+ ret = self._pack(k)
349
+ if ret != 0: break
350
+ ret = self._pack(v)
351
+ if ret != 0: break
352
+ if ret == -1:
353
+ raise MemoryError
354
+ elif ret: # should not happen
355
+ raise TypeError
356
+ if self.autoreset:
357
+ buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
358
+ self.pk.length = 0
359
+ return buf
360
+
361
+ def reset(self):
362
+ """Reset internal buffer.
363
+
364
+ This method is useful only when autoreset=False.
365
+ """
366
+ self.pk.length = 0
367
+
368
+ def bytes(self):
369
+ """Return internal buffer contents as bytes object"""
370
+ return PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
371
+
372
+ def getbuffer(self):
373
+ """Return view of internal buffer."""
374
+ return buff_to_buff(self.pk.buf, self.pk.length)