polymarket-apis 0.2.2__tar.gz

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.

Potentially problematic release.


This version of polymarket-apis might be problematic. Click here for more details.

Files changed (51) hide show
  1. polymarket_apis-0.2.2/.github/workflows/ruff.yml +12 -0
  2. polymarket_apis-0.2.2/.gitignore +10 -0
  3. polymarket_apis-0.2.2/.idea/.gitignore +8 -0
  4. polymarket_apis-0.2.2/.idea/copilot.data.migration.agent.xml +6 -0
  5. polymarket_apis-0.2.2/.idea/copilot.data.migration.edit.xml +6 -0
  6. polymarket_apis-0.2.2/.idea/misc.xml +7 -0
  7. polymarket_apis-0.2.2/.idea/modules.xml +8 -0
  8. polymarket_apis-0.2.2/.idea/oply.iml +12 -0
  9. polymarket_apis-0.2.2/.idea/vcs.xml +6 -0
  10. polymarket_apis-0.2.2/PKG-INFO +18 -0
  11. polymarket_apis-0.2.2/README.md +3 -0
  12. polymarket_apis-0.2.2/pyproject.toml +137 -0
  13. polymarket_apis-0.2.2/requirements-dev.lock +420 -0
  14. polymarket_apis-0.2.2/requirements.lock +167 -0
  15. polymarket_apis-0.2.2/src/polymarket_apis/__init__.py +2 -0
  16. polymarket_apis-0.2.2/src/polymarket_apis/clients/__init__.py +0 -0
  17. polymarket_apis-0.2.2/src/polymarket_apis/clients/clob_client.py +730 -0
  18. polymarket_apis-0.2.2/src/polymarket_apis/clients/data_client.py +234 -0
  19. polymarket_apis-0.2.2/src/polymarket_apis/clients/gamma_client.py +311 -0
  20. polymarket_apis-0.2.2/src/polymarket_apis/clients/web3_client.py +261 -0
  21. polymarket_apis-0.2.2/src/polymarket_apis/clients/websockets_client.py +131 -0
  22. polymarket_apis-0.2.2/src/polymarket_apis/types/__init__.py +0 -0
  23. polymarket_apis-0.2.2/src/polymarket_apis/types/clob_types.py +494 -0
  24. polymarket_apis-0.2.2/src/polymarket_apis/types/common.py +49 -0
  25. polymarket_apis-0.2.2/src/polymarket_apis/types/data_types.py +161 -0
  26. polymarket_apis-0.2.2/src/polymarket_apis/types/gamma_types.py +313 -0
  27. polymarket_apis-0.2.2/src/polymarket_apis/types/websockets_types.py +191 -0
  28. polymarket_apis-0.2.2/src/polymarket_apis/utilities/__init__.py +0 -0
  29. polymarket_apis-0.2.2/src/polymarket_apis/utilities/config.py +36 -0
  30. polymarket_apis-0.2.2/src/polymarket_apis/utilities/constants.py +26 -0
  31. polymarket_apis-0.2.2/src/polymarket_apis/utilities/endpoints.py +37 -0
  32. polymarket_apis-0.2.2/src/polymarket_apis/utilities/exceptions.py +11 -0
  33. polymarket_apis-0.2.2/src/polymarket_apis/utilities/headers.py +54 -0
  34. polymarket_apis-0.2.2/src/polymarket_apis/utilities/order_builder/__init__.py +0 -0
  35. polymarket_apis-0.2.2/src/polymarket_apis/utilities/order_builder/builder.py +240 -0
  36. polymarket_apis-0.2.2/src/polymarket_apis/utilities/order_builder/helpers.py +61 -0
  37. polymarket_apis-0.2.2/src/polymarket_apis/utilities/signing/__init__.py +0 -0
  38. polymarket_apis-0.2.2/src/polymarket_apis/utilities/signing/eip712.py +28 -0
  39. polymarket_apis-0.2.2/src/polymarket_apis/utilities/signing/hmac.py +20 -0
  40. polymarket_apis-0.2.2/src/polymarket_apis/utilities/signing/model.py +8 -0
  41. polymarket_apis-0.2.2/src/polymarket_apis/utilities/signing/signer.py +25 -0
  42. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/__init__.py +0 -0
  43. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/CTFExchange.json +1851 -0
  44. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/ConditionalTokens.json +705 -0
  45. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/NegRiskAdapter.json +999 -0
  46. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/NegRiskCtfExchange.json +1856 -0
  47. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/ProxyWalletFactory.json +319 -0
  48. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/UChildERC20Proxy.json +1438 -0
  49. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/__init__.py +0 -0
  50. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/abis/custom_contract_errors.py +31 -0
  51. polymarket_apis-0.2.2/src/polymarket_apis/utilities/web3/helpers.py +8 -0
