[tool.poetry] name = "dipdup" description = "Modular framework for creating selective indexers and featureful backends for dapps" version = "6.5.16" license = "MIT" authors = [ "Lev Gorodetskiy ", "Michael Zaikin " ] readme = "README.md" repository = "https://github.com/dipdup-io/dipdup" homepage = "https://dipdup.io/" keywords = ["tezos", "blockchain", "sdk", "michelson", "indexers", "tzkt", "cryptocurrencies", "smart-contracts"] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Application Frameworks", "Typing :: Typed", ] packages = [ { include = "dipdup", from = "src" }, ] [tool.poetry.dependencies] python = ">=3.10,<3.11" asyncpg = "^0.29.0" datamodel-code-generator = "^0.25.1" pydantic = "^1.10.11" tortoise-orm = "0.19.3" aiohttp = "^3.8.1" aiolimiter = "^1.0.0" anyio = "^4.1.0" APScheduler = "^3.8.0" asyncclick = "^8.0.1" orjson = "^3.6.6" prometheus-client = "^0.19.0" pyhumps = "^3.0.2" pysignalr = "0.2.0" python-dotenv = "^0.19.0" "ruamel.yaml" = "^0.18.5" sentry-sdk = "^1.4.3" sqlparse = "^0.4.2" tabulate = "^0.9.0" pytezos = {version = "^3.10.0", optional = true} [tool.poetry.group.dev.dependencies] black = "*" diff-cover = "*" docker = "*" ruff = "*" isort = "*" mypy = "*" pytest = "*" pytest-aiohttp = "*" pytest-asyncio = "^0.21.1" pytest-cov = "*" pytest-xdist = "*" Sphinx = "^7.0.0" sphinx-click = "*" sphinx-markdown-builder = "*" types-pytz = "*" types-tabulate = "*" [tool.poetry.extras] pytezos = ["pytezos"] [tool.poetry.scripts] dipdup = "dipdup.cli:cli" dipdup-install = "dipdup.install:cli" [tool.isort] line_length = 120 force_single_line = true [tool.black] line-length = 120 target-version = ["py310"] skip-string-normalization = true [tool.ruff] line-length = 120 target-version = "py310" [tool.ruff.lint] ignore = ["E501", "B905"] extend-select = ["B", "C4", "Q"] # todo: G, PTH, RET, RUF, S, TCH flake8-quotes = {inline-quotes = "single", multiline-quotes = "double"} [tool.mypy] python_version = "3.10" plugins = ["pydantic.mypy"] [tool.pytest.ini_options] asyncio_mode = "auto" [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise FrameworkError", "raise NotImplementedError", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"