Files
pumpfun-bonkfun-bot_github/pyproject.toml
T
Anton Sauchyk 31955103dc feat: add Windows compatibility for uvloop dependency (#155)
Fixes chainstacklabs/pumpfun-bonkfun-bot#152

Changes:
- Make uvloop optional with platform-specific markers (Unix only)
- Add winloop as Windows alternative for performance optimization
- Update code to gracefully fall back to standard asyncio when event loop
  libraries are unavailable
- Both bot_runner.py and universal_trader.py now detect platform and use
  appropriate event loop implementation

This resolves the blocking installation issue for Windows users while
maintaining performance benefits on all platforms. Windows users can now
install and run the bot with winloop for improved performance, or use
standard asyncio as fallback.

Related: https://github.com/smypmsa/gh-triage-reports/blob/main/issues/chainstacklabs-pumpfun-bonkfun-bot/issue-152-2026-02-08.md

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-09 16:58:24 +04:00

93 lines
1.8 KiB
TOML

[project]
name = "pump_bot"
version = "2.0"
description = "Trade tokens on pump.fun"
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
"base58>=2.1.1",
"borsh-construct>=0.1.0",
"construct>=2.10.67",
"construct-typing>=0.5.2",
"solana==0.36.6",
"solders>=0.26.0",
"websockets>=15.0",
"python-dotenv>=1.0.1",
"aiohttp>=3.11.13",
"grpcio>=1.71.0",
"grpcio-tools>=1.71.0",
"protobuf>=5.29.4",
"pyyaml>=6.0.2",
"uvloop>=0.21.0; sys_platform != 'win32'",
"winloop>=0.1.0; sys_platform == 'win32'",
]
[project.optional-dependencies]
dev = [
"ruff>=0.10.0"
]
[project.scripts]
pump_bot = "bot_runner:main"
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
line-length = 88
indent-width = 4
target-version = "py311"
[tool.ruff.lint]
select = [
"E", "F", "I", "UP", "N", "B", "A", "C4", "T10", "ARG", "PTH",
"ANN", # type annotations
"S", # security best practices
"BLE", # blind except statements
"FBT", # boolean trap parameters
"C90", # complexity metrics
"TRY", # exception handling best practices
"SLF", # private member access
"TCH", # type checking issues
"RUF", # Ruff-specific rules
"ERA", # eradicate commented-out code
"PL", # pylint conventions
]
ignore = ["E501"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
line-ending = "auto"