hatch

hatch: https://hatch.pypa.io/latest/

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° strict type ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ для Pylance для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ своих

КладСм Π² ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ нашСй пустой Ρ„Π°ΠΉΠ» py.typed. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ систСмС сборки автоматичСски ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ stub-Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ пСрСчислСны всС Ρ‚ΠΈΠΏΡ‹ для pylance.

А Π΄Π°Π»Π΅Π΅ добавляСм Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ pyproject.toml:

[build-system]
requires = ["hatchling", "hatch-build-scripts"]
build-backend = "hatchling.build"

[project]
name = "bot-service"
version = "0.1.0"
description = "Telegram Bot Service"
requires-python = "==3.13.*"

dependencies = [
    "httpx==0.27.0",
    "openai==2.2.0",
    "pydantic-settings==2.2.1",
    "python-telegram-bot==22.5",
    "python-telegram-bot[job-queue]==22.5",
    "pytz==2024.1"
]

[tool.hatch.build.targets.wheel]
only-include = [
    "src/code",
]

# Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ py.typed ΠΈ всС .pyi Ρ„Π°ΠΉΠ»Ρ‹
[tool.hatch.build.targets.wheel.force-include]
"src/code/py.typed" = "my/package/py.typed"

[tool.hatch.build.targets.wheel.sources]
"src/code" = "my/package"

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΈ использовании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pylance Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€ΡƒΠ³Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ для классов ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ:

import my.package

Last updated