pyproject.toml
[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