<style> .reveal .slides { font-size: 36px; font-family: Palatino; } .reveal .slides h2 { font-family: Palatino; letter-spacing: 0.005em; } .reveal .slides h3 { font-family: Palatino; letter-spacing: 0.005em; } .reveal .slides h4 { font-family: Palatino; font-size: 48px; letter-spacing: 0.005em; } .reveal pre { display: block; width: 95%; } .reveal pre code { max-height: 500px; font-size: 22px; line-height: 24px; } ul { font-size: 28px; } </style> ## Contributing to SciPy - slides: `https://hackmd.io/@melissawm/rJZKaomD5` - repo: `https://github.com/scipy/scipy` - docs: `https://scipy.org` --- ### First things first ![](https://pbs.twimg.com/media/CCfUQh_UsAAXNKv?format=jpg&name=small) *[Image by David Whittaker](https://twitter.com/rundavidrun/status/587671657193455616/photo/1)* --- ### What is SciPy? SciPy is a set of fundamental algorithms for scientific computing in Python. It includes: - numerical integration - interpolation - signal processing - linear algebra, including eigenvalue problems - algebraic and differential equations - statistics - mathematical optimization It is based on NumPy arrays, but also includes sparse matrices and k-dimensional trees manipulations. --- ### The history of SciPy - Initial release in 2001 - Over **600** unique code contributors - **Thousands** of dependent packages - Over **100,000** dependent repositories - **Millions** of downloads per year --- ### How is it organized? - SciPy wraps highly-optimized implementations written in low-level languages like Fortran, C, and C++. [(link)](https://scipy.org/faq/#how-can-scipy-be-fast-if-it-is-written-in-an-interpreted-language-like-python) ![](https://i.imgur.com/eYnLjOt.png) - Code and documentation live in the same repository on github - Website is developed in a separate repository (https://github.com/scipy/scipy.org) - Teams structure https://scipy.org/teams/ - Meetings https://scientific-python.org/calendars/ --- ### Let's look at the code! https://github.com/scipy/scipy --- ### How can you contribute? https://scipy.org/contribute/ - Writing code - Reviewing Pull Requests - Summarize a long-running discussion on an issue or PR - Triage issues and PRs - Check if older bugs are still present - Find duplicate issues and link related ones - Add good self-contained reproducers to issues - Test proposed changes - Developing educational materials - We’d also welcome worked examples, notebooks, and videos. - Website development - Graphic design - Fundraising [(SciPy 2019 talk)](https://www.youtube.com/watch?v=dBTJD_FDVjU) --- ### Setting up your development environment [Start here: Contributor quickstart guide](https://scipy.github.io/devdocs/dev/dev_quickstart.html) --- ### Alternatively: Using GitPod [Start here: GitPod for SciPy development guide](https://scipy.github.io/devdocs/dev/contributor/quickstart_gitpod.html) --- ### What file should I edit? - Generated/compiled files - A .pyx file is compiled by Cython to a .c file. - A .pxd file is a header for Cython code - A .pyf.src file is a signature file used to wrap a Fortran file with numpy.f2py - `_add_newdocs.py` - Narrative documentation `grep` is your friend! --- ### Building to see your changes ```bash python dev.py ``` or ```bash python dev.py --build-only ``` --- ### Building the documentation ``` python dev.py --doc ``` --- ### Submitting your Pull Request - Commit messages - There are some [guidelines for writing commit messages](https://scipy.github.io/devdocs/dev/contributor/development_workflow.html#writing-the-commit-message) - Pull request reviews - [Reviews](https://scipy.github.io/devdocs/dev/contributor/reviewing_prs.html#reviewing-pull-requests) should be constructive and friendly; back-and-forths are expected and we can help you complete your PR! - CI - [An example (PR#16258)](https://github.com/scipy/scipy/pull/16258) - It is not possible in general to run all these tests locally, so CI can catch it on GitHub. --- ### Final thoughts - https://scipy.org/community/ - Mailing list - https://scientific-python.org/calendars - Community and newcomer meetings - [Good first issues](https://github.com/scipy/scipy/issues?q=is%3Aopen+label%3A%22good+first+issue%22+sort%3Aupdated-desc) **Obrigada!** :heart: **`@melissawm`** ---
{"metaMigratedAt":"2023-06-17T01:14:15.212Z","metaMigratedFrom":"YAML","title":"Contributing to SciPy","breaks":true,"description":"View the slide with \"Slide Mode\".","slideOptions":"{\"transition\":\"fade\",\"theme\":\"white\"}","contributors":"[{\"id\":\"be2d494e-01c4-4675-ab56-1e1bfe3a6678\",\"add\":15239,\"del\":10703}]"}
    458 views