@@ -0,0 +1,12 @@
1
+ name: Ruff
2
+ on: [push, pull_request]
3
+ jobs:
4
+ lint:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v4
8
+ - name: ruff-action
9
+ uses: astral-sh/ruff-action@v3.4.0
10
+ with:
11
+ version: "0.11.13"
12
+ args: check --fix .
@@ -0,0 +1,10 @@
1
+ # python generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # venv
10
+ .venv
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Datasource local storage ignored files
5
+ /dataSources/
6
+ /dataSources.local.xml
7
+ # Editor-based HTTP Client requests
8
+ /httpRequests/
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="EditMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 virtualenv at ~/DataspellProjects/py-clob-client/.venv" project-jdk-type="Python SDK" />
4
+ <component name="PyCharmDSProjectLayout">
5
+ <option name="id" value="JupyterRightHiddenStructureLayout" />
6
+ </component>
7
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/oply.iml" filepath="$PROJECT_DIR$/.idea/oply.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$" />
5
+ <orderEntry type="jdk" jdkName="Python 3.12 virtualenv at ~/DataspellProjects/py-clob-client/.venv" jdkType="Python SDK" />
6
+ <orderEntry type="sourceFolder" forTests="false" />
7
+ </component>
8
+ <component name="PyDocumentationSettings">
9
+ <option name="format" value="PLAIN" />
10
+ <option name="myDocStringFormat" value="Plain" />
11
+ </component>
12
+ </module>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,18 @@
1
+ Metadata-Version: 2.4
2
+ Name: polymarket-apis
3
+ Version: 0.2.2
4
+ Summary: Unified Polymarket APIs - clob, gamma, data, web3, websockets
5
+ Author-email: Razvan Gheorghe <razvan@gheorghe.me>
6
+ Requires-Python: >=3.12
7
+ Requires-Dist: httpx[http2]>=0.25.1
8
+ Requires-Dist: lomond>=0.3.3
9
+ Requires-Dist: poly-eip712-structs>=0.0.1
10
+ Requires-Dist: py-order-utils>=0.3.2
11
+ Requires-Dist: pydantic>=2.10.5
12
+ Requires-Dist: web3>=7.0
13
+ Requires-Dist: wsaccel>=0.6.7
14
+ Description-Content-Type: text/markdown
15
+
16
+ # polymarket-apis
17
+
18
+ Polymarket CLOB, Gamma, Data and Web3 and Websockets clients.
@@ -0,0 +1,3 @@
1
+ # polymarket-apis
2
+
3
+ Polymarket CLOB, Gamma, Data and Web3 and Websockets clients.
@@ -0,0 +1,137 @@
1
+ [project]
2
+ name = "polymarket-apis"
3
+ version = "0.2.2"
4
+ description = "Unified Polymarket APIs - clob, gamma, data, web3, websockets"
5
+ readme = "README.md"
6
+ requires-python = ">=3.12"
7
+ authors = [
8
+ { name = "Razvan Gheorghe", email = "razvan@gheorghe.me" }
9
+ ]
10
+
11
+ # PEP 631-compliant dependencies table
12
+ dependencies = [
13
+ "httpx[http2]>=0.25.1",
14
+ "pydantic>=2.10.5",
15
+ "poly-eip712-structs>=0.0.1",
16
+ "py-order-utils>=0.3.2",
17
+ "web3>=7.0",
18
+ "lomond>=0.3.3",
19
+ "wsaccel>=0.6.7"
20
+ ]
21
+
22
+ [dependency-groups]
23
+ lint = [
24
+ "ruff>=0.12.0"
25
+ ]
26
+ dev = [
27
+ "ruff>=0.12.0",
28
+ "notebook>=7.3.2",
29
+ "python-dotenv>=1.0.1",
30
+ "plotly>=5.24.1",
31
+ "jupyter-contrib-nbextensions>=0.7.0",
32
+ "jupyter>=1.1.1",
33
+ "ty>=0.0.1a12",
34
+ ]
35
+
36
+ [build-system]
37
+ requires = ["hatchling"]
38
+ build-backend = "hatchling.build"
39
+
40
+ [tool.hatch.metadata]
41
+ allow-direct-references = true
42
+
43
+ [tool.hatch.build.targets.wheel]
44
+ packages = ["src/polymarket_apis"]
45
+
46
+ [tool.uv]
47
+ managed = true
48
+
49
+ [tool.ruff]
50
+ lint.extend-select = [
51
+ "E", # Pycodestyle errors (style issues)
52
+ "W", # Pycodestyle warnings (style issues)
53
+ "C90", # McCabe – complexity metric for functions
54
+ "I", # isort – import ordering checks
55
+ "N", # PEP8 Naming – naming conventions
56
+ "D", # Pydocstyle – docstring formatting
57
+ "UP", # Pyupgrade – upgrades syntax to newer Python versions
58
+ "YTT", # Flake8-2020 – checks for Python 2020 best practices
59
+ # "ANN", # Flake8-annotations – enforces type annotation style
60
+ "ASYNC",# Flake8-async – checks async/await usage
61
+ "S", # Flake8-bandit – security issues
62
+ "BLE", # Flake8-blind-except – flags bare excepts
63
+ "FBT", # Flake8-boolean-trap – potential pitfalls with booleans
64
+ "B", # Flake8-bugbear – common bug patterns
65
+ "A", # Flake8-builtins – misuse of Python built-in names
66
+ "COM", # Flake8-commas – trailing/comma issues
67
+ # "CPY", # Flake8-copyright – copyright header checks
68
+ "C4", # Flake8-comprehensions – best practices in comprehensions
69
+ "DTZ", # Flake8-datetimez – requires timezone-aware datetime objects
70
+ "T10", # Flake8-debugger – debugger statements (e.g. pdb)
71
+ "DJ", # Flake8-django – Django-specific conventions
72
+ "EM", # Flake8-errmsg – error message style
73
+ "EXE", # Flake8-executable – executable file checks
74
+ "FA", # Flake8-future-annotations – future import for annotations
75
+ "ISC", # Flake8-implicit-str-concat – warns on implicit string concatenation
76
+ "ICN", # Flake8-import-conventions – enforces conventional import aliases
77
+ "LOG", # Flake8-logging – proper logging usage
78
+ "G", # Flake8-logging-format – logging format string issues
79
+ "INP", # Flake8-no-pep420 – warns against non-PEP420 namespace usage
80
+ "PIE", # Flake8-pie – Python improvement suggestions
81
+ # "T20", # Flake8-print – disallows print statements
82
+ "PYI", # Flake8-pyi – checks for type stub (.pyi) consistency
83
+ "PT", # Flake8-pytest-style – pytest best practices
84
+ "Q", # Flake8-quotes – enforces quote style consistency
85
+ "RSE", # Flake8-raise – proper raise statement usage
86
+ "RET", # Flake8-return – return statement issues
87
+ "SLF", # Flake8-self – flags instance methods that don't use self
88
+ "SLOT", # Flake8-slots – suggests use of __slots__ where appropriate
89
+ "SIM", # Flake8-simplify – code simplification hints
90
+ "TC", # Flake8-type-checking – proper import of typing in type checks
91
+ "INT", # Flake8-gettext – checks for proper internationalization usage
92
+ "ARG", # Flake8-unused-arguments – flags unused function arguments
93
+ "PTH", # Flake8-use-pathlib – encourages pathlib over os.path
94
+ "FIX", # Flake8-fixme – flags FIXME comments
95
+ # "ERA", # Eradicate – detects commented-out code (potentially dangerous)
96
+ "PD", # Pandas-vet – checks pandas-specific code practices
97
+ "PGH", # Pygrep-hooks – custom grep hooks for linting
98
+ "PL", # Pylint – integration with Pylint conventions
99
+ "TRY", # Tryceratops – try/except usage suggestions
100
+ "FLY", # Flynt – f-string conversion suggestions
101
+ "NPY", # NumPy-specific rules – ensures NumPy coding standards
102
+ "FAST", # FastAPI – FastAPI-specific linting rules
103
+ "AIR", # Airflow – Airflow-specific linting rules
104
+ "PERF", # Perflint – performance-related checks
105
+ "FURB", # Refurb – rules for code refurbishment
106
+ # "DOC", # Pydoclint – docstring linting and consistency
107
+ "RUF", # Ruff-specific rules – additional Ruff checks
108
+ ]
109
+
110
+ lint.ignore = [
111
+ "UP007", # non-pep604-annotation-union
112
+ "UP045", # non-pep604-annotation-optional
113
+ "TID", # Flake8-tidy-imports – enforces specific import styles (e.g., no relative imports)
114
+ "E501", # Pycodestyle - line too long
115
+ "D1", # Pydocstyle - missing docstring in public module, class, or function
116
+ "FBT001", # Flake8-boolean-trap - boolean-type-hint-positional-argument
117
+ "FBT002", # Flake8-boolean-trap - boolean-default-value-positional-argument
118
+ "FBT003", # Flake8-boolean-trap - boolean-positional-value-in-call
119
+ "D203", # Pydocstyle - one blank line required before class docstring
120
+ "D212", # Pydocstyle - summary line should be immediately after the opening quotes.
121
+ "D401", # Pydocstyle - Checks for docstring first lines that are not in an imperative mood.
122
+ "N805", # PEP8 Naming - invalid-first-argument-name-for-method
123
+ "S105", # Flake8-bandit - Checks for potential uses of hardcoded passwords in strings.
124
+ "S311", # Flake8-bandit - Standard pseudo-random generators are not suitable for security/cryptographic purposes
125
+ "S324", # Flake8-bandit - Use of weak or broken cryptographic hash functions in hashlib and crypt libraries
126
+ "PERF401", # Perflint - Checks for for loops that can be replaced by a list comprehension.
127
+ "RET504", # Flake8-return - Checks for variable assignments that immediately precede a return of the assigned variable.
128
+ "FA102", # Flake8-future-annotations - Missing `from __future__ import annotations`, but uses PEP 604 union
129
+ "TC001", # Flake8-type-checking - typing-only-first-party-import
130
+ "TC003", # Flake8-type-checking - typing-only-standard-library-import
131
+ "C901", # McCabe - complex-structure
132
+ "PLR0912", # Pylint - too-many-branches
133
+ "PLR0913", # Pylint - too-many-arguments
134
+ "PLR2004", # Pylint - magic-value-comparison
135
+ "A001", # Flake8-builtins - builtin-variable-shadowing
136
+ "A002", # Flake8-builtins - builtin-argument-shadowing
137
+ ]
@@ -0,0 +1,420 @@
1
+ # generated by rye
2
+ # use `rye lock` or `rye sync` to update this lockfile
3
+ #
4
+ # last locked with the following flags:
5
+ # pre: false
6
+ # features: []
7
+ # all-features: false
8
+ # with-sources: false
9
+ # generate-hashes: false
10
+ # universal: false
11
+
12
+ -e file:.
13
+ aiohappyeyeballs==2.4.4
14
+ # via aiohttp
15
+ aiohttp==3.11.11
16
+ # via web3
17
+ aiosignal==1.3.2
18
+ # via aiohttp
19
+ annotated-types==0.7.0
20
+ # via pydantic
21
+ anyio==4.8.0
22
+ # via gql
23
+ # via httpx
24
+ # via jupyter-server
25
+ appnope==0.1.4
26
+ # via ipykernel
27
+ argon2-cffi==23.1.0
28
+ # via jupyter-server
29
+ argon2-cffi-bindings==21.2.0
30
+ # via argon2-cffi
31
+ arrow==1.3.0
32
+ # via isoduration
33
+ asttokens==3.0.0
34
+ # via stack-data
35
+ async-lru==2.0.4
36
+ # via jupyterlab
37
+ attrs==24.3.0
38
+ # via aiohttp
39
+ # via jsonschema
40
+ # via referencing
41
+ babel==2.16.0
42
+ # via jupyterlab-server
43
+ backoff==2.2.1
44
+ # via gql
45
+ beautifulsoup4==4.12.3
46
+ # via nbconvert
47
+ bitarray==3.0.0
48
+ # via eth-account
49
+ bleach==6.2.0
50
+ # via nbconvert
51
+ certifi==2024.12.14
52
+ # via httpcore
53
+ # via httpx
54
+ # via requests
55
+ cffi==1.17.1
56
+ # via argon2-cffi-bindings
57
+ charset-normalizer==3.4.1
58
+ # via requests
59
+ ckzg==2.0.1
60
+ # via eth-account
61
+ comm==0.2.2
62
+ # via ipykernel
63
+ cytoolz==1.0.1
64
+ # via eth-utils
65
+ debugpy==1.8.11
66
+ # via ipykernel
67
+ decorator==5.1.1
68
+ # via ipython
69
+ defusedxml==0.7.1
70
+ # via nbconvert
71
+ eth-abi==5.2.0
72
+ # via eth-account
73
+ # via web3
74
+ eth-account==0.13.7
75
+ # via py-order-utils
76
+ # via web3
77
+ eth-hash==0.7.1
78
+ # via eth-utils
79
+ # via web3
80
+ eth-keyfile==0.8.1
81
+ # via eth-account
82
+ eth-keys==0.6.1
83
+ # via eth-account
84
+ # via eth-keyfile
85
+ eth-rlp==2.1.0
86
+ # via eth-account
87
+ eth-typing==5.1.0
88
+ # via eth-abi
89
+ # via eth-keys
90
+ # via eth-utils
91
+ # via web3
92
+ eth-utils==5.1.0
93
+ # via eth-abi
94
+ # via eth-account
95
+ # via eth-keyfile
96
+ # via eth-keys
97
+ # via eth-rlp
98
+ # via poly-eip712-structs
99
+ # via py-order-utils
100
+ # via rlp
101
+ # via web3
102
+ executing==2.1.0
103
+ # via stack-data
104
+ fastjsonschema==2.21.1
105
+ # via nbformat
106
+ fqdn==1.5.1
107
+ # via jsonschema
108
+ frozenlist==1.5.0
109
+ # via aiohttp
110
+ # via aiosignal
111
+ gql==3.5.3
112
+ # via polymarket-apis
113
+ graphql-core==3.2.6
114
+ # via gql
115
+ h11==0.14.0
116
+ # via httpcore
117
+ h2==4.1.0
118
+ # via httpx
119
+ hexbytes==1.3.0
120
+ # via eth-account
121
+ # via eth-rlp
122
+ # via web3
123
+ hpack==4.0.0
124
+ # via h2
125
+ httpcore==1.0.7
126
+ # via httpx
127
+ httpx==0.28.1
128
+ # via jupyterlab
129
+ # via polymarket-apis
130
+ hyperframe==6.0.1
131
+ # via h2
132
+ idna==3.10
133
+ # via anyio
134
+ # via httpx
135
+ # via jsonschema
136
+ # via requests
137
+ # via yarl
138
+ iniconfig==2.0.0
139
+ # via pytest
140
+ ipykernel==6.29.5
141
+ # via jupyterlab
142
+ ipython==8.31.0
143
+ # via ipykernel
144
+ ipython-genutils==0.2.0
145
+ # via jupyter-contrib-nbextensions
146
+ isoduration==20.11.0
147
+ # via jsonschema
148
+ jedi==0.19.2
149
+ # via ipython
150
+ jinja2==3.1.5
151
+ # via jupyter-server
152
+ # via jupyterlab
153
+ # via jupyterlab-server
154
+ # via nbconvert
155
+ json5==0.10.0
156
+ # via jupyterlab-server
157
+ jsonpointer==3.0.0
158
+ # via jsonschema
159
+ jsonschema==4.23.0
160
+ # via jupyter-events
161
+ # via jupyterlab-server
162
+ # via nbformat
163
+ jsonschema-specifications==2024.10.1
164
+ # via jsonschema
165
+ jupyter-client==8.6.3
166
+ # via ipykernel
167
+ # via jupyter-server
168
+ # via nbclient
169
+ jupyter-contrib-core==0.4.2
170
+ # via jupyter-contrib-nbextensions
171
+ # via jupyter-nbextensions-configurator
172
+ jupyter-contrib-nbextensions==0.7.0
173
+ jupyter-core==5.7.2
174
+ # via ipykernel
175
+ # via jupyter-client
176
+ # via jupyter-contrib-core
177
+ # via jupyter-contrib-nbextensions
178
+ # via jupyter-nbextensions-configurator
179
+ # via jupyter-server
180
+ # via jupyterlab
181
+ # via nbclient
182
+ # via nbconvert
183
+ # via nbformat
184
+ jupyter-events==0.11.0
185
+ # via jupyter-server
186
+ jupyter-highlight-selected-word==0.2.0
187
+ # via jupyter-contrib-nbextensions
188
+ jupyter-lsp==2.2.5
189
+ # via jupyterlab
190
+ jupyter-nbextensions-configurator==0.6.4
191
+ # via jupyter-contrib-nbextensions
192
+ jupyter-server==2.15.0
193
+ # via jupyter-lsp
194
+ # via jupyter-nbextensions-configurator
195
+ # via jupyterlab
196
+ # via jupyterlab-server
197
+ # via notebook
198
+ # via notebook-shim
199
+ jupyter-server-terminals==0.5.3
200
+ # via jupyter-server
201
+ jupyterlab==4.3.4
202
+ # via notebook
203
+ jupyterlab-pygments==0.3.0
204
+ # via nbconvert
205
+ jupyterlab-server==2.27.3
206
+ # via jupyterlab
207
+ # via notebook
208
+ lomond==0.3.3
209
+ # via polymarket-apis
210
+ lxml==5.3.0
211
+ # via jupyter-contrib-nbextensions
212
+ markupsafe==3.0.2
213
+ # via jinja2
214
+ # via nbconvert
215
+ matplotlib-inline==0.1.7
216
+ # via ipykernel
217
+ # via ipython
218
+ mistune==3.1.0
219
+ # via nbconvert
220
+ multidict==6.1.0
221
+ # via aiohttp
222
+ # via yarl
223
+ nbclient==0.10.2
224
+ # via nbconvert
225
+ nbconvert==7.16.5
226
+ # via jupyter-contrib-nbextensions
227
+ # via jupyter-server
228
+ nbformat==5.10.4
229
+ # via jupyter-server
230
+ # via nbclient
231
+ # via nbconvert
232
+ nest-asyncio==1.6.0
233
+ # via ipykernel
234
+ notebook==7.3.2
235
+ # via jupyter-contrib-core
236
+ # via jupyter-contrib-nbextensions
237
+ # via jupyter-nbextensions-configurator
238
+ notebook-shim==0.2.4
239
+ # via jupyterlab
240
+ # via notebook
241
+ overrides==7.7.0
242
+ # via jupyter-server
243
+ packaging==24.2
244
+ # via ipykernel
245
+ # via jupyter-server
246
+ # via jupyterlab
247
+ # via jupyterlab-server
248
+ # via nbconvert
249
+ # via plotly
250
+ # via pytest
251
+ pandocfilters==1.5.1
252
+ # via nbconvert
253
+ parsimonious==0.10.0
254
+ # via eth-abi
255
+ parso==0.8.4
256
+ # via jedi
257
+ pexpect==4.9.0
258
+ # via ipython
259
+ platformdirs==4.3.6
260
+ # via jupyter-core
261
+ plotly==5.24.1
262
+ pluggy==1.5.0
263
+ # via pytest
264
+ poly-eip712-structs==0.0.1
265
+ # via polymarket-apis
266
+ # via py-order-utils
267
+ prometheus-client==0.21.1
268
+ # via jupyter-server
269
+ prompt-toolkit==3.0.48
270
+ # via ipython
271
+ propcache==0.2.1
272
+ # via aiohttp
273
+ # via yarl
274
+ psutil==6.1.1
275
+ # via ipykernel
276
+ ptyprocess==0.7.0
277
+ # via pexpect
278
+ # via terminado
279
+ pure-eval==0.2.3
280
+ # via stack-data
281
+ py-order-utils==0.3.2
282
+ # via polymarket-apis
283
+ pycparser==2.22
284
+ # via cffi
285
+ pycryptodome==3.21.0
286
+ # via eth-hash
287
+ # via eth-keyfile
288
+ # via poly-eip712-structs
289
+ pydantic==2.10.5
290
+ # via eth-account
291
+ # via polymarket-apis
292
+ # via web3
293
+ pydantic-core==2.27.2
294
+ # via pydantic
295
+ pygments==2.19.1
296
+ # via ipython
297
+ # via nbconvert
298
+ pytest==8.3.4
299
+ # via poly-eip712-structs
300
+ # via py-order-utils
301
+ python-dateutil==2.9.0.post0
302
+ # via arrow
303
+ # via jupyter-client
304
+ python-dotenv==1.0.1
305
+ python-json-logger==3.2.1
306
+ # via jupyter-events
307
+ pyunormalize==16.0.0
308
+ # via web3
309
+ pyyaml==6.0.2
310
+ # via jupyter-events
311
+ # via jupyter-nbextensions-configurator
312
+ pyzmq==26.2.0
313
+ # via ipykernel
314
+ # via jupyter-client
315
+ # via jupyter-server
316
+ referencing==0.35.1
317
+ # via jsonschema
318
+ # via jsonschema-specifications
319
+ # via jupyter-events
320
+ regex==2024.11.6
321
+ # via parsimonious
322
+ requests==2.32.3
323
+ # via jupyterlab-server
324
+ # via web3
325
+ rfc3339-validator==0.1.4
326
+ # via jsonschema
327
+ # via jupyter-events
328
+ rfc3986-validator==0.1.1
329
+ # via jsonschema
330
+ # via jupyter-events
331
+ rlp==4.0.1
332
+ # via eth-account
333
+ # via eth-rlp
334
+ rpds-py==0.22.3
335
+ # via jsonschema
336
+ # via referencing
337
+ ruff==0.9.1
338
+ send2trash==1.8.3
339
+ # via jupyter-server
340
+ setuptools==75.8.0
341
+ # via jupyter-contrib-core
342
+ # via jupyterlab
343
+ six==1.17.0
344
+ # via lomond
345
+ # via python-dateutil
346
+ # via rfc3339-validator
347
+ sniffio==1.3.1
348
+ # via anyio
349
+ soupsieve==2.6
350
+ # via beautifulsoup4
351
+ stack-data==0.6.3
352
+ # via ipython
353
+ tenacity==9.0.0
354
+ # via plotly
355
+ terminado==0.18.1
356
+ # via jupyter-server
357
+ # via jupyter-server-terminals
358
+ tinycss2==1.4.0
359
+ # via bleach
360
+ toolz==1.0.0
361
+ # via cytoolz
362
+ tornado==6.4.2
363
+ # via ipykernel
364
+ # via jupyter-client
365
+ # via jupyter-contrib-core
366
+ # via jupyter-contrib-nbextensions
367
+ # via jupyter-nbextensions-configurator
368
+ # via jupyter-server
369
+ # via jupyterlab
370
+ # via notebook
371
+ # via terminado
372
+ traitlets==5.14.3
373
+ # via comm
374
+ # via ipykernel
375
+ # via ipython
376
+ # via jupyter-client
377
+ # via jupyter-contrib-core
378
+ # via jupyter-contrib-nbextensions
379
+ # via jupyter-core
380
+ # via jupyter-events
381
+ # via jupyter-nbextensions-configurator
382
+ # via jupyter-server
383
+ # via jupyterlab
384
+ # via matplotlib-inline
385
+ # via nbclient
386
+ # via nbconvert
387
+ # via nbformat
388
+ types-python-dateutil==2.9.0.20241206
389
+ # via arrow
390
+ types-requests==2.32.0.20250515
391
+ # via web3
392
+ typing-extensions==4.12.2
393
+ # via anyio
394
+ # via eth-typing
395
+ # via pydantic
396
+ # via pydantic-core
397
+ # via web3
398
+ uri-template==1.3.0
399
+ # via jsonschema
400
+ urllib3==2.3.0
401
+ # via requests
402
+ # via types-requests
403
+ wcwidth==0.2.13
404
+ # via prompt-toolkit
405
+ web3==7.12.0
406
+ # via polymarket-apis
407
+ webcolors==24.11.1
408
+ # via jsonschema
409
+ webencodings==0.5.1
410
+ # via bleach
411
+ # via tinycss2
412
+ websocket-client==1.8.0
413
+ # via jupyter-server
414
+ websockets==13.1
415
+ # via web3
416
+ wsaccel==0.6.7
417
+ # via polymarket-apis
418
+ yarl==1.18.3
419
+ # via aiohttp
420
+ # via gql