Skip to content

Configure proper package installation with uv_build backend#106

Draft
MasterGroosha with Copilot wants to merge 5 commits into
masterfrom
copilot/update-python-environment-config
Draft

Configure proper package installation with uv_build backend#106
MasterGroosha with Copilot wants to merge 5 commits into
masterfrom
copilot/update-python-environment-config

Conversation

Copilot AI commented Feb 18, 2026

Copy link
Copy Markdown

Migrates from PYTHONPATH-based module resolution to proper package installation using uv_build.

Changes

  • pyproject.toml: Added build-system configuration with uv_build == 0.10.4 backend and module-root = "src"
  • Dockerfile: Removed PYTHONPATH=/app/src environment variable and --no-install-project flag from uv sync
  • Configuration: Moved settings.example.toml from src/ to root directory
  • Path references: Updated config_reader.py, docker-compose.yml, and documentation to reference new config location
  • .gitignore: Added __pycache__/ and updated settings.toml path

Result

The bot package is now properly installed in the virtual environment, making python -m bot work without path manipulation. Configuration is separated from source code at the project root.

Original prompt

This section details on the original issue you should resolve

<issue_title>Требуются правки по Python-окружению</issue_title>
<issue_description>code/project_threads_llm/final_version
Добавь в pyproject.toml

[build-system]
requires = ["uv_build == 0.10.4"]
build-backend = "uv_build"

[tool.uv.build-backend]
module-root = "bot"

Так же удали из докера env в котором меняется PYTHONPATH

и сделай так, чтобы наше приложение устанавливалось, наверное, надо убрать флаг--no-install-project

Так же вынеси из src/ конфиг файл в формате .toml и положи его в корень

а так же если где-то этот конфиг упомянался внутри репозитория по пути src/ то поправь в этих местах его путь</issue_description>

<agent_instructions>Ты Senior Python Developer. Правка касается только пути code/project_threads_llm/final_version. Внимательно прочти то, что написано в issue, проанализируй, оцени необходимость и только после этого предложи свои правки. Их надо обосновать.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 4 commits February 18, 2026 09:17
Co-authored-by: MasterGroosha <2780044+MasterGroosha@users.noreply.github.com>
Co-authored-by: MasterGroosha <2780044+MasterGroosha@users.noreply.github.com>
Co-authored-by: MasterGroosha <2780044+MasterGroosha@users.noreply.github.com>
Co-authored-by: MasterGroosha <2780044+MasterGroosha@users.noreply.github.com>
Copilot AI changed the title [WIP] Update Python environment configuration in pyproject.toml Configure proper package installation with uv_build backend Feb 18, 2026
Copilot AI requested a review from MasterGroosha February 18, 2026 09:21
Comment on lines +1 to +6
[build-system]
requires = ["uv_build == 0.10.4"]
build-backend = "uv_build"

[tool.uv.build-backend]
module-root = "src"

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot что от этого изменится? Как это повлияет на запуск?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Эти изменения меняют способ, как Python находит модуль bot:

До изменений:

  • PYTHONPATH=/app/src в Dockerfile добавлял /app/src в пути поиска модулей
  • --no-install-project предотвращал установку проекта как пакета
  • Python запускал python -m bot, находя модуль через PYTHONPATH

После изменений:

  • [build-system] и module-root = "src" позволяют установить проект как нормальный Python-пакет
  • Убрали PYTHONPATH - больше не нужен
  • uv sync --frozen (без --no-install-project) устанавливает проект в virtual environment
  • Python запускает python -m bot, находя модуль через установленный пакет

Результат: Более чистый и правильный подход - проект установлен как настоящий Python-пакет, а не полагается на манипуляции с PYTHONPATH. Поведение при запуске остается идентичным, но структура более соответствует Python best practices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Требуются правки по Python-окружению

2 participants