Skip to content
Branch: master
Find file Copy path
Find file Copy path
516 lines (472 sloc) 27.6 KB

Google Summer of Code

| Sub organizations | IDEAS LIST | Student guides |

NumFOCUS will be applying again as an umbrella mentoring organization for Google Summer of Code 2019. NumFOCUS supports and promotes world-class, innovative, open source scientific software.

This Git repository stores information about NumFOCUS' application for Google Summer of Code in the current and previous years.

Table of Contents


NumFOCUS is participating as a umbrella organization. This means that you will need to identify a specific project to apply to under the NumFOCUS umbrella. (Projects are listed below.)

Read this document to learn how to apply for the GSoC program with NumFOCUS. Please also check out our ideas list.

For any questions, please open an issue in our issue tracker or send a email to, our mailing list address. Please also consider subscribing to the mailing list at!forum/gsoc.

Sub Organizations

If you want to participate as a sub organization of NumFOCUS please read this guide.

Organizations Confirmed Under NumFOCUS Umbrella

In alphabetic order.


ArviZ is a Python package for exploratory analysis of Bayesian models. Includes functions for posterior analysis, sample diagnostics, model checking, and comparison. The goal is to provide backend-agnostic tools for diagnostics and visualizations of Bayesian inference in Python, by first converting inference data into xarray objects.

Website | Ideas List | Contact (Gitter) | Source Code


Blosc is a high performance compression library written in C that uses the blocking technique to make compression operations easier, faster, and more flexible. Blosc splits the datasets into blocks, then transparently packs them into compressed containers. Blosc extends standard compression by allowing the user to condition the data in every block with filters prior to the compression operation; these filters can be selected depending on the properties of the dataset to be compressed. In addition, Blosc provides a diversity of codecs to cover different needs (better compression, faster speed or a balance between the two). Finally, Blosc runs its operations in parallel to leverage the high number of cores in modern CPUs.

Website | Ideas List | Contact (email) | Source Code


Cantera is a library to solve problems involving thermodynamics, chemical kinetics, and transport.

Website | Ideas List | Mailing List | Source Code


Chainer is a powerful, flexible and intuitive deep learning framework. Chainer supports CUDA computation. It only requires a few lines of code to leverage a GPU. It also runs on multiple GPUs with little effort. Chainer supports various network architectures including feed-forward nets, convnets, recurrent nets and recursive nets. It also supports per-batch architectures. Forward computation can include any control flow statements of Python without lacking the ability of backpropagation. It makes code intuitive and easy to debug.

Website | Ideas List | Source Code


CuPy is an open-source matrix library accelerated with NVIDIA CUDA. It also uses CUDA-related libraries including cuBLAS, cuDNN, cuRand, cuSolver, cuSPARSE, cuFFT and NCCL to make full use of the GPU architecture. CuPy’s interface is highly compatible with NumPy; in most cases it can be used as a drop-in replacement. All you need to do is just replace numpy with cupy in your Python code. It supports various methods, indexing, data types, broadcasting and more.

Website | Ideas List | Source Code


Dask enables parallel computing through task scheduling and blocked algorithms.This allows developers to write complex parallel algorithms and execute them in parallel either on a modern multi-core machine or on a distributed cluster.

Website | Ideas List | Source Code

Data Retriever

The Data Retriever is a package manager for data. It downloads, cleans, and stores publicly available data, so that analysts spend less time cleaning and managing data, and more time analyzing it.

Website | Ideas List | Contact (Gitter) | Source Code


FEniCS is an automated finite element library used to solve equations used in modeling, featuring a domain-specific language and automated code generation. Users input a problem that looks very much like mathematical notation; FEniCS then translates that into computer code. It solves problems for which there is no analytical (exact) solution numerically.

Website | Community Page With Access to Slack | Ideas Page | Source Code


