PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Development Sprint

**Thursday, June 2nd 2016 – Sunday, June 5th 2016** Food & Beverage Schedule for the Sprints: ------------------------------------------------------------- * Thursday June 2 - MORNING COFFEE 9AM - Portland Ballroom Lobby - LUNCH 1PM - Oregon Ballroom * Friday June 3 - MORNING COFFEE 9AM - Portland Ballroom Lobby - LUNCH 1PM - Oregon Ballroom * Saturday June 4 - LUNCH 1PM - Oregon Ballroom * Sunday June 5 - LUNCH 1PM - Portland Ballroom Lobby Development sprints are a key part of PyCon, and a chance for the contributors to open-source projects to get together face-to-face for up to four days of intensive learning, development and camaraderie. Newbies sit with gurus, go out for lunch and dinner together, and have a great time while advancing their project. The 2016 PyCon Sprints are sponsored by AQR Capital, Mapbox, and Leadpages. We are very grateful for their sponsorships so we can supply our attendees with wifi, power, and lunch each Sprint day! - Why not join the sprints this year at PyCon? by Naomi Ceder What's a sprint? -------------------
Come for PyCon, stay for the sprints!
PyCon Development Sprints are four days of intensive learning and development on an open source project of your choice, in a team environment. It's a time to come together with colleagues, old and new, to share what you've learned and apply it to an open source project. In the crucible of a sprint room, teaming with both focus and humor, it's a time to test, fix bugs, add new features, and improve documentation. And it's a time to network, make friends, and build relationships that go beyond the conference. PyCon provides the space and infrastructure (network, power, tables & chairs); you bring your skills, humanity, and brainpower (oh! and don't forget your computer). Who can participate? -------------------- **You!** All experience levels are welcome; sprints are a great opportunity to get connected with, and start contributing to your favorite Python project. Participation in the sprints is free! Will there be an 'Intro to Sprints' session this year? ------------------------------------------------------ Yes! On June 1st, right after the conference officially ends, Shauna Gordon-McKeon will be leading another edition of the Intro to Sprints session we introduced last year. Various members of the Python community will be in attendance to help get new sprinters up to speed on the whats, hows, and whys of sprinting at PyCon. This 90 minute session is totally free - to let us know you're interested in attending, just [pop over to our registration page][2] and grab a free ticket. See you there! Who can run a sprint? --------------------------- **You!** If you've never run a sprint before, take a look at our [Sprint Preparation Tips]( If you want more detail, the [In-Person Event Handbook]( is an excellent guide. Please edit this page and add your project according to the instructions below. What's the schedule? ------------------------- Sprints run all day from Thursday, June 2nd to Sunday, June 5. Where will the sprints be? ------------------------------- The Sprints will take place in the Oregon Convention Center. Each Sprinting project will claim its own room, but here is a list of all of the rooms we will be using during the 4 days: - Portland Ballroom 251, 252, 253, 253, 255, 256, 257, 258 - D129, D130, D131, D132 Which projects are sprinting? ---------------------------------- If you are interested in leading a sprint, **please add your project here:** **1.** Please **edit this page** and add a brief description of your project to the list below (the edit button is at the top of the page). Include links to what you'll be sprinting on. **2.** Please also **[fill out this form][1]** to let us know if you want to be newcomer friendly. - [MicroPython]( embedded devices with particular focus on the [BBC micro:bit]( (also see [this](, and the [wipy]( and [esp8266]( microcontrollers with built in wifi. We would love to welcome new friends to contribute to the project (and if you're thinking, "but that's probably not me", then we [definitely mean you]( We have "stuff" to which all sorts people could contribute (no matter your skill level or experience): Python code to run on the micro:bit (we'll bring along plenty of devices for people to play with), C/C++ hardware hacking, documentation, educational resources, online / project infrastructure, utilities written in Python that relate to the project (e.g. [uflash]( or [mu]( Most of all, we intend to have a lot of fun, make new friends and build momentum for the project. :-) - [GNU Mailman]( will be [working to get Mailman 3.1 out the door]( -- more details coming by late March. Newbies are welcome to help out by testing our installation instructions on different platforms. More experienced folks, please let us know what's stopping you from upgrading from 2.x, work on our integration with Django auth, and try mashing up Mailman with your favorite application using [the Python bindings to our REST API]( - [Rasterio]( is a library for reading and writing geospatial raster data & [Fiona]( is its vector data counterpart. Each have interoperable command line interfaces that can be used to build data processing pipelines. Goals for the sprint include a Rasterio 1.0 release and solid support for the latest and greatest version of GDAL in each project. We're also interested in helping developers of other projects learn to use Rasterio and Fiona. See the issue trackers of Rasterio and Fiona for sprint plans. - [Gensim]( is a popular Natural Language Processing library using Machine Learning techniques like LDA Topic Modelling and word2vec. We invite people wishing to learn about these techniques to come and write tutorials, documentation and tests together with more experienced package developers over the 4 days. We also plan to refactor our word2vec and Latent Dirichlet Allocation implementations in order to incorporate slight variations without code duplication. The variations are respectively fastsent and Supervised LDA. - [Fabric](, [Invoke]( and [Paramiko]( will be sprinting, with a focus on bringing Fabric 2 / Invoke 1 from alpha to beta status, and on making Paramiko 3 a thing as well. - [Zipline]( is an algorithmic trading library and backtester. Zipline is built on top of Numpy, Pandas, and other common libraries in the PyData ecosystem. Financial experience is not needed to contribute; there will be projects available for many different experience levels. We will be focusing on adding support for new datasets and TA-lib functions to the Pipeline API for doing efficient computations over a large universe of assets. - [Python]( is the programming language we have built this awesome community around! If you have not previously contributed to Python then please read the [devguide]( prior to coming if you can (our current development process is not like most other projects). We typically don't have any specific plans for newcomers but we are happy to answer questions people have after reading the devguide and attempting to work on their first contribution. - There's a special CPython sprint specifically on the ![Gilectomy]( [Gilectomy](, an experimental branch of CPython that removes the GIL. It's early days yet, so there's lots to do! If you're a seasoned C developer with a deep understanding of multithreading, system optimization, and CPython internals, please come by! - ![BeeWare]( [BeeWare]( is a collection of projects that can be used to help develop, debug and launch Python software. Each tool follows the Unix philosophy of doing one thing well. Unlike a traditional IDE, each tool is self contained and can be used on its own. During the sprints, we will be paying particular attention to [VOC]( (a transpiler to convert Python bytecode so it can run on the JVM and Android), [Batavia]( (a transpiler that lets Python run in a browser) and [Toga]( (a cross-platform, platform native widget toolkit, including support for mobile devices). We have a number of tasks that are very well suited to first time contributors, and we have an open offer to mentor anyone that wants to get involved in Open Source development. In addition, anyone contributing to a BeeWare project will receive a [BeeWare Challenge Coin](! - [DDL Trinket]( is a Django web application that is designed to provide visual tools for steering the machine learning model selection process. Trinket is part of Rebecca Bilbro's talk on visual diagnostics for machine learning, and if you heard that talk, we hope you will join us to work towards the goals she presented! We will have front-end work available using D3 for high dimension visualization like parallel coordinates, radial visualization, and interactive multi-dimension exploration. We will also have a lot of back-end work on generating models saving them, and performing asynchronous analyses with Celery. We're happy to speak with newcomers, particularly if you have a machine learning or Django background! - [Baleen]( is an ingestion tool that routinely downloads data from RSS feeds to put together a corpus for natural language analyses. Baleen is the tool that was used to create the corpus presented in the NLP with NLTK and Gensim tutorial. We'd like to harden Baleen both on it's [monitoring side]( as well as implement a better multiprocess or asynchronous method of collecting data. We also want to build upon and improve the text analysis framework, [Minke]( that was presented in the tutorial. Newcomers to the project are welcome, and we're especially looking for someone who wants to get in and contribute at the ground floor of a project in a meaningful way. If you're looking for something to apply your long term open source project goals to, we hope you'll consider Baleen! - [Zulip]( is a powerful, open source group product built using Python and Django. We have an easy to setup development environment, and a library of tasks that are great for first-time contributors ([guide]( We will be hacking on a wide range of features from the [Zulip roadmap](, using [mypy]( to add PEP-484 static type annotations to the Zulip codebase, and working on merging some of our Django extensions into upstream. We're working in room D132 and [this doc]( has useful details about project ideas, and we're using []( for chat. - ![Pyramid]( [Pyramid]( is a "start small, finish big" Python web framework. It is developed as part of the [Pylons Project]( We are newbie friendly. We will be hacking on Pyramid, its dependencies and add-ons, its marketing and documentation websites, and helping folks get started with Pyramid. - ![Flask]( [Flask]( is a micro web framework for Python built on Werkzeug, Jinja 2, and good intentions. All are welcome, experience with Git, Flask, and Sphinx is a plus. We will focus on documentation, performance, and knocking down issues for the 1.0 milestone. - [![coala]( coala]( is an easy to use code analysis tool that works for [a lot of languages]( and can also automatically fix stuff. *We would love to*: - Help you setting up *code analysis for all languages in your project*. - Help you *writing own analysis routines for your special needs*. - Implement *support for a language you think is missing*. - Help *newcomers* with any kind experience to *get started contributing to coala*. Opportunities vary from organizational and documentation work to solving challenging software architectural problems and writing some great code. - [Arcade Library]( is designed for beginning programmers that want to create 2D games, or for experienced programmers that don't want to spend a lot of time learning a complex toolkit. [See some examples.]( The library is cross-platform and built on Pyglet and OpenGL. The library is new and we are looking for more people to try it out and improve it before a wider release. - BuddySuite is a collection of command line programs that simplify routine interactions with sequence, alignment, and phylogenetic tree flat-files; so if you're a computational biologist, this is probably the sprint for you. The primary focus of the sprint may change depending on participants' interest and skill level (all welcome!), but new tool development, tidying up unit tests/documentation, and enhancing performance are all high priority goals. See the [BuddySuite Sprint page]( for further details. The Sprint lead is Steve Bond --> - is a command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template. We'll be hacking on the core project, with tangents into some of the major side projects ([Cookiecutter Django]( and [cookiecutter-pypackage]( Our focus will be on cross-platform compatibility (Python 3.6 and anything else we can stick into continuous integration), documentation of advanced features, and closing tickets. - [Ansible]( is an orchestration and configuration management tool that concentrates on being easy to setup and manage. At last year's PyCon we had success kickstarting our work on making the core portion of Ansible run on python3. This year we'd like to work on getting the modules (portions of Ansible that run on the managed machines) running with python3. We're also available to help people get changes merged if they have existing Pull Requests or bugs that they want some face-to-face help getting into the project. - ![][4][Fedora]( is a partnership of Free/Open Source Software contributors from around the globe who build communities and produce a Linux distribution called "Fedora." Come meet with other Fedora users, contributors, and project leaders, get swag, discuss the direction of the project, and learn how to get started. Our infrastructure team is mostly a "Python Shop" and we'll have a number of projects for both new and veteran contributors to dive into, [including Python3 porting](, and plenty of web and app development. **All experience levels welcome. More info/Sign-up on the [Fedora PyCon 2016 Wiki Page](** - ![CrossCompute]( [CrossCompute]( turns your computational scripts into web apps. We'll be working on the [core framework](, [data types](, [examples]( and [documentation]( You're welcome to stop by, **especially if you're new to Python**, and we'll share [useful debugging techniques]( and help you debug your script. - [Django]( – The web framework for perfectionists with deadlines. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source. The development version 1.10 alpha 1 is out and it's time to fix bugs. Join us! **All experience levels welcome.** - ![Mesa]( [Mesa]( – The agent-based modeling framework in Python It allows users to quickly create agent-based models using built-in core components (such as spatial grids and agent schedulers) or customized implementations; visualize them using a browser-based interface; and analyze their results using Python's data analysis tools. Its goal is to be the Python 3-based alternative to NetLogo, Repast, or MASON. You can help fix bugs, make improvements, OR add features AND learn about Agent Based Modeling at the same time. Specific areas that need help, but certainly not limited to: - Front-end interface (various) - Testing and updating of all new user touch points (tutorial, Readme, etc), because new users are probably not Python experts. - Testing of models - Geospatial integration - Translate models from other languages, point out weaknesses/feature additions! (List of models provided.) GREAT OPPORTUNITY, to carve out a niche in an open source project that you can help foster and grow!!! Join us! **All experience levels welcome.** - [Learn Leap Fly]( is a project aimed at improving literacy in all its forms. This year we will be sprinting on our software literacy project, Gamecamp, an effort to develop **freely-available, open-source game programming resources** (including tutorials, code, game assets) to help encourage youth and adults to learn to code. Our tutorials are based around Kivy and Kivent, and target mobile devices running IOS or Android. If you're a programmer, educator, UX / UI designer, musician, or are just interested in writing python games on mobile devices, join our sprint! This project is open to contributors of all levels. - Optional static types with **[PEP 484](** and the **[Mypy](** type-checker give you a powerful tool to make your code easier to understand, and they've recently arrived in Python, with a full-time Mypy development team since late 2015. Dropbox is adding static types to its multi-million-line Python codebase and supporting their development, early feedback from Python programmers using them is consistently enthusiastic about their power to make code more readable and more productive to work in, and much smaller projects like the open-source [Zulip]( chat system are already starting to adopt static types. We think your own programs will benefit too! The entire Mypy core team (Jukka, Guido, Greg, David, and Reid) will be at the sprints (we'll also be [giving a workshop]( on Sunday), and we'll be holding a static-typing clinic: **try static types on your own code**, ask us for help, report bugs, and tell us about features you wish you had. If you'd like to contribute to Mypy itself, we'd also love to work with you; and if you've been participating already, please come by and say hello! Absolutely all levels of Python experience welcome, and no experience with Mypy or static types necessary. We're working in room D132. - ![Falcon]( [Falcon]( is a low-level, high-performance Python framework for building HTTP APIs, app backends, and higher-level frameworks. We invite everyone to come hack with us on the framework or your own Falcon-related project. This is a great opportunity to learn about web internals and Python performance tuning. First-time contributors of all skill levels are welcome. This year we'll be working on native Twisted support, enhanced URI templates, form support, and much more! [Learn more about this year's sprint on our wiki]( - [**sphinxserve**]( is a tool to effectively author beautiful project documentation, making reStructuredText and Sphinx more accessible, interactive, and convenient to use. At its core, sphinxserve uses the awesome projects *gevent*, *bottle*, *ajax*, *watchdog*, *Sphinx* and of course *Python*. sphinxserve is already multiplatform (linux, osx and windows) and python multiversion. The primary focus of this sprint is to release a new sphinxserve with python3 support. *Testing*, *packaging*, *performance* and *heuristic refactoring* are main revolving points. **All levels of experience** (even with just interest in documentation) **are encouraged** to participate, contribute, **and welcome**. - ![aiohttp]( [**aiohttp**]( and [**aio-libs**]( are libraries for writing [asyncio]( based code. **aiohttp** is a http client and server, [**aio-libs**]( is an umbrella for several useful database drivers like [**aiopg**](, [**aiomysql**](, [**aioredis**]( etc. along with *aiohttp third party libraries* like [**aiohttp-jinja2**]( and [**aiohttp-session**]( Everyone who would to hack these libraries is welcome. Your targets are speed and stability as well as new features like aiohttp sub-applications and http2 support. If you are a newbie -- documentation improvements and tutorials writing is very appreciating. Also we have many issues in github tracker, you may help with solving them. Expected **audience level** is vary, we are encourage both **hard ball hackers** and **novices** which have no real experiences in asyncio world. - [**pycodestyle (formerly pep8)**]( is a tool to check your Python code against some of the style conventions in [PEP-8]( I ([@IanLee1521]( will be sprinting on Thursday (starting around 08:00), and welcome anyone interested in contributing in any way: Getting setup, First time contributor, Updating documentation, Issue triage, seeing what are still issues, Finding any old, incorrect references to the "pep8" name. For more information about the name transition check out the slides from my [Tuesday Lightning Talk]( - [**pgcli**]( is an advanced client for PostgreSQL databases featuring syntax highlighting and smart autocompletion. We will be working on implementing the `\copy` command from `psql`, general bugfixes, documentation, and testing. Everyone is welcome, although basic familiarity with PostgreSQL commands and `psql` is beneficial. - [**intdict**]( and [**shared__memory__bloomfilter**]( are two high speed data structures [**Peloton**] ( created to solve some of the challenges faced in scaling its real time leaderboard. These modules are too cool to keep to ourselves, so we're setting them free and donating them to the python community during this sprint. - [**SageMath**]( is an open source mathematical software written in python. It is used widely by researchers and teachers as an open source alternative to Magma, Maple, Mathematica and Matlab. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Its development model follows a "By users, for users" philosophy, with more than 200 contributors over the world. [1]: [2]: [4]: