Вклад; содействие; вклад; вклад; вклад; вклад (термин имеет несколько значений, перевод зависит от контекста)
Благодарим вас за интерес к участию в программе Starlette. Вы можете внести свой вклад в этот проект несколькими способами:
- Попробуйте Starlette и сообщите об обнаруженных ошибках/проблемах
- Внедрение новых возможностей
- Рассмотреть запросы других лиц
- Документация
- Участие в обсуждениях
Сообщения об ошибках или других вопросах
Вы нашли что-то, что должна поддерживать Starlette? Вы случайно столкнулись с каким-то неожиданным поведением?
Вклад обычно начинается с обсуждения. Возможные ошибки могут быть представлены в качестве обсуждения «потенциальных проблем», а запросы функций-в качестве обсуждения «идеи». Затем мы можем определить, нужно ли обсуждение поднять до «проблемы», или мы рассмотрим запрос на извлечение.
Как можно более подробно описать, а в случае сообщений об ошибках-как можно больше информации, например:
- Операционная система Платформа
- Версия Python.
Установленные зависимости и версии* (
python -m pip freeze) - Фрагмент кода
- Отслеживание ошибок.
Вы всегда должны стараться свести любой пример к простейшему возможному сценарию, который может показать проблему.
Развитие; развитие
Чтобы начать разработку Starlette, создайте ответвление для репозитория Starlette на GitHub.
Затем клонируйте ветку и замените YOUR-USERNAME своим именем пользователя GitHub, используя следующую команду:
$ git clone https://github.com/YOUR-USERNAME/starlette
Для установки проекта и его зависимостей теперь можно использовать следующие команды:
$ cd starlette
$ scripts/install
Тестирование и проверка кода
Мы используем собственные сценарии оболочки для автоматизации процессов тестирования, проверки кода и создания документов.
Для запуска этих тестов используйте:
$script/test
Любые другие параметры будут переданы pytest. Для получения дополнительной информации см. документацию pytest.
Например, выполните один тестовый сценарий:
$ scripts/test tests/test_application.py
Чтобы запустить автоматическое форматирование кода:
$ scripts/Lint
Наконец, чтобы запустить проверку кода отдельно (они также работают как часть scripts/test), выполните:
$script/check
записи; документирование
Страницы документа находятся в папке docs/.
Чтобы запустить сайт документов локально (удобно при просмотре изменений), используйте следующие команды:
$ scripts/docs
Устранение ошибок сборки/непрерывной интеграции
Как только вы отправите запрос на отгрузку, тестовый пакет будет запущен автоматически, а результаты будут отображаться на GitHub. Если тестовый пакет не удаётся, вам нужно нажать на ссылку "Подробности" и попытаться выяснить причину сбоя пакета.

Ниже приведены некоторые общие способы, при помощи которых набор тестов может провалиться:
Неудача проверки задания

Эта ошибка означает, что существует либо проблема форматирования кода, либо проблема с комментарием типа. Вы можете просмотреть результаты работы, чтобы выяснить причину неудачи, или запустить их в оболочке:
$ scripts/check
Возможно, стоит запустить $ scripts/lint, чтобы попытаться автоматически форматировать код, и, если операция будет успешной, отправьте изменения.
Неудача задания документа
Эта неудача означает, что не удалось собрать документ. Это может произойти по нескольким причинам, таким как неверный Markdown или отсутствие конфигурации в mkdocs.yml.
Python 3. X провалилась

Эта ошибка означает, что модульная проверка не прошла или что не все пути кода были перезаписаны модульным тестом.
Если тест провалился, в разделе отчета о покрытии появится следующее сообщение:
=== 1 failed, 435 passed, 1 skipped, 1 xfailed in 11.09s ===
Если тест прошел успешно, но охват не достиг нашего текущего порога, вы увидите это сообщение в разделе отчета о покрытии:
FAIL Required test coverage of 100% not reached. Total coverage: 99.00%
публикация; освобождение; выпуск
Данный раздел предназначен для защитников Starlette.
Перед выпуском новой версии создайте запрос на извлечение, содержащий следующее:
- Для обновления журнала изменений:
- Мы следуем формату Keepachangelog.
- сравнивает
masterс тегами последних версий и перечисляет все записи, которые могут представлять интерес для наших пользователей:- Содержимое, которое должно быть записано в журнале изменений: добавленные, измененные, исключенные или удаленные функции и исправления ошибок.
- Содержимое, которое не должно регистрироваться в журнале изменений: изменения в документации, тестах или инструментальных средствах.
- Попробуйте сортировать элементы в порядке убывания значения/значения.
- Будьте краткими и точными.»
- -это версия
__version__.py.
См.#1600.
После того, как публикация PR (PR) была объединена, создается новый релиз, который включает в себя:
Версия тегов* -это 0.13.3.
* Публикация заголовка Version 0.13.3
* Описание копируется из журнала изменений.
После создания эта версия будет автоматически загружена в PyPI.
Если у задачи PyPI возникли проблемы, версия может быть выпущена с помощью скрипта scripts/publish.