1bfe3c0cd8c05507315012540e3df55991f7596d
Python Parser CF - Система анализа данных
Проект состоит из трех основных компонентов:
- python_parser - FastAPI приложение для парсинга и обработки данных
- streamlit_app - Streamlit приложение для визуализации и анализа
- minio_data - хранилище данных MinIO
🚀 Быстрый запуск
Предварительные требования
- Docker и Docker Compose
- Git
Запуск всех сервисов (продакшн)
docker compose up -d
Запуск в режиме разработки
# Автоматический запуск
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
Остановка сервисов
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- ключ доступа к MinIOMINIO_SECRET_KEY- секретный ключ MinIOMINIO_SECURE- использование SSL/TLSMINIO_BUCKET- имя bucket'а для данных
Порты
- 8000 - FastAPI
- 8501 - Streamlit
- 9000 - MinIO API
- 9001 - MinIO Console
📊 Использование
- Запустите все сервисы:
docker-compose up -d - Откройте Streamlit: http://localhost:8501
- Выберите тип данных для анализа
- Просматривайте результаты в интерактивном интерфейсе
🛠️ Разработка
Режим разработки (рекомендуется)
# Запуск режима разработки
python start_dev.py
# Остановка
docker compose -f docker-compose.dev.yml down
# Возврат к продакшн режиму
python start_prod.py
Локальная разработка FastAPI
cd python_parser
pip install -r requirements.txt
uvicorn app.main:app --reload
Локальная разработка Streamlit
cd streamlit_app
pip install -r requirements.txt
streamlit run streamlit_app.py
📝 Лицензия
Проект разработан для внутреннего использования.
Description
Languages
Python
99.7%
Dockerfile
0.3%