mraniki/dxsp

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage

[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