Skip to content

Google Summer of Code

Jeff Reback edited this page Feb 16, 2016 · 21 revisions

numpy/scipy page to steal things: https://github.com/scipy/scipy/wiki/GSoC-2016-project-ideas

Introduction

This is the GSoC'16 ideas page for pandas. pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It has become a centerpiece of the PyData stack.

This page lists a number of ideas for Google Summer of Code projects for pandas, plus gives some pointers for potential GSoC students on how to get started with contributing and putting together their application.

Guidelines & requirements

Pandas participates in GSoC 2016 under the umbrella of Python Software Foundation / NUMFocus.

PSF student guidelines: http://wiki.python.org/moin/SummerOfCode/Expectations

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/C++ skills. Knowing how to use Git is also important; this can be learned before the official start of GSoC if needed though.

Advice

Potential candidates should to take a look at the guidelines on how to contribute to pandas, see the documentations here. Making a small enhancement/bugfix/documentation fix/etc (does not need to be related to your proposal) to pandas before applying for the GSoC is a requirement from the PSF; it can help you get some idea how things would work during the 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.

Projects

sparse enhancement / fixes

IO

  • avro support
  • parquet support
  • BSON?

numba

  • general interface
  • use AOT to generate code for groupby (and other algos), rather than direct templating

period

  • implement as sub-class of IntervalIdex
  • make a first class extension dtype

datetime

  • support for non-ns dtypes

pd.String dtype

unit dtype / support

Novice level bug fixes / enhancements

here

Intermediate level bug fixes / enhancements

here

Advanced level bug fixes / enhancements

here

libpandas refactor

internal refactor of pandas preserving the user-facing API and the developer API (numpy). requires a deep knowledge of c++ and pandas internals.

Clone this wiki locally