[project]
name = "pyrofork"
dynamic = ["version"]
description = "Fork of pyrogram. Elegant, modern and asynchronous Telegram MTProto API framework in Python for users and bots"
authors = [{ name = "wulan17", email = "mayuri@mayuri.my.id" }]
dependencies = ["pyaes==1.6.1", "pysocks==1.7.1", "pymediainfo-pyrofork>=6.0.1,<7.0.0"]
readme = "README.md"
license = "LGPL-3.0-or-later"
requires-python = "~=3.9"
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "Natural Language :: English",
    "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Python :: Implementation",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Internet",
    "Topic :: Communications",
    "Topic :: Communications :: Chat",
    "Topic :: Software Development :: Libraries",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
]
keywords = ["telegram chat messenger mtproto api client library python"]

[tool.hatch.version]
path = "pyrogram/__init__.py"

# Used to call hatch_build.py
[tool.hatch.build.hooks.custom]

[project.urls]
Homepage = "https://github.com/Mayuri-Chan"
Tracker = "https://github.com/Mayuri-Chan/pyrofork/issues"
Community = "https://t.me/MayuriChan_Chat"
Source = "https://github.com/Mayuri-Chan/pyrofork"
Documentation = "https://pyrofork.wulan17.top"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project.optional-dependencies]
dev = [
    "hatch>=1.7.0",
    "pytest>=7.4.3",
    "pytest-asyncio>=0.21.1",
    "pytest-cov>=4.1.0",
    "twine>=4.0.2"
]

docs = [
    "sphinx",
    "sphinx-immaterial==0.12.4",
    "sphinx_copybutton",
    "sphinx-autobuild",
    "tornado>=6.3.3"
]

speedup = [
    "tgcrypto-pyrofork>=1.2.6",
    "uvloop>=0.19.0"
]

[tool.hatch.metadata]
allow-direct-references = true

[tool.hatch.build.targets.sdist]
exclude = [
    ".github/",
    "docs/",
    "tests/",
    ".editorconfig",
    ".gitignore",
    ".pre-commit-config.yaml",
    "CODE_OF_CONDUCT.rst",
    "CONTRIBUTING.rst",
    "requirements.lock",
    "requirements-dev.lock",
]

[tool.hatch.build.targets.wheel]
ignore-vcs = true
packages = ["pyrogram"]
