Scientific Computing with Python
Austin, Texas • July 10-16, 2017
 

Get the latest updates on SciPy Sprints at the SciPy Sprints Slack Channel: https://scipy2017.slack.com

Email scipy@enthought.com if you need an invitation to the slack team.


SciPy 2017 Sprints Schedule

The SciPy Conference dedicates the last two days of the week to push our ecosystem forward through developer sprints. It is an informal part of the conference, all about exchanging, hacking and creating. Everyone is welcome regardless of interest, need and programming level.

There are many things you can do at a sprint from testing code, fixing bugs, adding new features and improving documentation. You will also have the opportunity to work alongside authors and core contributors of open source packages.

Don't know how to contribute to a project?  No problem, we'll teach you at the Sprint tutorial on Saturday morning. We have a 1-2 hour sprint tutorial dedicated to new sprinters.

We encourage you to fill out the sprints form in order to have your sprint (or sprint idea/request) scheduled and published on this page!

Thanks to the generosity of our sponsors, Sprints are free for all, but please register to receive a badge and access to the sessions.



07/15/2017
8:00 AM - 9:00 AMSprints Breakfast
Served in the Tejas Room on Level 2
9:00 AM - 9:30 AMSprints Kickoff
Room 204
9:30 AM - 11:00 AM"How to Sprint" Tutorial
Room 204
9:30 AM - 6:00 PMSprints (Rooms assigned at kickoff)
TBD
6:30 PM - 8:30 PMSprints Dinner - UT Union Underground
UT Union Underground - 2247 Guadalupe St., Austin, TX 78712

7/16/2017
8:00 AM - 9:00 AMSprints Breakfast
Served in the Tejas Room on Level 2
9:00 AM - 6:00 PMSprints (Rooms assigned at kickoff)
TBD

Name of package or theme

Description of the goal(s) of the sprint, tasks planned and why it is important

Minimum level of Python expertise needed

Is familiarity with package required?

Bokeh

Working towards 1.0 release, general cleanup, docs, new examples, small bug fixes. More generally, helping to introducing new people to the Bokeh dev process.

Beginner

NO

Carousel

Carousel is a model simulation framework like Django for physical models it takes care of the kruft so you can focus on the model


# Goal 1: Retrieve related data from another data source
The is discussed in [GH issue #42](
https://github.com/SunPower/Carousel/issues/42)

# Goal 2: Grouping calculations
This is discussed in [GH issue 99](
https://github.com/SunPower/Carousel/issues/99)

# Goal 3: Skip or alternate formula or calculation simulation settings
[GitHub issue 76](
https://github.com/SunPower/Carousel/issues/76)

Intermediate

YES

Conda-forge

conda-forge is a community lead effort to package software using conda.
The goal of the sprint is to teach people how to package software using conda-forge infrastructure (beginner level), and to tackle some issues from the conda-forge tracker like improving the conda-smithy tool (intermediate).

Intermediate

NO

Data for Democracy Data for Democracy looks for projects that have a strong collaborative nature, and leverage data and technology to create positive social impact. We engage in a mix of community-led projects, which are proposed and self-organized by volunteers. Beginner No

Matplotlib

On-board new contributors, final bug fixes for 2.1

Beginner

YES

Mayavi

 Fix various issues with the current Mayavi version. Most of the tasks require knowledge of how to use Mayavi, and the intermediate/advanced tasks often require knowledge of VTK. Learning how to use Mayavi is quite easy -- just go over the user guide.

 Beginner

Yes 

MetPy

MetPy is a community-driven package providing a library of tools (plotting, calculations, reading file formats) for solving problems in meteorology and the atmospheric sciences. The goal of the sprint is to on-board new contributors and drive MetPy forward by extending its features based on specific user needs (i.e. scratching your own itch). This can be anything from adding more examples and tutorials to adding new calculations so that MetPy can solve your needs.

Intermediate

NO

MicroPython

MicroPython is Python 3 optimised to run on a microcontroller (constrained hardware with tens to hundreds of Kbytes), well adapted to IoT and its tens of billions of devices.
The MicroPython sprint goal is to live demonstrate MicroPython to new users and attract new developers to contribute to scientific MicroPython modules, for example, by porting/adapting scientific Python 3 modules.

Beginner

NO

Numba

We want to help sprint participants improve the performance of their numerical code with Numba, as well as create additional performance tests and benchmarks of recent multi-threading features that have been added.

Intermediate

YES

NumPy The aim is to introduce people to contributing to NumPy, and maybe get some work done as well. There are some simple tasks that can be done without deep knowledge of the NumPy internals and those will be marked. 
Intermediate YES
nbconvert and nbgrader We want to get people involved with the nbconvert & nbgrader; we also want to make progress on next releases.

There are many sprint-friendly issues on GitHub. We will give a brief introduction to the structure of the projects at the beginning of the sprinting session. In addition to Python expertise, some javascript expertise may be needed to address some nbgrader issues.

These projects greatly enhance the usability of the Jupyter ecosystem for academic & educational contexts.
Intermediate NO

Packaging

Help projects package their software, via wheels, conda-build, and scikit-build. Develop/enhance core infrastructure for conda-forge. Submit package recipes to community repositories.

Beginner

NO

pandas

Our primary goal is to welcome new contributors to the library. We have issues tagged by required experience level and difficulty to help with finding something to work on.

Contributors completely new to pandas can often help improve our documentation by fixing points of confusion or by adding examples to existing documentation. Contributions by more experienced developers are also welcome.

Beginner

NO

PVMismatch

Goal #1: make PVCell object a backend
GH39
https://github.com/SunPower/PVMismatch/issues/39

Goal #2: make a generic update method to copy string, module and cell objects and change their properties
GH48
https://github.com/SunPower/PVMismatch/issues/48

Intermediate

NO

Scikit-learn

Help new contributors get started with working on the project.

Intermediate

YES

UncertaintyWrapper

goal #1: allow UncWraper to use Uncertainties ufloat objects
GH9
https://github.com/SunPower/UncertaintyWrapper/issues/9

goal #2: fix jagged arguments broken for nobs>1 if wrapped func only takes scalars
GH10
https://github.com/SunPower/UncertaintyWrapper/issues/10

challenge goal #3: implement speedups in c/c++, numba, cython, swig or boost

Intermediate

YES

Using Dask

The goal of this sprint is to get people using Dask and help them parallelize other packages, algorithms, or projects.

Intermediate

YES

yt

Do you have data that you would like to look at using yt? We will have yt developers around to help you get your data loaded into yt.
In addition we will be working on fixing open bugs. If you are a new developer we are happy to get you set up to fix bugs and land your first contribution. Finally we will also be available for more long-form unstructured discussion about yt development, ideas, and design discussions.

Beginner

NO