JuMP is a modeling interface and a collection of supporting packages for mathematical optimization that is embedded in Julia. With JuMP, users formulate various classes of optimization problems with easy-to-read code, and then solve these problems using state-of-the-art open-source and commercial solvers. JuMP also makes advanced optimization techniques easily accessible from a high-level language.

Website | Ideas Page | Source Code | Contact (Gitter)


Matplotlib is a Python 2D plotting library which produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. Due to its status as a foundational data visualization tool, Matplotlib is used in heavily in academia, national research labs and in industry. Matplotlib is used in cutting-edge research, from physics to chemistry, neuroscience to astronomy. It has been used on high profile projects such as Mars landers and the Hubble space telescope. Matplotlib can be used in Python scripts, the Python and IPython shell, the Jupyter notebook, web application servers, and seven graphical user interface toolkits.

Website | Ideas Page


MDAnalysis is a Python library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats

Website | Mailing list | Ideas List | Source Code


nteract is a stand-alone desktop application for developing computational notebooks. nteract allows users to craft narratives involving text, code, images, and data on the desktop rather than through a web application. This enables users to use their native system for file search as well as clicking to open notebook files.

Website | Ideas List | Source Code


PyMC3 is a python module for Bayesian statistical modeling and model fitting which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms. Its flexibility and extensibility make it applicable to a large suite of problems.

Website | discourse | Ideas Page | Source Code


QuTiP is a software for simulating quantum systems. QuTiP aims to provide tools for user-friendly and efficient numerical simulations of open quantum systems. It can be used to simulate a wide range of physical phenomenon in areas such as quantum optics, trapped ions, superconducting circuits and quantum nanomechanical resonators. In addition, it contains a number of other modules to simplify the numerical simulation and study of many topics in quantum physics such as quantum optimal control, quantum information, and computing.

Website | Ideas Page | Gitter | Source Code


Yellowbrick is a Python package that visualizes the data science workflow, allowing users to visually steer the feature, algorithm, and hyperparameter selection process by directly extending the Scikit-Learn API.

Website | Ideas Page | Source Code

NumFOCUS Organizations

Not all NumFOCUS organizations participate under our umbrella. These lists show which organizations are participating with GSoC and where you can find information how to work with them.

Fiscally Sponsored Organizations GSoC Status

Project Status Ideas Pages
AstroPy Unknown
Blosc Applying under NumFOCUS umbrella
Cantera Applying under NumFOCUS umbrella
Econ-ARK Unknown
FEniCS Project Applying under NumFOCUS umbrella
IPython Unknown
Julia Unknown
JuMP Applying under NumFOCUS umbrella
Matplotlib Applying under NumFOCUS umbrella
nteract Applying under NumFOCUS umbrella
NumPy Unknown
Open Journals Unknown
Project Jupyter Unknown
pandas Unknown
PyMC3 Applying under NumFOCUS umbrella
PyTables Unknown
QuantEcon Unknown
rOpenSci Unknown
Shogun Unknown
SunPy Unknown
SymPy Unknown
Stan Unknown
yt Unknown

Affiliated Organizations GSoC Status

Project Status Ideas Pages
ArviZ Applying under NumFOCUS umbrella
Bokeh Unknown
Chainer Applying under NumFOCUS umbrella
Conda Unknown
conda-forge Unknown
CuPy Applying under NumFOCUS umbrella
Cython Unknown
Dash Not participating
Data Retriever Applying under NumFOCUS umbrella
Dask Applying under NumFOCUS umbrella
DyND Unknown
Gensim Unknown
MDAnalysis Applying under NumFOCUS umbrella
Numba Unknown
Orange Unknown
Pomegranate Unknown
PythonXY Unknown
QuTiP Applying under NumFOCUS umbrella
SciPy Unknown
scikit-image Unknown
scikit-bio Unknown
scikit-learn Unknown
Statmodels Unknown
Spack Unknown
Spyder Not participating
Theano Unknown
xarray Unknown
Yellowbrick Applying under NumFOCUS umbrella
You can’t perform that action at this time.