# Python Parser CF - Система анализа данных Проект состоит из трех основных компонентов: - **python_parser** - FastAPI приложение для парсинга и обработки данных - **streamlit_app** - Streamlit приложение для визуализации и анализа - **minio_data** - хранилище данных MinIO ## 🚀 Быстрый запуск ### Предварительные требования - Docker и Docker Compose - Git ### Запуск всех сервисов (продакшн) ```bash docker compose up -d ``` ### Запуск в режиме разработки ```bash # Автоматический запуск python start_dev.py # Или вручную docker compose -f docker-compose.dev.yml up -d ``` **Режим разработки** позволяет: - Автоматически перезагружать Streamlit при изменении кода - Монтировать исходный код напрямую в контейнер - Видеть изменения без пересборки контейнеров ### Доступ к сервисам - **FastAPI**: http://localhost:8000 - **Streamlit**: http://localhost:8501 - **MinIO Console**: http://localhost:9001 - **MinIO API**: http://localhost:9000 ### Остановка сервисов ```bash docker-compose down ``` ## 📁 Структура проекта ``` python_parser_cf/ ├── python_parser/ # FastAPI приложение │ ├── app/ # Основной код приложения │ ├── adapters/ # Адаптеры для парсеров │ ├── core/ # Основная бизнес-логика │ ├── data/ # Тестовые данные │ └── Dockerfile # Docker образ для FastAPI ├── streamlit_app/ # Streamlit приложение │ ├── streamlit_app.py # Основной файл приложения │ ├── requirements.txt # Зависимости Python │ ├── .streamlit/ # Конфигурация Streamlit │ └── Dockerfile # Docker образ для Streamlit ├── minio_data/ # Данные для MinIO ├── docker-compose.yml # Конфигурация всех сервисов └── README.md # Документация ``` ## 🔧 Конфигурация ### Переменные окружения Все сервисы используют следующие переменные окружения: - `MINIO_ENDPOINT` - адрес MinIO сервера - `MINIO_ACCESS_KEY` - ключ доступа к MinIO - `MINIO_SECRET_KEY` - секретный ключ MinIO - `MINIO_SECURE` - использование SSL/TLS - `MINIO_BUCKET` - имя bucket'а для данных ### Порты - **8000** - FastAPI - **8501** - Streamlit - **9000** - MinIO API - **9001** - MinIO Console ## 📊 Использование 1. **Запустите все сервисы**: `docker-compose up -d` 2. **Откройте Streamlit**: http://localhost:8501 3. **Выберите тип данных** для анализа 4. **Просматривайте результаты** в интерактивном интерфейсе ## 🛠️ Разработка ### Режим разработки (рекомендуется) ```bash # Запуск режима разработки python start_dev.py # Остановка docker compose -f docker-compose.dev.yml down # Возврат к продакшн режиму python start_prod.py ``` ### Локальная разработка FastAPI ```bash cd python_parser pip install -r requirements.txt uvicorn app.main:app --reload ``` ### Локальная разработка Streamlit ```bash cd streamlit_app pip install -r requirements.txt streamlit run streamlit_app.py ``` ## 📝 Лицензия Проект разработан для внутреннего использования.