Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
GSoC 2019 project ideas
This is the Google Summer of Code 2019 (GSoC'19) ideas page for SciPy. The SciPy library is one of the core packages that make up the SciPy stack for scientific computing with Python. It provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization.
This page lists a number of ideas for Google Summer of Code projects for SciPy, plus gives some pointers for potential GSoC students on how to get started with contributing and putting together their application.
Guidelines & requirements
SciPy plans to participate in GSoC'19 under the umbrella of Python Software Foundation. Please read that page carefully, it contains important advice on the process.
Also read advice on writing a proposal (written with the Mailman project in mind, but generally applicable)
We expect from students that they're at least comfortable with Python (intermediate level). Some projects may also require Cython or C skills. Knowing how to use Git is also important; this can be learned before the official start of GSoC if needed though.
Getting started on SciPy
Potential candidates should take a look at the guidelines on how to contribute to Scipy. Making a small enhancement/bugfix/documentation fix/etc (does not need to be related to your proposal) to Scipy before applying for the GSoC is a hard requirement; it can help you get some idea how things will work during GSoC.
Start on your proposal early, post a draft to the mailing list and iterate based on the feedback you receive. This will not only improve the quality of your proposal, but also help you find a suitable mentor.
SciPy Project ideas
NumPy now has pocketfft, we should also have it for SciPy. It would also be good to have a backend system for fft implementations, such as pyfftw, mkl-fft, and possibly cupy. Finally, the APIs of numpy.fft and scipy.fftpack should agree better. This is a lower priority because it's hard (requiring lots of discussion on impact on users if we deprecate things, etc.), but it's an important one as well. (Ideas adapted from scipy-dev.)
- Required knowledge: Python, linear algebra
- Difficulty level: medium
- Potential mentors: Ralf Gommers
Your own idea
The above projects are just suggestions --- it is also very good to suggest a project idea of your own if you have something in mind that you want to do. Ask people on the mailing list for suggestions in this case.
A set of additional new feature ideas can be found on the Scipy Roadmap.