[tool.poetry]
name = "driftpy"
version = "0.8.36"
description = "A Python client for the Drift DEX"
authors = [
    "x19 <https://twitter.com/0xNineteen@gmail.com>",
    "bigz <https://twitter.com/bigz_pubkey>",
    "frank <https://twitter.com/soundsonacid>",
    "sina <https://github.com/sinakhalili>",
]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/drift-labs/driftpy"
documentation = "https://drift-labs.github.io/driftpy/"

[tool.poetry.dependencies]
python = "^3.10"
anchorpy = "0.21.0"
solana = "^0.36"
requests = "^2.28.1"
types-requests = "^2.28.9"
mkdocs = "^1.3.0"
pythclient = "0.2.1"
aiodns = "3.0.0"
aiohttp = "^3.8.3"
aiosignal = "1.3.1"
anchorpy-core = "0.2.0"
anyio = "3.6.2"
apischema = "0.17.5"
async-timeout = "^4.0.2"
attrs = "22.1.0"
backoff = "2.2.1"
base58 = "2.1.1"
based58 = "0.1.1"
borsh-construct = "0.1.0"
cachetools = "4.2.4"
certifi = "2022.12.7"
cffi = "1.15.1"
charset-normalizer = "2.1.1"
construct = "2.10.68"
construct-typing = "0.5.3"
dnspython = "2.2.1"
exceptiongroup = "1.0.4"
flake8 = "6.0.0"
frozenlist = "1.3.3"
h11 = "0.14.0"
httpcore = "1.0.7"
httpx = "0.28.1"
idna = "3.4"
iniconfig = "1.1.1"
jsonalias = "0.1.1"
jsonrpcclient = "4.0.3"
jsonrpcserver = "5.0.9"
jsonschema = "4.17.3"
loguru = "0.6.0"
mccabe = "0.7.0"
more-itertools = "8.14.0"
multidict = "6.0.3"
oslash = "0.6.3"
packaging = "23.1"
pluggy = "1.0.0"
psutil = "5.9.4"
py = "1.11.0"
pycares = "4.3.0"
pycodestyle = "2.10.0"
pycparser = "2.21"
pyflakes = "3.0.1"
pyheck = "0.1.5"
pyrsistent = "0.19.2"
rfc3986 = "1.5.0"
sniffio = "1.3.0"
solders = ">=0.23.0,<0.27.0"
sumtypes = "0.1a6"
toml = "0.10.2"
tomli = "2.0.1"
toolz = "0.11.2"
types-cachetools = "4.2.10"
typing-extensions = "^4.4.0"
urllib3 = "1.26.13"
websockets = "10.4"
yarl = "1.8.2"
zstandard = "0.18.0"
jinja2 = "^3.1.2"
mypy = "^1.7.0"
deprecated = "^1.2.14"
events = "^0.5"
numpy = "^1.26.2"
grpcio = "1.68.1"
protobuf = "5.29.2"
pynacl = "^1.5.0"
tqdm = "^4.67.1"

[poetry.group.dev.dependencies]
pytest = "^7.2.0"
flake8 = "6.0.0"
black = "24.4.2"
pytest-asyncio = "^0.21.0"
mkdocs = "^1.3.0"
mkdocstrings = "^0.17.0"
mkdocs-material = "^8.1.8"
bump2version = "^1.0.1"
autopep8 = "^2.0.4"
mypy = "^1.7.0"
python-dotenv = "^1.0.0"
ruff = "^0.8.4"
drift-jit-proxy = ">=0.1.6"


[tool.poetry.group.dev.dependencies]
pytest = "^7.4.4"
pytest-asyncio = "0.21.0"
pytest-xprocess = "0.18.1"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.pytest.ini_options]
asyncio_mode = "strict"

[tool.ruff]
exclude = [
    ".git",
    "__pycache__",
    "docs/source/conf.py",
    "old",
    "build",
    "dist",
    "**/geyser_codegen/**",
]

[tool.ruff.lint.pycodestyle]
max-line-length = 88

[tool.pyright]
reportMissingModuleSource = false