{ } Raw JSON

bundles / scipy 1.17.1 / docs

Doc

SciPy contributor guide

docs/dev:contributor:contributor_toc

This guide is designed to help you quickly find the information you need about SciPy development after you've reviewed the introductory material in hacking or dev-quickstart.

You can also watch SciPy Development Workflow, a five-minute video example of fixing a bug and submitting a pull request (note: this video is from 2018, so the build steps are different by now - the overall workflow is still the same though).

  • building-from-source - how to set up a development environment, including installing compilers and SciPy dependencies, cloning the SciPy repository on GitHub and updating git submodules, and using the spin interface for building and running tests.

  • editing-scipy - how to edit SciPy Python code, with tips on finding which module contains SciPy functionality to be edited, adding new modules to SciPy, and complying with PEP8 style standards

  • unit-tests - how to write and run unit tests for SciPy with the pytest framework

  • docs - how to write reStructuredText documentation that complies with docstring standards, build documentation locally with Sphinx, and view documentation built during continuous integration checks

  • toc-benchmarking - how to benchmark code with airspeed velocity

  • compiled-code - how to add fast, compiled code to SciPy

  • continuous-integration - how does our continuous integration system works and how to debug your PR

Editing SciPy

  • development-workflow lays out what to do after your development environment is set up

  • pep8-scipy gives some tips for ensuring that your code is PEP8 compliant

  • git-development is a guide to using git, the distributed version-control system used to manage the changes made to SciPy code from around the world

  • scipy-api contains some important notes about how SciPy code is organized and documents the structure of the SciPy API; if you are going to import other SciPy code, read this first

  • reviewing-prs explains how to review another author's SciPy code locally

  • triaging explains how to curate issues and PRs, as well as how GitHub team permissions work for SciPy

  • adding-new has information on how to add new methods, functions and classes

  • core-dev-guide has background information including how decisions are made and how a release is prepared; it's geared toward Core Developers, but contains useful information for all contributors

  • missing-bits - code and documentation style guide

Testing

Documentation

  • numpy:howto-document contains everything you need to know about writing docstrings, which are rendered to produce HTML documentation using Sphinx (part of the NumPy documentation)

  • contributing-docs contains information on how to render and contribute to the SciPy documentation

  • adding-notebooks explains how to add pages in Jupyter notebook/MyST format to the SciPy documentation (interactive or not)

Benchmarks

Compiled code

  • adding-cython extending and compiling Python code with Cython can significantly improve its performance; this document helps you get started

  • other-languages discusses the use of C, C++, and Fortran code in SciPy

  • public-cython-api on guidelines on exposing public Cython APIs