SciPy Sprints

Two Days of Awesome Hacking!

SciPy 2013 will continue the tradition of two days of Code Sprints following the main conference program. Core developers of many of our favorite tools will be in town, so what better time to get involved with their development? Whether it’s your first time or your fiftieth, there’s nothing quite like sitting down at a table with people you may have only seen on mailing lists and Twitter. The SciPy sprint committee is calling for proposals for hosted sprints following the main sessions of the conference on June 28th-29th.

To suggest a Sprint, click the Suggest a Sprint button.


mystic+pathos+dill: let's serialize all of python, and do large-scale high-performance parallel optimization

Mike McKerns

We have built a robust framework (mystic) that lowers the barrier to solving complex problems in predictive science. Mystic is built to rigorously solve high-dimensional non-convex optimization problems with highly nonlinear complex constraints. Mystic is capable of solving global optimization problems with thousands of parameters and thousands of constraints, and makes it almost trivial to leverage high-performance parallel computing... more


Bokeh / BokehJS - web plotting in Python

Peter Wang, Bryan Van de Ven

Improve GIS support, polar plots, additional interactive tools, and write more examples and docs for high-level interface. Possibly start hacking on Matplotlib compatibility layer, if there is enough interest.


Numba

Siu Kwan Lam, Travis Oliphant

Help people learn to use Numba, write more examples, as well as learn how to contribute to the project. Simpler projects to tackle: Adding more support for type inference on NumPy functions; Adding more typed containers such as typedset, typeddict, or typedchannel; Adding support for LLVM intrinsics beyond just instructions; and adding a source annotation mode for Numba... more


PySide and Scientific GUIs

John Ehresman, Corran Webster

Help build more stable and complete support for scientific graphical user interfaces. There will be a particular focus on improvements to the PySide wrappers around the Qt library, as well as improvements to the Enaml framework.

One of the main goals of the PySide sprint is to help developers get familiar with the C++ parts of the implementation so they can submit patches and otherwise help out with PySide... more


yt: parallel volume rendering, integration with the IPython notebook, and handling unit conversions

Nathan Goldbaum

yt is a community-developed analysis package for astrophysical n-body and hydrodynamics simulations. In preparation for the upcoming yt 3.0 release, we would like to work on a new system for handling unit conversions, add improved support for parallel volume rendering of arbitrary datasets, including observational and non-astrophysical data, and create browser-based data exploration widgets that will be readily pluggable into the IPython notebook... more


Open Science Framework

Jeffrey Spies

The Open Science Framework (http://openscienceframework.org) is an infrastructure for documenting, sharing, collaborating, archiving, and registering scientific materials across the scientific workflow (from project conceptualization to archival) with a strong focus on incentivizing openness at the workflow level... more


An Unstructured Grid Data Model.

Chris Barker

More and more numerical models are being built on unstructured grids. But the tools to work with the results from these models are still limited.

Exactly what we will do during the sprint will depend on participant's interest, but one option will be to work on a Python package to represent the data model provided by the UGRID-netcdf standardization effort... more


matplotlib

Michael Droettboom

Work on new and ongoing projects in matplotlib, both for new features and modernizing existing ones. If you're a new to hacking on matplotlib, we'll help you get your build environment set up so you can start contributing.

Preliminary discussion for this sprint is going on at: https://github... more


Numpy

David Cournapeau

Want to dive into Numpy and contribute to it, learning from the core developers? Whether you are a long-term dev or a new-comer you are welcome to help take this fundamental package forward. To help new-comers, sessions will be organised to help people to get up to speed with the basics of NumPy development and people are encouraged to attend David's "Dive into Numpy" tutorial... more


scikit-image

Stefan van der Walt

scikit-image is an image processing library that builds on top of SciPy. Our aim is to have a clean, Pythonic interface, with easy-to-understand examples. scikit-image is used both for research, industry applications and in teaching. In this sprint, we'll focus on:

  • Porting to Python 3... more

    scikit-learn

    Olivier Grisel

    Some scikit-learn regular developers will attend the SciPy 2013 sprint, so it's a good opportunity to discover the scikit-learn contribution workflow.

    Potential work include:

    • test and review and merge active pull requests: https://github.com/scikit-learn/scikit-learn/pulls

    • finish full Python 3 support

    • work on better parallel support in joblib (shared memory with multiprocessing or add multi-threading support to joblib when code is able to release the GIL in pure cython CPU intensive functions)

    more

    PyTrilinos

    Bill Spotz

    PyTrilinos provides Python interfaces to Trilinos, Sandia National Laboratories' award-winning suite of parallel, high-performance solver and simulation support software. Come learn how to build it, use it, and contribute to the project. We need more examples, unit tests, higher-level interfaces, interfaces to other Python packages, and are open to other suggested sprint topics... more


    SymPy

    Aaron Meurer

    Several of us from SymPy will be attending the conference. Stop by if you are interested in SymPy. We will be glad to answer any questions you may have or to help you out if you have SymPy questions/problems.

    For the sprint, some suggested topics are:

    • Releasing 0.7.3
    • Assumptions (SymPy issue 3631)
    • Auto-evaluation (SymPy issue 1941)
    • Refactoring solve() (SymPy issue 3560)

    The first item in particular (releasing) has many tasks that will be easy for people who are new to SymPy or even to open source in general to help out with (and it will also help use push out the awesome new features that have been made since 0... more


    Astropy

    Tom Aldcroft

    The Astropy Project is a community effort to develop a single core package for Astronomy in Python and foster interoperability between Python astronomy packages. See http://www.astropy.org/. If you are interested in contributing please drop by, there are projects at all levels of complexity available to work on... more


    Blaze, BLZ, and dynd

    Travis Oliphant

    dynd is a C++ library for dynamic, multi-dimensional arrays. Blaze is an out-of-core library for doing array-oriented computing on a large disk with an eye toward distributed computing. This sprint will be for those interested in helping with the next generation NumPy. Continuum Analytics developers will be available to help people interested in working on 1) the extensible type-system to replace dtypes, 2) adding more Blaze Functions (like generalized ufuncs but deferred), 3) working on the persistence layer (BLZ), and 4) fleshing out the distributed array layer... more


    Conda packageing and binstar uploading

    Ilan Schnell, Xavier Cadena

    We want to show people how they can build their own conda packages and upload them to binstar.org, such that they can be shared with other Anaconda users. Note that in the conda system, packages are not limited to Python only, we want to work on packages like Julia, R, Octave, wxPython etc. But mostly whatever people are interested in... more


    Spyder

    Carlos Cordoba

    Please come to this sprint if you are interested in contributing to Spyder and want to learn about its internal architecture and how to delve its source code effectively.


    Pythran

    Serge Guelton

    Pythran is a young scientific-python-to-optimized-parallel-c++ code e generator. It turns Python modules into C++ meta-programs that get instantiated for the given types.

    This sprint is a great opportunity to test the installation process, try out your code with the compiler, make it crash, make the developer cry, fill bug report and hopefully pull requests... more