---
type: JS Module
title: main.mjs
resource: npm/rules/python/project/main.mjs
docgen:
  crc: a1e2aeb4
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  tier: local-min
  score: 100
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Огляд
Цей детектор забезпечує перевірку цілісності оточення Python на рівні всього проекту. Він діагностує відповідність файлів блокування та ліцензій, виконуючи аудит на основі повного набору залежностей, а не лише змін у межах дельти.

Поведінка
Система перевіряє наявність файлу `pyproject.toml` у робочому каталозі; відсутність файлу призводить до успішного завершення.
Визначає виконуваний файл `uv`; у разі відсутності він повідомляє про це (python.mdc).
Виконує аудит цілісності файлу блокування за допомогою `uv lock --check`. Виявлені порушення фіксуються (python.mdc), і виконання негайно припиняється.
Виконує збірку оточення через `uv sync --frozen`. Будь-які помилки фіксуються (python.mdc), зупиняючи процес.
Сканує ліцензії усіх залежностей за допомогою `pip-licenses`. Якщо інструмент недоступний, перевірка пропускається. При помилці інструменту фіксується порушення (python.mdc). Якщо знайдено пакети, ліцензії яких не відповідають критеріям Blue Oak Bronze+, фіксується порушення (python.mdc) із переліком відповідних пакетів.
Процес роботи є read-only, він не змінює файлової системи чи бази даних. Усі помилки перехоплюються з механізмом fail-safe, і винятки назовні не генеруються. На етапі виконання жодного кешування не відбувається.

## Поведінка

Поведінка:
1. Перевіряє наявність файлу `pyproject.toml` у робочому каталозі. Якщо його немає, операція завершується успішно.
2. Знаходить виконуваний файл `uv`. Якщо він не знайдений, операція завершується з повідомленням про відсутність `uv` (python.mdc).
3. Виконує перевірку цілісності блокування за допомогою `uv lock --check`. Якщо виникає помилка, фіксує порушення (python.mdc) та завершує роботу.
4. Виконує збірку оточення за допомогою `uv sync --frozen`. Якщо виникає помилка, фіксує порушення (python.mdc) та завершує роботу.
5. Виконує перевірку ліцензій залежностей за допомогою `pip-licenses`. Якщо інструмент недоступний, перевірка пропускається. Якщо виникає помилка виконання, фіксує порушення (python.mdc). Якщо знайдено пакети з ліцензіями, що не відповідають критеріям Blue Oak Bronze+, фіксує порушення (python.mdc), перелічуючи знахідки.
6. Повертає результат виконання перевірок.

## Публічний API

lint — знаходить проблеми в коді Python для даного проєкту.

## Гарантії поведінки

- Read-only: не виконує операцій запису (ФС/БД).
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
