[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "miband-bot" version = "0.1.0" description = "Personal Telegram bot and Xiaomi Fitness sync service for Mi Band data" readme = "README.md" requires-python = ">=3.11" license = { text = "GPL-3.0-or-later" } authors = [ { name = "Alexey" }, ] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Framework :: AsyncIO", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Communications :: Chat", "Topic :: Database", "Topic :: Utilities", ] dependencies = [ "httpx==0.28.1", "loguru==0.7.3", "pydantic==2.12.5", "pycryptodome==3.21.0", "python-telegram-bot==21.6", "qrcode==8.0", "requests==2.32.3", "tenacity==9.1.2", ] [project.optional-dependencies] dev = [ "pytest==8.3.4", "pytest-asyncio==1.3.0", "ruff==0.8.4", ] [project.urls] Homepage = "https://github.com/iAlexeyRu/miband-bot" Repository = "https://github.com/iAlexeyRu/miband-bot" Issues = "https://github.com/iAlexeyRu/miband-bot/issues" [project.scripts] miband-sync = "miband_sync:main" miband-fitness-bot = "fitness_bot:main" [tool.setuptools] py-modules = ["fitness_bot", "miband_sync"] [tool.setuptools.packages.find] include = ["miband_tracker*"] exclude = ["tests*", "mi-fitness-python*"] [tool.ruff] line-length = 120 target-version = "py311" extend-exclude = [ ".venv", "data", "scratch", "mi-fitness-python", ] [tool.ruff.lint] select = ["E", "W", "F", "I", "B", "UP", "C4", "RUF"] ignore = [ "E501", "RUF001", "RUF002", "RUF003", ]