[project] name = "Telethon" description = "Full-featured Telegram client library" authors = [ { name="Lonami", email="totufals@hotmail.com" }, ] readme = "README.md" license = {file = "LICENSE"} requires-python = ">=3.9" keywords = ["telegram", "chat", "messaging", "mtproto", "telethon"] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Communications :: Chat", "Typing :: Typed", ] dependencies = [ "pyaes~=1.6", "rsa~=4.9", "markdown-it-py~=3.0", "typing-extensions~=4.12.2", ] dynamic = ["version"] [project.optional-dependencies] cryptg = ["cryptg~=0.5"] dev = [ "mypy~=1.11.2", "ruff~=0.6.8", "pytest~=7.3", "pytest-asyncio~=0.21", ] doc = [ "sphinx_rtd_theme~=1.2", "types-docutils~=0.20", ] [project.urls] "Homepage" = "https://telethon.dev/" "Source" = "https://telethon.dev/code/" "Documentation" = "https://telethon.dev/docs/" "Bug Tracker" = "https://telethon.dev/issues/" [build-system] requires = ["setuptools>=61.0"] build-backend = "backend" backend-path = ["build_backend"] [tool.setuptools.dynamic] version = {attr = "telethon.version.__version__"} [tool.ruff] exclude = ["doc"] [tool.ruff.lint] select = ["F", "E", "W", "I", "N", "ANN"] ignore = [ "E501", # formatter takes care of lines that are too long besides documentation "ANN101", # Missing type annotation for `self` in method "ANN102", # Missing type annotation for `cls` in classmethod "ANN401", # Dynamically typed expressions (typing.Any) are not type checked ]