[tool.poetry]
name = "aiogram"
version = "3.0.0-beta.5"
description = "Modern and fully asynchronous framework for Telegram Bot API"
authors = [
    "Alex Root Junior <jroot.junior@gmail.com>",
]
maintainers = [
    "Alex Root Junior <jroot.junior@gmail.com>",
]
license = "MIT"
readme = "README.rst"
homepage = "https://aiogram.dev/"
documentation = "https://docs.aiogram.dev/"
repository = "https://github.com/aiogram/aiogram/"
keywords = [
    "telegram",
    "bot",
    "api",
    "framework",
    "wrapper",
    "asyncio",
]
classifiers = [
    "License :: OSI Approved :: MIT License",
    "Development Status :: 4 - Beta",
    "Environment :: Console",
    "Framework :: AsyncIO",
    "Typing :: Typed",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
#    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Communications :: Chat",

]
packages = [
    { include = "aiogram" }
]


[tool.poetry.dependencies]
python = "^3.8"
magic-filter = "^1.0.9"
aiohttp = "^3.8.3"
pydantic = "^1.10.2"
aiofiles = "^22.1.0"
# Fast
uvloop = { version = "^0.17.0", markers = "sys_platform == 'darwin' or sys_platform == 'linux'", optional = true }
# i18n
Babel = { version = "^2.9.1", optional = true }
# Proxy
aiohttp-socks = { version = "^0.7.1", optional = true }
# Redis
redis = { version = "^4.3.4", optional = true }


[tool.poetry.group.docs.dependencies]
Sphinx = "^5.2.3"
sphinx-intl = "^2.0.1"
sphinx-autobuild = "^2021.3.14"
sphinx-copybutton = "^0.5.0"
furo = "^2022.9.29"
sphinx-prompt = "^1.5.0"
Sphinx-Substitution-Extensions = "^2022.2.16"
towncrier = "^22.8.0"
pygments = "^2.4"
pymdown-extensions = "^9.6"
markdown-include = "^0.7.0"
Pygments = "^2.13.0"


[tool.poetry.group.test.dependencies]
pytest = "^7.1.3"
pytest-html = "^3.1.1"
pytest-asyncio = "^0.19.0"
pytest-lazy-fixture = "^0.6.3"
pytest-mock = "^3.9.0"
pytest-mypy = "^0.10.0"
pytest-cov = "^4.0.0"
pytest-aiohttp = "^1.0.4"
aresponses = "^2.1.6"
asynctest = "^0.13.0"


[tool.poetry.group.dev.dependencies]
black = "^22.8.0"
isort = "^5.10.1"
flake8 = "^5.0.4"
mypy = "^0.981"
toml = "^0.10.2"
pre-commit = "^2.20.0"
packaging = "^21.3"
typing-extensions = "^4.3.0"


[tool.poetry.extras]
fast = ["uvloop"]
redis = ["redis"]
proxy = ["aiohttp-socks"]
i18n = ["Babel"]

[tool.black]
line-length = 99
target-version = ['py38', 'py39', 'py310']
exclude = '''
(
    \.eggs
  | \.git
  | \.tox
  | build
  | dist
  | venv
  | docs
)
'''

[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 99
known_third_party = [
    "aiofiles",
    "aiohttp",
    "aiohttp_socks",
    "aresponses",
    "packaging",
    "pkg_resources",
    "pydantic",
    "pytest"
]

[tool.towncrier]
package = "aiogram"
filename = "CHANGES.rst"
directory = "CHANGES/"
template = "CHANGES/.template.rst.jinja2"
issue_format = "`#{issue} <https://github.com/aiogram/aiogram/issues/{issue}>`_"

[[tool.towncrier.section]]
path = ""

[[tool.towncrier.type]]
directory = "feature"
name = "Features"
showcontent = true

[[tool.towncrier.type]]
directory = "bugfix"
name = "Bugfixes"
showcontent = true

[[tool.towncrier.type]]
directory = "doc"
name = "Improved Documentation"
showcontent = true

[[tool.towncrier.type]]
directory = "removal"
name = "Deprecations and Removals"
showcontent = true

[[tool.towncrier.type]]
directory = "misc"
name = "Misc"
showcontent = true

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