pyproject.toml
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "dxsp"
version = "11.0.11"
description = "DXSP (DeX SwaP), A defi swap helper package. Swap made easy."
authors = ["mraniki <8766259+mraniki@users.noreply.github.com>"]
license = "MIT License"
readme = "README.md"
packages = [
{include = "dxsp"}
]
[tool.poetry.urls]
"Changelog" = "https://github.com/mraniki/dxsp/blob/dev/CHANGELOG.rst"
"Support" = "https://github.com/mraniki/dxsp/discussions"
"Issues" = "https://github.com/mraniki/dxsp/issues"
[tool.poetry.dependencies]
python = "^3.10"
dynaconf = ">=3.2.0"
loguru = ">=0.6.0"
pycoingecko = "3.1.0"
requests = "^2.31.0"
web3 = "6.20.3"
uniswap-python = "0.7.1"
kwenta = "1.2.0"
[tool.poetry.group.dev.dependencies]
python-semantic-release = ">=8.0.8"
ruff = "^0.7.0"
black = "^24.0.0"
pre-commit = "^3.3.1"
[tool.ruff]
exclude = [
".github/*",
"docs/*",
]
[tool.ruff.lint]
select = [
"E", # pycodestyle
"F", # pyflakes
"I", # isort
"W"
]
#ignore = ["E401","F401","F811"]
fixable = ["ALL"]
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
[tool.poetry.group.test.dependencies]
pytest = "^7.0"
pytest-cov = "^5.0.0"
pytest-asyncio = "^0.23.0"
pytest-mock = "^3.11.1"
pytest-loguru = "^0.4.0"
eth_tester = "^0.9.0b2"
# eth-tester = "^0.12.0b1"
[tool.pytest.ini_options]
pythonpath = "."
testpaths = "tests"
python_classes = "Test*"
log_format = "%(asctime)s - %(levelname)s - %(name)s - %(message)s"
log_level = "DEBUG"
addopts = """
-v
--show-capture=stderr
"""
asyncio_mode = "auto"
[tool.coverage.run]
omit = [
"tests/*",
"examples/*",
"docs/*",
"*/config.py"
]
[tool.bandit]
exclude_dirs = ["tests","docs"]
skips = ["B101","B104"]
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
sphinx = "7.4.7"
pydata-sphinx-theme = "0.16.0"
sphinx-hoverxref = "1.4.1"
sphinx_copybutton = "0.5.2"
myst_parser = "4.0.0"
sphinx_design = "^0.6.0"
[tool.semantic_release]
tag_format = "v{version}"
commit_parser = "emoji"
build_command = "pip install poetry && poetry build"
version_variables = [
"dxsp/__init__.py:__version__",
]
version_toml = [
"pyproject.toml:tool.poetry.version",
]
[tool.semantic_release.commit_parser_options]
major_tags = [
"BREAKING",
"💥",
":boom:",
]
minor_tags = ["feat",
"🥚",":egg:",
"🚀",":rocket:",
"💄",":lipstick:",
"✨",":sparkles:",
]
patch_tags = ["fix","bump","Update",
"🎨",":art:",
"🐛",":bug:",
"🚑",":ambulance:",
"⚡",":zap:",
"🔥",":fire:",
"🚨",":rotating_light:",
"♻️",":recycle:",
"🔧",":wrench:",
"⬆️",":arrow_up:",
"🩹",":adhesive_bandage:",
"👷",":construction_worker:",
"📝",":memo:",
"🔒",":lock:",
"👽",":alien:",
"💬",":speech_balloon:",
"🥅",":goal_net:",
"✅",":white_check_mark:",
"🐳",":whale:",
"🙈",":see_no_evil:",
"⚗️",":alembic:",
"🧐",":monocle_face:",
"🔇",":mute:",
"🔊",":volume:",
]
[tool.semantic_release.changelog]
# template_dir = "templates"
changelog_file = "CHANGELOG.md"
exclude_commit_patterns = []
[tool.semantic_release.branches.main]
match = "(main|master|dev)"
prerelease_token = "rc"
prerelease = false
[tool.semantic_release.publish]
dist_glob_patterns = ["dist/*"]
upload_to_vcs_release = true