-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathpyproject.toml
More file actions
129 lines (117 loc) · 3.24 KB
/
Copy pathpyproject.toml
File metadata and controls
129 lines (117 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[build-system]
requires = ["hatchling>=1.26"]
build-backend = "hatchling.build"
[project]
name = "polymarket-client"
version = "0.1.0b21"
description = "Official Python client for Polymarket"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [
{ name = "Polymarket Engineering", email = "engineering@polymarket.com" },
]
maintainers = [
{ name = "Polymarket Engineering", email = "engineering@polymarket.com" },
]
keywords = ["polymarket", "prediction-markets", "client", "trading", "web3"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Typing :: Typed",
]
dependencies = [
"eth-abi>=5,<6",
"eth-account>=0.13,<1",
"eth-utils>=4,<6",
"httpx[http2]>=0.27,<1",
"msgpack>=1,<2",
"pydantic>=2,<3",
"websockets>=13,<16",
]
[project.optional-dependencies]
arrow = ["pyarrow>=15,<22"]
pandas = ["pandas>=2,<3", "pyarrow>=15,<22"]
polars = ["polars>=1,<2", "pyarrow>=15,<22"]
quant = ["pandas>=2,<3", "polars>=1,<2", "pyarrow>=15,<22"]
[project.urls]
Homepage = "https://polymarket.com"
Documentation = "https://docs.polymarket.com"
Repository = "https://github.com/Polymarket/py-sdk"
Issues = "https://github.com/Polymarket/py-sdk/issues"
[dependency-groups]
dev = [
"pytest>=8,<9",
"pytest-cov>=6,<7",
"respx>=0.22,<1",
"ruff>=0.11,<1",
"pyright>=1.1,<2",
"pytest-watcher>=0.6.3",
"python-dotenv>=1.2.2",
# Frames extras — dev needs all of them to run the frames test suite.
# Production users install only the extras they need via
# ``polymarket-client[pandas|polars|arrow|quant]``.
"pyarrow>=15,<22",
"pandas>=2,<3",
"polars>=1,<2",
]
[tool.hatch.build]
exclude = [
"/.github",
"/.vscode",
"/dist",
"/docs",
"/tests",
"/AGENTS.md",
"/CONTRIBUTING.md",
"/release-please-config.json",
"/Makefile",
]
[tool.hatch.build.targets.wheel]
packages = ["src/polymarket"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--strict-markers"
markers = [
"integration: tests that call live Polymarket services or require credentials",
"metered: integration tests that require explicit opt-in because they may place orders, spend funds, or mutate live state",
]
[tool.ruff]
line-length = 100
target-version = "py311"
src = ["src", "tests", "examples"]
[tool.ruff.lint]
select = [
"E",
"F",
"I",
"UP",
"B",
"SIM",
]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.pyright]
include = ["src", "tests", "examples"]
pythonVersion = "3.11"
typeCheckingMode = "strict"
venvPath = "."
venv = ".venv"
# The frames adapters wrap pyarrow / pandas / polars, none of which ship
# first-class type stubs that satisfy strict mode. Loosen the unknown-type
# reports for these modules only; everything else stays strict.
[[tool.pyright.executionEnvironments]]
root = "src/polymarket/frames"
reportMissingTypeStubs = "none"
reportUnknownMemberType = "none"
reportUnknownArgumentType = "none"
reportUnknownVariableType = "none"
reportUnknownParameterType = "none"
reportUnknownLambdaType = "none"