coinex-api 0.0.13__py3-none-any.whl → 0.0.14__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.13.dist-info → coinex_api-0.0.14.dist-info}/METADATA +1 -1
  287. coinex_api-0.0.14.dist-info/RECORD +288 -0
  288. coinex_api-0.0.13.dist-info/RECORD +0 -3
  289. {coinex_api-0.0.13.dist-info → coinex_api-0.0.14.dist-info}/WHEEL +0 -0
@@ -0,0 +1,130 @@
1
+ from typing import Optional, Tuple, ClassVar, Sequence
2
+
3
+ from .utils import Serialize
4
+
5
+ ###{standalone
6
+ TOKEN_DEFAULT_PRIORITY = 0
7
+
8
+
9
+ class Symbol(Serialize):
10
+ __slots__ = ('name',)
11
+
12
+ name: str
13
+ is_term: ClassVar[bool] = NotImplemented
14
+
15
+ def __init__(self, name: str) -> None:
16
+ self.name = name
17
+
18
+ def __eq__(self, other):
19
+ assert isinstance(other, Symbol), other
20
+ return self.is_term == other.is_term and self.name == other.name
21
+
22
+ def __ne__(self, other):
23
+ return not (self == other)
24
+
25
+ def __hash__(self):
26
+ return hash(self.name)
27
+
28
+ def __repr__(self):
29
+ return '%s(%r)' % (type(self).__name__, self.name)
30
+
31
+ fullrepr = property(__repr__)
32
+
33
+ def renamed(self, f):
34
+ return type(self)(f(self.name))
35
+
36
+
37
+ class Terminal(Symbol):
38
+ __serialize_fields__ = 'name', 'filter_out'
39
+
40
+ is_term: ClassVar[bool] = True
41
+
42
+ def __init__(self, name, filter_out=False):
43
+ self.name = name
44
+ self.filter_out = filter_out
45
+
46
+ @property
47
+ def fullrepr(self):
48
+ return '%s(%r, %r)' % (type(self).__name__, self.name, self.filter_out)
49
+
50
+ def renamed(self, f):
51
+ return type(self)(f(self.name), self.filter_out)
52
+
53
+
54
+ class NonTerminal(Symbol):
55
+ __serialize_fields__ = 'name',
56
+
57
+ is_term: ClassVar[bool] = False
58
+
59
+
60
+ class RuleOptions(Serialize):
61
+ __serialize_fields__ = 'keep_all_tokens', 'expand1', 'priority', 'template_source', 'empty_indices'
62
+
63
+ keep_all_tokens: bool
64
+ expand1: bool
65
+ priority: Optional[int]
66
+ template_source: Optional[str]
67
+ empty_indices: Tuple[bool, ...]
68
+
69
+ def __init__(self, keep_all_tokens: bool=False, expand1: bool=False, priority: Optional[int]=None, template_source: Optional[str]=None, empty_indices: Tuple[bool, ...]=()) -> None:
70
+ self.keep_all_tokens = keep_all_tokens
71
+ self.expand1 = expand1
72
+ self.priority = priority
73
+ self.template_source = template_source
74
+ self.empty_indices = empty_indices
75
+
76
+ def __repr__(self):
77
+ return 'RuleOptions(%r, %r, %r, %r)' % (
78
+ self.keep_all_tokens,
79
+ self.expand1,
80
+ self.priority,
81
+ self.template_source
82
+ )
83
+
84
+
85
+ class Rule(Serialize):
86
+ """
87
+ origin : a symbol
88
+ expansion : a list of symbols
89
+ order : index of this expansion amongst all rules of the same name
90
+ """
91
+ __slots__ = ('origin', 'expansion', 'alias', 'options', 'order', '_hash')
92
+
93
+ __serialize_fields__ = 'origin', 'expansion', 'order', 'alias', 'options'
94
+ __serialize_namespace__ = Terminal, NonTerminal, RuleOptions
95
+
96
+ origin: NonTerminal
97
+ expansion: Sequence[Symbol]
98
+ order: int
99
+ alias: Optional[str]
100
+ options: RuleOptions
101
+ _hash: int
102
+
103
+ def __init__(self, origin: NonTerminal, expansion: Sequence[Symbol],
104
+ order: int=0, alias: Optional[str]=None, options: Optional[RuleOptions]=None):
105
+ self.origin = origin
106
+ self.expansion = expansion
107
+ self.alias = alias
108
+ self.order = order
109
+ self.options = options or RuleOptions()
110
+ self._hash = hash((self.origin, tuple(self.expansion)))
111
+
112
+ def _deserialize(self):
113
+ self._hash = hash((self.origin, tuple(self.expansion)))
114
+
115
+ def __str__(self):
116
+ return '<%s : %s>' % (self.origin.name, ' '.join(x.name for x in self.expansion))
117
+
118
+ def __repr__(self):
119
+ return 'Rule(%r, %r, %r, %r)' % (self.origin, self.expansion, self.alias, self.options)
120
+
121
+ def __hash__(self):
122
+ return self._hash
123
+
124
+ def __eq__(self, other):
125
+ if not isinstance(other, Rule):
126
+ return False
127
+ return self.origin == other.origin and self.expansion == other.expansion
128
+
129
+
130
+ ###}
@@ -0,0 +1,59 @@
1
+ // Basic terminals for common use
2
+
3
+
4
+ //
5
+ // Numbers
6
+ //
7
+
8
+ DIGIT: "0".."9"
9
+ HEXDIGIT: "a".."f"|"A".."F"|DIGIT
10
+
11
+ INT: DIGIT+
12
+ SIGNED_INT: ["+"|"-"] INT
13
+ DECIMAL: INT "." INT? | "." INT
14
+
15
+ // float = /-?\d+(\.\d+)?([eE][+-]?\d+)?/
16
+ _EXP: ("e"|"E") SIGNED_INT
17
+ FLOAT: INT _EXP | DECIMAL _EXP?
18
+ SIGNED_FLOAT: ["+"|"-"] FLOAT
19
+
20
+ NUMBER: FLOAT | INT
21
+ SIGNED_NUMBER: ["+"|"-"] NUMBER
22
+
23
+ //
24
+ // Strings
25
+ //
26
+ _STRING_INNER: /.*?/
27
+ _STRING_ESC_INNER: _STRING_INNER /(?<!\\)(\\\\)*?/
28
+
29
+ ESCAPED_STRING : "\"" _STRING_ESC_INNER "\""
30
+
31
+
32
+ //
33
+ // Names (Variables)
34
+ //
35
+ LCASE_LETTER: "a".."z"
36
+ UCASE_LETTER: "A".."Z"
37
+
38
+ LETTER: UCASE_LETTER | LCASE_LETTER
39
+ WORD: LETTER+
40
+
41
+ CNAME: ("_"|LETTER) ("_"|LETTER|DIGIT)*
42
+
43
+
44
+ //
45
+ // Whitespace
46
+ //
47
+ WS_INLINE: (" "|/\t/)+
48
+ WS: /[ \t\f\r\n]/+
49
+
50
+ CR : /\r/
51
+ LF : /\n/
52
+ NEWLINE: (CR? LF)+
53
+
54
+
55
+ // Comments
56
+ SH_COMMENT: /#[^\n]*/
57
+ CPP_COMMENT: /\/\/[^\n]*/
58
+ C_COMMENT: "/*" /(.|\n)*?/ "*/"
59
+ SQL_COMMENT: /--[^\n]*/
@@ -0,0 +1,62 @@
1
+ # Lark grammar of Lark's syntax
2
+ # Note: Lark is not bootstrapped, its parser is implemented in load_grammar.py
3
+
4
+ start: (_item? _NL)* _item?
5
+
6
+ _item: rule
7
+ | token
8
+ | statement
9
+
10
+ rule: RULE rule_params priority? ":" expansions
11
+ token: TOKEN token_params priority? ":" expansions
12
+
13
+ rule_params: ["{" RULE ("," RULE)* "}"]
14
+ token_params: ["{" TOKEN ("," TOKEN)* "}"]
15
+
16
+ priority: "." NUMBER
17
+
18
+ statement: "%ignore" expansions -> ignore
19
+ | "%import" import_path ["->" name] -> import
20
+ | "%import" import_path name_list -> multi_import
21
+ | "%override" rule -> override_rule
22
+ | "%declare" name+ -> declare
23
+
24
+ !import_path: "."? name ("." name)*
25
+ name_list: "(" name ("," name)* ")"
26
+
27
+ ?expansions: alias (_VBAR alias)*
28
+
29
+ ?alias: expansion ["->" RULE]
30
+
31
+ ?expansion: expr*
32
+
33
+ ?expr: atom [OP | "~" NUMBER [".." NUMBER]]
34
+
35
+ ?atom: "(" expansions ")"
36
+ | "[" expansions "]" -> maybe
37
+ | value
38
+
39
+ ?value: STRING ".." STRING -> literal_range
40
+ | name
41
+ | (REGEXP | STRING) -> literal
42
+ | name "{" value ("," value)* "}" -> template_usage
43
+
44
+ name: RULE
45
+ | TOKEN
46
+
47
+ _VBAR: _NL? "|"
48
+ OP: /[+*]|[?](?![a-z])/
49
+ RULE: /!?[_?]?[a-z][_a-z0-9]*/
50
+ TOKEN: /_?[A-Z][_A-Z0-9]*/
51
+ STRING: _STRING "i"?
52
+ REGEXP: /\/(?!\/)(\\\/|\\\\|[^\/])*?\/[imslux]*/
53
+ _NL: /(\r?\n)+\s*/
54
+
55
+ %import common.ESCAPED_STRING -> _STRING
56
+ %import common.SIGNED_INT -> NUMBER
57
+ %import common.WS_INLINE
58
+
59
+ COMMENT: /\s*/ "//" /[^\n]/* | /\s*/ "#" /[^\n]/*
60
+
61
+ %ignore WS_INLINE
62
+ %ignore COMMENT
@@ -0,0 +1,302 @@
1
+ // Python 3 grammar for Lark
2
+
3
+ // This grammar should parse all python 3.x code successfully.
4
+
5
+ // Adapted from: https://docs.python.org/3/reference/grammar.html
6
+
7
+ // Start symbols for the grammar:
8
+ // single_input is a single interactive statement;
9
+ // file_input is a module or sequence of commands read from an input file;
10
+ // eval_input is the input for the eval() functions.
11
+ // NB: compound_stmt in single_input is followed by extra NEWLINE!
12
+ //
13
+
14
+ single_input: _NEWLINE | simple_stmt | compound_stmt _NEWLINE
15
+ file_input: (_NEWLINE | stmt)*
16
+ eval_input: testlist _NEWLINE*
17
+
18
+ decorator: "@" dotted_name [ "(" [arguments] ")" ] _NEWLINE
19
+ decorators: decorator+
20
+ decorated: decorators (classdef | funcdef | async_funcdef)
21
+
22
+ async_funcdef: "async" funcdef
23
+ funcdef: "def" name "(" [parameters] ")" ["->" test] ":" suite
24
+
25
+ parameters: paramvalue ("," paramvalue)* ["," SLASH ("," paramvalue)*] ["," [starparams | kwparams]]
26
+ | starparams
27
+ | kwparams
28
+
29
+ SLASH: "/" // Otherwise the it will completely disappear and it will be undisguisable in the result
30
+ starparams: (starparam | starguard) poststarparams
31
+ starparam: "*" typedparam
32
+ starguard: "*"
33
+ poststarparams: ("," paramvalue)* ["," kwparams]
34
+ kwparams: "**" typedparam ","?
35
+
36
+ ?paramvalue: typedparam ("=" test)?
37
+ ?typedparam: name (":" test)?
38
+
39
+
40
+ lambdef: "lambda" [lambda_params] ":" test
41
+ lambdef_nocond: "lambda" [lambda_params] ":" test_nocond
42
+ lambda_params: lambda_paramvalue ("," lambda_paramvalue)* ["," [lambda_starparams | lambda_kwparams]]
43
+ | lambda_starparams
44
+ | lambda_kwparams
45
+ ?lambda_paramvalue: name ("=" test)?
46
+ lambda_starparams: "*" [name] ("," lambda_paramvalue)* ["," [lambda_kwparams]]
47
+ lambda_kwparams: "**" name ","?
48
+
49
+
50
+ ?stmt: simple_stmt | compound_stmt
51
+ ?simple_stmt: small_stmt (";" small_stmt)* [";"] _NEWLINE
52
+ ?small_stmt: (expr_stmt | assign_stmt | del_stmt | pass_stmt | flow_stmt | import_stmt | global_stmt | nonlocal_stmt | assert_stmt)
53
+ expr_stmt: testlist_star_expr
54
+ assign_stmt: annassign | augassign | assign
55
+
56
+ annassign: testlist_star_expr ":" test ["=" test]
57
+ assign: testlist_star_expr ("=" (yield_expr|testlist_star_expr))+
58
+ augassign: testlist_star_expr augassign_op (yield_expr|testlist)
59
+ !augassign_op: "+=" | "-=" | "*=" | "@=" | "/=" | "%=" | "&=" | "|=" | "^=" | "<<=" | ">>=" | "**=" | "//="
60
+ ?testlist_star_expr: test_or_star_expr
61
+ | test_or_star_expr ("," test_or_star_expr)+ ","? -> tuple
62
+ | test_or_star_expr "," -> tuple
63
+
64
+ // For normal and annotated assignments, additional restrictions enforced by the interpreter
65
+ del_stmt: "del" exprlist
66
+ pass_stmt: "pass"
67
+ ?flow_stmt: break_stmt | continue_stmt | return_stmt | raise_stmt | yield_stmt
68
+ break_stmt: "break"
69
+ continue_stmt: "continue"
70
+ return_stmt: "return" [testlist]
71
+ yield_stmt: yield_expr
72
+ raise_stmt: "raise" [test ["from" test]]
73
+ import_stmt: import_name | import_from
74
+ import_name: "import" dotted_as_names
75
+ // note below: the ("." | "...") is necessary because "..." is tokenized as ELLIPSIS
76
+ import_from: "from" (dots? dotted_name | dots) "import" ("*" | "(" import_as_names ")" | import_as_names)
77
+ !dots: "."+
78
+ import_as_name: name ["as" name]
79
+ dotted_as_name: dotted_name ["as" name]
80
+ import_as_names: import_as_name ("," import_as_name)* [","]
81
+ dotted_as_names: dotted_as_name ("," dotted_as_name)*
82
+ dotted_name: name ("." name)*
83
+ global_stmt: "global" name ("," name)*
84
+ nonlocal_stmt: "nonlocal" name ("," name)*
85
+ assert_stmt: "assert" test ["," test]
86
+
87
+ ?compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | match_stmt
88
+ | with_stmt | funcdef | classdef | decorated | async_stmt
89
+ async_stmt: "async" (funcdef | with_stmt | for_stmt)
90
+ if_stmt: "if" test ":" suite elifs ["else" ":" suite]
91
+ elifs: elif_*
92
+ elif_: "elif" test ":" suite
93
+ while_stmt: "while" test ":" suite ["else" ":" suite]
94
+ for_stmt: "for" exprlist "in" testlist ":" suite ["else" ":" suite]
95
+ try_stmt: "try" ":" suite except_clauses ["else" ":" suite] [finally]
96
+ | "try" ":" suite finally -> try_finally
97
+ finally: "finally" ":" suite
98
+ except_clauses: except_clause+
99
+ except_clause: "except" [test ["as" name]] ":" suite
100
+ // NB compile.c makes sure that the default except clause is last
101
+
102
+
103
+ with_stmt: "with" with_items ":" suite
104
+ with_items: with_item ("," with_item)*
105
+ with_item: test ["as" name]
106
+
107
+ match_stmt: "match" test ":" _NEWLINE _INDENT case+ _DEDENT
108
+
109
+ case: "case" pattern ["if" test] ":" suite
110
+
111
+ ?pattern: sequence_item_pattern "," _sequence_pattern -> sequence_pattern
112
+ | as_pattern
113
+ ?as_pattern: or_pattern ("as" NAME)?
114
+ ?or_pattern: closed_pattern ("|" closed_pattern)*
115
+ ?closed_pattern: literal_pattern
116
+ | NAME -> capture_pattern
117
+ | "_" -> any_pattern
118
+ | attr_pattern
119
+ | "(" as_pattern ")"
120
+ | "[" _sequence_pattern "]" -> sequence_pattern
121
+ | "(" (sequence_item_pattern "," _sequence_pattern)? ")" -> sequence_pattern
122
+ | "{" (mapping_item_pattern ("," mapping_item_pattern)* ","?)?"}" -> mapping_pattern
123
+ | "{" (mapping_item_pattern ("," mapping_item_pattern)* ",")? "**" NAME ","? "}" -> mapping_star_pattern
124
+ | class_pattern
125
+
126
+ literal_pattern: inner_literal_pattern
127
+
128
+ ?inner_literal_pattern: "None" -> const_none
129
+ | "True" -> const_true
130
+ | "False" -> const_false
131
+ | STRING -> string
132
+ | number
133
+
134
+ attr_pattern: NAME ("." NAME)+ -> value
135
+
136
+ name_or_attr_pattern: NAME ("." NAME)* -> value
137
+
138
+ mapping_item_pattern: (literal_pattern|attr_pattern) ":" as_pattern
139
+
140
+ _sequence_pattern: (sequence_item_pattern ("," sequence_item_pattern)* ","?)?
141
+ ?sequence_item_pattern: as_pattern
142
+ | "*" NAME -> star_pattern
143
+
144
+ class_pattern: name_or_attr_pattern "(" [arguments_pattern ","?] ")"
145
+ arguments_pattern: pos_arg_pattern ["," keyws_arg_pattern]
146
+ | keyws_arg_pattern -> no_pos_arguments
147
+
148
+ pos_arg_pattern: as_pattern ("," as_pattern)*
149
+ keyws_arg_pattern: keyw_arg_pattern ("," keyw_arg_pattern)*
150
+ keyw_arg_pattern: NAME "=" as_pattern
151
+
152
+
153
+
154
+ suite: simple_stmt | _NEWLINE _INDENT stmt+ _DEDENT
155
+
156
+ ?test: or_test ("if" or_test "else" test)?
157
+ | lambdef
158
+ | assign_expr
159
+
160
+ assign_expr: name ":=" test
161
+
162
+ ?test_nocond: or_test | lambdef_nocond
163
+
164
+ ?or_test: and_test ("or" and_test)*
165
+ ?and_test: not_test_ ("and" not_test_)*
166
+ ?not_test_: "not" not_test_ -> not_test
167
+ | comparison
168
+ ?comparison: expr (comp_op expr)*
169
+ star_expr: "*" expr
170
+
171
+ ?expr: or_expr
172
+ ?or_expr: xor_expr ("|" xor_expr)*
173
+ ?xor_expr: and_expr ("^" and_expr)*
174
+ ?and_expr: shift_expr ("&" shift_expr)*
175
+ ?shift_expr: arith_expr (_shift_op arith_expr)*
176
+ ?arith_expr: term (_add_op term)*
177
+ ?term: factor (_mul_op factor)*
178
+ ?factor: _unary_op factor | power
179
+
180
+ !_unary_op: "+"|"-"|"~"
181
+ !_add_op: "+"|"-"
182
+ !_shift_op: "<<"|">>"
183
+ !_mul_op: "*"|"@"|"/"|"%"|"//"
184
+ // <> isn't actually a valid comparison operator in Python. It's here for the
185
+ // sake of a __future__ import described in PEP 401 (which really works :-)
186
+ !comp_op: "<"|">"|"=="|">="|"<="|"<>"|"!="|"in"|"not" "in"|"is"|"is" "not"
187
+
188
+ ?power: await_expr ("**" factor)?
189
+ ?await_expr: AWAIT? atom_expr
190
+ AWAIT: "await"
191
+
192
+ ?atom_expr: atom_expr "(" [arguments] ")" -> funccall
193
+ | atom_expr "[" subscriptlist "]" -> getitem
194
+ | atom_expr "." name -> getattr
195
+ | atom
196
+
197
+ ?atom: "(" yield_expr ")"
198
+ | "(" _tuple_inner? ")" -> tuple
199
+ | "(" comprehension{test_or_star_expr} ")" -> tuple_comprehension
200
+ | "[" _exprlist? "]" -> list
201
+ | "[" comprehension{test_or_star_expr} "]" -> list_comprehension
202
+ | "{" _dict_exprlist? "}" -> dict
203
+ | "{" comprehension{key_value} "}" -> dict_comprehension
204
+ | "{" _exprlist "}" -> set
205
+ | "{" comprehension{test} "}" -> set_comprehension
206
+ | name -> var
207
+ | number
208
+ | string_concat
209
+ | "(" test ")"
210
+ | "..." -> ellipsis
211
+ | "None" -> const_none
212
+ | "True" -> const_true
213
+ | "False" -> const_false
214
+
215
+
216
+ ?string_concat: string+
217
+
218
+ _tuple_inner: test_or_star_expr (("," test_or_star_expr)+ [","] | ",")
219
+
220
+ ?test_or_star_expr: test
221
+ | star_expr
222
+
223
+ ?subscriptlist: subscript
224
+ | subscript (("," subscript)+ [","] | ",") -> subscript_tuple
225
+ ?subscript: test | ([test] ":" [test] [sliceop]) -> slice
226
+ sliceop: ":" [test]
227
+ ?exprlist: (expr|star_expr)
228
+ | (expr|star_expr) (("," (expr|star_expr))+ [","]|",")
229
+ ?testlist: test | testlist_tuple
230
+ testlist_tuple: test (("," test)+ [","] | ",")
231
+ _dict_exprlist: (key_value | "**" expr) ("," (key_value | "**" expr))* [","]
232
+
233
+ key_value: test ":" test
234
+
235
+ _exprlist: test_or_star_expr ("," test_or_star_expr)* [","]
236
+
237
+ classdef: "class" name ["(" [arguments] ")"] ":" suite
238
+
239
+
240
+
241
+ arguments: argvalue ("," argvalue)* ("," [ starargs | kwargs])?
242
+ | starargs
243
+ | kwargs
244
+ | comprehension{test}
245
+
246
+ starargs: stararg ("," stararg)* ("," argvalue)* ["," kwargs]
247
+ stararg: "*" test
248
+ kwargs: "**" test ("," argvalue)*
249
+
250
+ ?argvalue: test ("=" test)?
251
+
252
+
253
+ comprehension{comp_result}: comp_result comp_fors [comp_if]
254
+ comp_fors: comp_for+
255
+ comp_for: [ASYNC] "for" exprlist "in" or_test
256
+ ASYNC: "async"
257
+ ?comp_if: "if" test_nocond
258
+
259
+ // not used in grammar, but may appear in "node" passed from Parser to Compiler
260
+ encoding_decl: name
261
+
262
+ yield_expr: "yield" [testlist]
263
+ | "yield" "from" test -> yield_from
264
+
265
+ number: DEC_NUMBER | HEX_NUMBER | BIN_NUMBER | OCT_NUMBER | FLOAT_NUMBER | IMAG_NUMBER
266
+ string: STRING | LONG_STRING
267
+
268
+ // Other terminals
269
+
270
+ _NEWLINE: ( /\r?\n[\t ]*/ | COMMENT )+
271
+
272
+ %ignore /[\t \f]+/ // WS
273
+ %ignore /\\[\t \f]*\r?\n/ // LINE_CONT
274
+ %ignore COMMENT
275
+ %declare _INDENT _DEDENT
276
+
277
+
278
+ // Python terminals
279
+
280
+ !name: NAME | "match" | "case"
281
+ NAME: /[^\W\d]\w*/
282
+ COMMENT: /#[^\n]*/
283
+
284
+ STRING: /([ubf]?r?|r[ubf])("(?!"").*?(?<!\\)(\\\\)*?"|'(?!'').*?(?<!\\)(\\\\)*?')/i
285
+ LONG_STRING: /([ubf]?r?|r[ubf])(""".*?(?<!\\)(\\\\)*?"""|'''.*?(?<!\\)(\\\\)*?''')/is
286
+
287
+ _SPECIAL_DEC: "0".."9" ("_"? "0".."9" )*
288
+ DEC_NUMBER: "1".."9" ("_"? "0".."9" )*
289
+ | "0" ("_"? "0" )* /(?![1-9])/
290
+ HEX_NUMBER.2: "0" ("x" | "X") ("_"? ("0".."9" | "a".."f" | "A".."F"))+
291
+ OCT_NUMBER.2: "0" ("o" | "O") ("_"? "0".."7" )+
292
+ BIN_NUMBER.2: "0" ("b" | "B") ("_"? "0".."1" )+
293
+
294
+ _EXP: ("e"|"E") ["+" | "-"] _SPECIAL_DEC
295
+ DECIMAL: "." _SPECIAL_DEC | _SPECIAL_DEC "." _SPECIAL_DEC?
296
+ FLOAT_NUMBER.2: _SPECIAL_DEC _EXP | DECIMAL _EXP?
297
+ IMAG_NUMBER.2: (_SPECIAL_DEC | FLOAT_NUMBER) ("J" | "j")
298
+
299
+
300
+ // Comma-separated list (with an optional trailing comma)
301
+ cs_list{item}: item ("," item)* ","?
302
+ _cs_list{item}: item ("," item)* ","?
@@ -0,0 +1,7 @@
1
+ // TODO: LETTER, WORD, etc.
2
+
3
+ //
4
+ // Whitespace
5
+ //
6
+ WS_INLINE: /[ \t\xa0]/+
7
+ WS: /[ \t\xa0\f\r\n]/+