pyproject.toml

Summary

Maintainability
Test Coverage
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core"]


[tool.poetry]
authors = ["mraniki <8766259+mraniki@users.noreply.github.com>"]
classifiers = [
  "Intended Audience :: Developers",
  "Intended Audience :: Financial and Insurance Industry",
  "Intended Audience :: Information Technology",
  "Natural Language :: English",
  "Operating System :: OS Independent",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Topic :: Office/Business :: Financial :: Investment",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "Topic :: Communications :: Chat"
]
description = "Connect CEX & DEX across multi messaging platforms with plugin support."
keywords = [
  "finance",
  "trading",
  "economics",
  "DEFI",
  "CEFI",
  "DEX",
  "CEX",
  "0x",
  "Uniswap",
  "bot",
  "chat",
  "talky",
  "AI agent"
]
license = "MIT License"
name = "tt"
packages = [
  {include = "tt"}
]
readme = "README.md"
version = "10.3.26"

[tool.poetry.dependencies]
python = "^3.10"
loguru = ">=0.6.0"
dynaconf = ">=3.2.0"
fastapi = "0.115.0"
requests = "^2.31.0"
uvicorn = "0.30.6"
apprise = "1.9.0"
asyncz = "0.9.0"
nicegui = "1.4.9"
ping3 = "4.0.8"
feedparser = "6.0.11"
talkytrend = "3.3.1"
iamlistening = "5.3.13"
findmyorder = "2.2.8"
dxsp = "11.0.9"
cefi = "4.13.0"
myllm = "4.12.18"

[tool.poetry.group.dev.dependencies]
python-semantic-release = ">=8.0.8"
ruff = "^0.6.0"
black = "^24.0.0"
pre-commit = "^3.3.1"

[tool.poetry.group.docs]
optional = true

[tool.poetry.group.docs.dependencies]
sphinx = "7.4.7"
sphinx-hoverxref = "^1.3.0"
sphinx_copybutton = "0.5.2"
sphinx_design = "^0.6.0"
myst_parser = "^4.0.0"
pydata-sphinx-theme = "^0.15.0"

[tool.poetry.group.test.dependencies]
pytest = "^7.0"
pytest-asyncio = "^0.23.0"
pytest-cov = "^5.0.0"
pytest-loguru = "^0.4.0"
pytest-mock = "^3.11.1"
pytest-playwright = "^0.5.0"

[tool.poetry.urls]
"Changelog" = "https://github.com/mraniki/tt/blob/dev/CHANGELOG.rst"
"Issues" = "https://github.com/mraniki/tt/issues"
"Support" = "https://github.com/mraniki/tt/discussions"



[tool.pylint.exceptions]
overgeneral-exceptions = [
  "builtins.BaseException",
  "builtins.Exception",
  "builtins.RuntimeError"
]

[tool.pytest.ini_options]
addopts = """
-v
--show-capture=stderr
"""
filterwarnings = [
  " ignore:.*U.*mode is deprecated:DeprecationWarning",
  "ignore::DeprecationWarning"
]
log_format = "%(asctime)s - %(levelname)s - %(name)s - %(message)s"
log_level = "DEBUG"
python_classes = "Test*"
pythonpath = ". tt"
testpaths = "tests"
asyncio_mode = "auto"

[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.coverage.run]
omit = [
  "tests/*",
  "examples/*",
  "docs/*",
  "*/config.py"
]

[tool.bandit]
exclude_dirs = ["tests","docs"]
skips = ["B101","B104"]


[tool.semantic_release]
build_command = "pip install poetry && poetry build"
commit_parser = "emoji"
tag_format = "v{version}"
version_toml = [
  "pyproject.toml:tool.poetry.version"
]
version_variables = [
  "tt/utils/version.py:__version__"
]

[tool.semantic_release.commit_parser_options]
major_tags = [
  "BREAKING",
  "💥",
  ":boom:"
]
minor_tags = [
  "feat",
  "🥚",
  ":egg:",
  "💄",
  ":lipstick:",
  "🚀",
  ":rocket:",
  "✨",
  ":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 = false