Предустановленные библиотеки на финале

1. Базовые и обязательные
  • python (3.10–3.11, одинаковая версия везде)
  • pip
  • setuptools, wheel
2. Работа с данными и форматами
  • pandas — основная работа с табличными данными
  • numpy — базовые массивы
  • scipy — статистика, расстояния
  • pyarrow — чтение/запись parquet (важно!)
  • fastparquet — альтернативный движок parquet
  • polars (опционально, но быстро) — если кто-то захочет ускориться
  • tqdm — прогресс-бары
  • openpyxl — если вдруг нужно будет читать/писать xlsx
  • python-dotenv — если захотите класть конфиги в .env
  • joblib — кэширование и сериализация
3. NLP / поиск / RAG-компоненты
  • transformers — работа с моделями/токенайзерами Hugging Face
  • sentence-transformers — генерация эмбеддингов для поиска/сходства
  • faiss-cpu — векторный поиск (если GPU не нужен именно для поиска)
  • faiss-gpu — векторный поиск c GPU
  • rank-bm25 — быстрый BM25 по корпусу
  • nltk — токенизация, стемминг, стоп-слова
  • spacy (с базовой английской моделью, если разрешите) — парсинг и нормализация
  • rapidfuzz — быстрые текстовые сравнения
  • datasets (от Hugging Face) — удобная работа с датасетами
  • huggingface-hub — чтобы брать локально кэшированные модели (у вас можно держать их уже скачанными)
  • accelerate — чтобы участники могли легко гнать модель на GPU/CPU
  • sentencepiece — требуется многим токенайзерам
  • sacremoses — для старых моделей
4. Компьютерное зрение / работа с изображениями
  • opencv-python — чтение/преобразование изображений
  • Pillow (PIL) — базовые операции
  • scikit-image — доп. обработка изображений
  • albumentations — аугментации
  • timm — много готовых визуальных архитектур (если кому-то надо дообучить/доиспользовать)
  • torchvision — стандартные датасеты/трансформации
  • pyyaml — потому что многие CV-конфиги любят yaml
5. ML / DL стек
  • PyTorch: torch (с поддержкой CUDA)
  • torchvision
  • scikit-learn — классика: масштабирование, метрики, модели, train/test split
  • xgboost — на случай, если кто-то захочет табличку решить бустингом
  • lightgbm — аналогично
  • catboost — иногда участникам проще табличное сделать именно им
  • optuna или scikit-optimize — если кто-то захочет автотюнить
  • mlflow (опционально) — трекинг экспериментов
  • bitsandbytes — необходимая оптимизация
  • peft (опционально) — оптимизация для дообучения модели
  • xformers (опционально) — оптимизация (ускорение инференса/обучения)
6. Метрики и утилиты для соревнований
(чтобы не искать руками)
  • scikit-learn уже включает много метрик (MAE, MSE, cosine_similarity и т.п.)
  • torchmetrics — если участники будут считать метрики на GPU
  • pytorch-lightning (опционально) — чтобы быстро собрать тренинг-луп
  • matplotlib — графики
  • seaborn — EDA
  • plotly (опционально) — интерактив, но можно не ставить всем
  • phik — анализ корреляций (EDA)
7. Инженерные утилиты
  • psutil — мониторинг ресурсов
  • uvicorn / fastapi (опционально) — если кто-то хочет локально обернуть модель в сервис (на своей машине это разрешено)
  • jinja2 — для генерации html/текстов
  • rich — красивый вывод логов
  • loguru — удобный логгер
  • pytest — чтобы участники могли тесты гонять локально
8. Системные/внешние зависимости (для образа)
Это то, что ставится не через pip, а в сам образ/на машину:
  • git (только чтение, без пуша)
  • ffmpeg (если запись/преобразование видео вдруг понадобится)
  • libgl1 / libglib2.0-0 (чтобы opencv не ругался на Ubuntu)
  • unzip, wget (для распаковки локальных архивов, если вы их кладёте в Shared)
9. Для командного тура
  • sumolib - Вспомогательная библиотека Python для чтения и модификации файлов SUMO (сетей, маршрутов, логов). Обычно устанавливается вместе с SUMO, но лучше явно включить.
  • traci - Основной API для взаимодействия с SUMO из Python: управление трафиком, светофорами, сбор статистики.
  • eclipse-sumo - Обёртка для установки SUMO через pip, включает бинарные утилиты и TraCI. Если устанавливается из архива — указать локальный путь в образе.
  • xmltodict - Преобразование XML ↔ dict (SUMO использует XML для маршрутов, сетей и сигналов).
  • plotly (опционально) - Для визуализации траекторий и временных рядов при защите проекта.
  • subprocess (встроенный модуль) - Не требует установки, нужен для запуска SUMO через скрипты.

9. Работа с Retrieval-Augmented Generation (RAG) и локальными моделями
Для обеспечения возможности построения и тестирования локальных RAG-сценариев в базовое окружение установлены необходимые библиотеки для работы с эмбеддингами, векторным поиском и локальными языковыми моделями.
  • langchain и langchain-core — для конструирования локальных RAG-цепочек, пайплайнов и интеграции с локальными эмбеддингами и моделями;
  • faiss-cpu — для локального хранения и поиска по векторам эмбеддингов без обращения к сети;
  • sentence-transformers — для генерации эмбеддингов текстов;
  • huggingface-hub — для работы с локально загруженными моделями из Hugging Face (в режиме только чтения);
  • transformers — базовая библиотека для инференса локальных моделей;
  • accelerate — для оптимизации вычислений при запуске моделей на CPU и GPU.
Все перечисленные библиотеки установлены офлайн и функционируют полностью локально.
Подключение внешних LLM-провайдеров (OpenAI, Google, Anthropic, Mistral и др.), использование API-ключей и любая передача данных во внешние сети строго запрещены.

10. Что запрещено к установке
Не допускается установка или использование пакетов, обращающихся к внешним генеративным сервисам или облачным вычислительным платформам, в том числе:
  • openai, google-generativeai, anthropic, groq, mistralai и другие аналогичные клиенты публичных API;
  • клиенты облачных сред (colab, runpod, replicate, vercel, paperspace и т.п.);
  • любые пакеты или скрипты, создающие исходящие сетевые соединения для инференса или загрузки моделей.