Обнаружение модулей
Модули первого уровня (first-party)
Модули первого уровня — это файлы Python, которые являются частью исходного кода вашего проекта.
По умолчанию ty ищет такие модули в корневом каталоге проекта или в каталоге src, если он существует.
Если в вашем проекте используется иная структура, настройте параметр environment.root проекта в файле pyproject.toml или ty.toml. Например, если код проекта находится в каталоге app/:
example-pkg
├── README.md
├── pyproject.toml
└── app
└── example_pkg
└── __init__.py
тогда задайте environment.root в pyproject.toml как ["./app"]:
pyproject.toml
[tool.ty.environment]
root = ["./app"]
Обратите внимание, что каталог ./python автоматически добавляется к root проекта, если он существует и сам не является пакетом (то есть не содержит файл __init__.py или __init__.pyi).
Сторонние модули (third-party)
Сторонние модули — это пакеты Python, которые не входят ни в ваш проект, ни в стандартную библиотеку. Обычно они объявляются как зависимости в файле pyproject.toml или requirements.txt и устанавливаются с помощью менеджера пакетов, такого как uv или pip. Примеры популярных сторонних модулей: requests, numpy, django.
ty ищет сторонние модули в настроенном окружении Python.
Окружение Python
Окружение Python используется для обнаружения сторонних модулей.
По умолчанию ty пытается обнаружить виртуальное окружение.
Сначала ty проверяет наличие активного виртуального окружения через переменную среды VIRTUAL_ENV. Если она не установлена, ty будет искать каталог .venv в корне проекта или рабочем каталоге. В данный момент ty поддерживает обнаружение только виртуальных окружений.
Note
При использовании инструментов управления проектами, таких как uv или Poetry, команда run обычно автоматически активирует виртуальное окружение, и оно будет обнаружено ty.
Окружение Python можно явно задать через параметр конфигурации environment.python или флаг --python.
При явной настройке окружения можно указывать и не‑виртуальные окружения.