Monday, May 2, 2022 – Tuesday, May 3, 2022 at 8:00am - Sprint will be held in the 250 and 251 rooms and are free to attend with a PyCon US registration. NOTE: Please be familiar with the PyCon US Health & Safety Guidelines. Sprint days are part of the conference and only registered attendees of PyCon US can participate due to the guidelines put in place for the 2022 conference.
Development sprints are a key part of PyCon US, and a chance for the contributors to open-source projects to get together face-to-face for two 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.
PyCon Development Sprints are two 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).
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 and included in your conference registration. Please go to your attendee profile on your dashboard and indicated the number of sprint days you will be attending.
If you would like to mentor a newcomer to sprints, fill out this form.
You! If you've never run a sprint before, the In-Person Event Handbook is an excellent guide.
Please edit this page and add your project according to the instructions below.
Sprints run all day from Monday, May 2nd and Tuesday, May 3rd. That's 8:00am to 11:00pm. Lunch will be provided
The Sprints will take place at the Salt Palace Convention Center. Each Sprinting project will claim its own room or if the room is large enough, it will share the space with other Sprinting Projects.
If you are interested in leading a sprint, please add your project using the link below:
Please submit a sprint here and add a brief description of your project that will be listed below. Include links to what you'll be sprinting on. Indicate if the sprint will be newcomer friendly!
Reach out to firstname.lastname@example.org
Hypothesis helps you write better tests! With property-based testing, you no longer have to think of inputs and outputs - and with the Ghostwriter, you'll never stare at an empty file again. At PyCon, we'll be sprinting on a variety of goals suitable for intermediate to expert Pythonistas:
pytest-django without making silly mistakes.
PyVista: a community effort to make 3D visualization and analysis more approachable
PyVista is used across science and engineering disciplines. A diverse community use PyVista to visualize data/models in 3D, generate publication-quality illustrations, automate analysis workflows, and build custom applications leveraging PyVista's 3D capabilities.Submitted by Alexander | Anchor link
The yamm project is a freshly open sourced python package developed by the National Renewable Energy Laboratory. The package maintains a collection of algorithms and wrappers for mapping GPS data to road networks (commonly know as "map-matching"). Currently, the package is used to support various NREL efforts to de-carbonize transportation including recent development and refinement of vehicle energy prediction tools to enable eco-routing in Google Maps and other applications.
We'll be sprinting on a variety of topics listed out in this discussion: https://github.com/NREL/yamm/discussions/2. No previous experience with map-matching or GIS is required although it would be helpful for getting up to speed quickly.Submitted by Nick Reinicke | Anchor link
Pants 2 is a fast, scalable, user-friendly build system for codebases of all sizes. It's currently focused on Python, Go, Java, Scala, Shell, and Docker, with support for other languages and frameworks coming soon.
PEX is a tool to create self-contained executable Python virtual environments (
At our sprint (Monday Only):
* Pantsbuild contributors can help you get Pants set up in your repo
* Pantsbuild contributors will talk to you about whether you can benefit
* First-time contributor tickets for both Pantsbuild and PEX
Strawberry is a GraphQL library for Python 3, inspired by dataclasses.
Strawberry makes use of type hints to allow you to easily create GraphQL APIs. At the sprints we'll be looking at fixing some long standing issues, improving docs and maybe prototyping new cool feature (rust rewrite of the core or a JIT compiler for the queries).Submitted by Patrick | Anchor link
Cinder is Meta’s internal performance-oriented Python runtime, powering Instagram Server in production, as well as various other internal Python applications across Meta.
It contains a number of performance optimizations, including bytecode inline caching, eager evaluation of coroutines, a method-at-a-time JIT, and an experimental bytecode compiler that uses type annotations to emit type-specialized bytecode that performs better in the JIT.
We have embarked on a journey to make Cinder more broadly available, by upstreaming some parts, and extracting other parts into a pip-installable extension.
We are excited to participate in the PyCon US 2022 dev sprints, where a bunch of us will be hacking on several upstreaming projects. If you are interested in this work, come chat with us at the dev sprints!Submitted by Itamar | Anchor link
Semgrep is a customizable linter for finding bugs and enforcing standards in your code.
Its rules look like the code you already write; no abstract syntax trees or regex wrestling. In fact, to find all print calls, you can just search
print(...). But Semgrep is also smart enough to parse 24 different languages, understand control flow, and variable propagation. In fact, it's possible to mirror the entirety of Bandit by just writing Semgrep patterns.
Helping new Django developers through their first deployment is often a difficult process. People go from a friendly resource like the Polls tutorial, to being thrown into a platform provider's documentation.
django-simple-deploy is a standalone management command that automates the initial deployment process. If people have an account on a provider's platform, they can deploy their project in three steps, before they even visit the provider's documentation. A typical deploy command looks like this:
python manage.py simple_deploy --automate-all --platform azure
After running this command, a live version of the project pops up in the user's browser.
The project works and has a baseline set of tests. Sprint goals:
This project does not aim to take the place of a platform's documentation. It aims to get new developers a working version of their project; then they can start to understand how the project was deployed, and how to maintain the deployment.
Any help, feedback, or discussion is welcome. :)Submitted by Eric | Anchor link
Pyodide is a Python distribution for the browser and Node.js based on WebAssembly.
This sprint is focused on improving different components of Pyodide, to make the experience of Python in the browser better.
We also welcome participants interested in,
- adapting your Python applications to run in the browser
- working on better WASM support in CPython
- exploring other frameworks and projects in the ecosystem, such as PyScript, JupyterLite, Irydium, etc
pyjanitor is a library of commonly-used data cleaning functions that operate on pandas DataFrames. We are beginner-friendly and are looking for newcomer contributors who would like to help improve the project's documentation while also getting experience contributing to an open-source project. We are also open to new functionality being contributed!Submitted by Eric | Anchor link