diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..2417a13 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "telegram-exporter" +version = "0.1.0" +description = "Export all media from a Telegram group to local disk, grouped by post, resumably." +requires-python = ">=3.12" +license = { file = "LICENSE" } +# Telethon 2.0 is alpha with a renamed API surface. requirements.txt pins the +# exact version the API probes were verified against. +dependencies = ["telethon>=1.41,<2"] + +[project.optional-dependencies] +dev = ["pytest>=8"] + +[project.scripts] +tg-export = "telegram_exporter.cli:main" + +[tool.hatch.build.targets.wheel] +packages = ["src/telegram_exporter"] + +[tool.pytest.ini_options] +testpaths = ["tests"] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..41fe3c6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +# Pinned to the Telethon version the API probes were verified against. +# Regenerate with `pip freeze` only after re-running spike/probe_telethon_api.py. +pyaes==1.6.1 +pyasn1==0.6.4 +rsa==4.9.1 +Telethon==1.44.0