Перед большими изменениями создавайте issue и согласуйте дизайн. Следуйте GitHub Flow:
fork → branch → pull request → review → merge.
По проекту раскиданы комментарии, где как раз есть проблема или улучшение, которое вы можете решить, после решения удалите комментарий и отправьте коммит
- Создайте файл в
parsers/с именемxxx.pyи классом парсера, наследуемым отparsers.base.Parse. - Держите селекторы и site-specific значения внутри файла парсера или в отдельной конфигурации.
- Зарегистрируйте обёртку в
playcast/Parser.pyчерез_run_parser("parsers.xxx", "ParseXxx", ...).
- Пишите понятные сообщения коммитов (коротко: что и почему).
- Один PR = одна логическая фича/фикс. Работайте в отдельной ветке (например,
feature/ozon-parser). - Перед открытием PR убедитесь, что ветка актуальна относительно
main(через rebase или merge). - При возможности добавляйте тесты или инструкции по ручной проверке.
Проект содержит uv.lock. Для управления зависимостями рекомендуется использовать uv:
- Установите
uvпо официальной инструкции. - Синхронизируйте зависимости:
uv sync
Если вы предпочитаете стандартный venv:
python -m venv .venv
.venv\(\Scripts\Activate.\)ps1 # Windows PowerShell
pip install -U pip
pip install playwright beautifulsoup4 fake-useragent httpx lxml requests undetected-playwright playwright-stealth rebrowser-playwright
# или
pip install -r requirements.txt
python -m playwright install chromiumpython -c "from playcast.Parser import ParseOzon; print('Import OK')"- Соблюдайте PEP8, рекомендуется использовать
blackилиruff. - Проект под лицензией MIT. При добавлении стороннего кода убедитесь в совместимости лицензий.
- Форкните репозиторий и создайте ветку в своём форке.
- Выполните изменения и протестируйте их.
- Обновите ветку относительно
mainи создайте PR. - Опишите в PR цель, детали и метод тестирования. Ожидайте review.
Хотелось бы сказать что я не гуру программирования и не могу знать всё, если вы нашли способ решить какую-либо проблему лучше, скажите
Спасибо за вклад! 🙏