Руководство для участников SciPy#
Это руководство предназначено для быстрого поиска необходимой информации о разработке SciPy после ознакомления с вводным материалом в Способы внести вклад или Руководство по быстрому старту для участников.
Вы также можете посмотреть Рабочий процесс разработки SciPy, пятиминутный видео-пример исправления ошибки и отправки pull request (примечание: это видео 2018 года, поэтому шаги сборки сейчас отличаются - общий рабочий процесс все еще тот же).
Сборка из исходного кода - как настроить среду разработки, включая установку компиляторов и зависимостей SciPy, клонирование репозитория SciPy на GitHub и обновление git подмодулей, а также использование
dev.pyинтерфейс для создания и запуска тестов.Редактирование SciPy - как редактировать код SciPy на Python, с советами по поиску модуля, содержащего функциональность SciPy для редактирования, добавления новых модулей в SciPy и соблюдения стандартов стиля PEP8
Тестирование - как писать и запускать модульные тесты для SciPy с помощью фреймворка pytest
Документация - как писать документацию в reStructuredText, соответствующую стандартам docstring, собирать документацию локально с помощью Sphinx и просматривать документацию, собранную во время проверок непрерывной интеграции
Бенчмарки - как проводить бенчмаркинг кода с помощью airspeed velocity
Скомпилированный код - как добавить быстрый компилируемый код в SciPy
Непрерывная интеграция - как работает наша система непрерывной интеграции и как отлаживать ваш PR
Редактирование SciPy#
Рабочий процесс разработки описывает, что делать после настройки среды разработки
PEP8 и SciPy дает несколько советов по обеспечению соответствия вашего кода PEP8
Git для разработки является руководством по использованию
git, распределенная система контроля версий, используемая для управления изменениями, внесенными в код SciPy со всего мираAPI SciPy содержит некоторые важные заметки о том, как организован код SciPy, и документирует структуру API SciPy; если вы собираетесь импортировать другой код SciPy, прочтите это сначала
Проверка Pull Requests объясняет, как проверить код SciPy другого автора локально
Триажирование и курирование проблем объясняет, как курировать issues и PR, а также как работают разрешения команд GitHub для SciPy
Добавление новых методов, функций и классов содержит информацию о том, как добавлять новые методы, функции и классы
Руководство для разработчиков ядра SciPy содержит справочную информацию, включая то, как принимаются решения и как готовится релиз; она ориентирована на Основные разработчики, но содержит полезную информацию для всех участников
Руководство по стилю кода и документации - недостающие части - руководство по стилю кода и документации
Тестирование#
Рекомендации по тестированию — это окончательное руководство по написанию модульных тестов для кода NumPy или SciPy (часть документации NumPy)
Советы по написанию тестов содержит советы по написанию модульных тестов
Локальный запуск тестов SciPy документы
dev.py test, команда для сборки SciPy и запуска тестов локально
Документация#
Стиль документации содержит всё, что нужно знать о написании docstrings, которые преобразуются в HTML-документацию с помощью Sphinx (часть документации NumPy)
Вклад в документацию SciPy содержит информацию о том, как отображать и вносить вклад в документацию SciPy
Добавление или редактирование учебников в виде Jupyter notebooks объясняет, как добавлять страницы в формате Jupyter notebook/MyST в документацию SciPy (интерактивные или нет)
Бенчмарки#
Бенчмаркинг SciPy с помощью airspeed velocity объясняет, как добавить бенчмарки в SciPy с помощью скорость воздушного потока
Скомпилированный код#
Добавление Cython в SciPy расширение и компиляция кода Python с Cython может значительно улучшить его производительность; этот документ поможет вам начать
За пределами Python обсуждает использование кода на C, C++ и Fortran в SciPy
Публичные API Cython по рекомендациям по предоставлению публичных Cython API