What are Sprints?
Sprints are collaborative coding sessions where participants work together on open-source projects. It's a great opportunity to contribute to projects you use, learn from experienced developers, and network with the community.
When are Sprints happening?
Sprints at EuroSciPy 2025 will be held on Friday, 22 August 2025.
No ticket is required to attend the sprints; they are open to everyone!
Registered Sprints
NumPy
- NumPy is completely Free and Open Source, and a the fundamental package for scientific computing with Python.
- Please check the contribution documentation for getting set up. A codespaces setup can be used in case of difficulties.
- Issues that fit a sprint are tagged with "sprintable" or "sprintable C". You may find other issues, for example documentation ones.
- Reach out to the host before working deeply on such or other issues. Issues are often more complicated than they first seem.
SciPy
- SciPy is completely Free and Open Source, and provides fundamental and foundational algorithms for the Scientific Python ecosystem.
- Please checkout the Contributor Guidelines for tips and more links on how to contribute.
- Please see the Good First Issue for issues which can be contributed to (more) easily.
- If you have any specific interests, please reach out to one of the hosts. We can help point you in the right direction.
scikit-learn
- scikit-learn is a Python library to solve machine learning problem.
- Please checkout the Contributor Guidelines for tips and more links.
- Talk to us such that we can direct you towards a good issues to solve.
- Mentors will leave for the airports at the beginning of the afternoon.
scikit-image
TBA
skrub
- skrub is a Python library to bring machine learning in the dataframe world.
- Please checkout the Contributor Guidelines for tips and more links.
- Talk to us such that we can direct you towards a good issues to solve.
- Mentors will leave for the airports at the beginning of the afternoon.
napari
napari is a fast, interactive, multi-dimensional image viewer for Python. Check out napari.org for more information about the project, how to get started and how to contribute.
For this sprint, you'll have easy access to two members of the core team to help you get started with using, contributing or extending napari. You're welcome to join whether you never used napari or you're a long time user!
We don't have strict plans for this day, but here's a few ideas for what you could be doing:
- ask our help with getting started with napari, or with some issue you found along the way
- get guidance with developing your napari plugin
- fix that long-standing annoying bug that has been bothering you for so long...
- develop (or at least begin working on :P) a new feature you'd like to add to napari
If you're comfortable with reaching deeper into the guts of the napari codebase, here are some PR ideas:
- updating the
features
table on theLabels
layer to match the behaviour ofPoints
(autosync with label contents, addition of manager classes such as TextManager or ColorManager, ...) - introduction of a new
Overlay
that you'd really like to have (e.g: we're currently working on a colorbar and a grid) - Anything else that crosses your mind!
PyFixest
We'd love to implement a range of exciting new features for PyFixest during the EuroScipy sprint:
We are currently porting some of the core algorithms that make PyFixest fast from numba to Rust and would like to implement multiple enhancements:
- Implement the Irons-Tuck Fixed-Point Acceleration Method in PyFixest, plus some other tricks that make r-fixest so fast (Background on IT, fixest IT options, pyfixest draft PR).
- We want to port the Frisch-Newton Quantile Regression solver from PyFixest from pure Python / numpy to Rust. You can find the code here.
- We'd like core functionality of the randomization inference code base from numba to Rust. You can find the code here.
If you don't know Rust, don't worry! Here are some other topics we'd like to tackle during the sprint:
- We've recently implemented a specialized Frisch-Newton solver to solve the Quantile Regression optimization problem. In initial benchmarks, we have found that our FN implementation is much faster than the Quantile Regression solver in scikit-learn. We want to create exhaustive benchmarking to validate our initial finding. If confirmed, our hope is to contribute the algorithm to scikit-learn! You can find an initial PR to sklearn here.
- We want to implement a complement to the FN estimator that works with sparse matrices. For the associate PR, see here.
- We also have a range of "good first issues", many of which are very beginner-friendly. You can find them here.
- Tooling: We'd like to set up a conda forge feed for PyFixest issue.
Before the sprint, you can fork and clone pyfixest from github, and we explain how to set up the dev environment here.
If you're interested, please feel free to reach out!
array-api-extra
Come and contribute to array-api-extra! We have good first issues across the following topics:
- adding a new function,
nan_to_num
- adding delegation to existing implementations for functions
- improving static typing annotations
- improving documentation
Blosc2
The Blosc development team has just released a beta version of TreeStore class (https://www.blosc.org/python-blosc2/reference/tree_store.html#blosc2.TreeStore), a new way to structure Blosc2 datasets hierarchically. We will meet and try to polish rough edges, like:
- Being able to open a store with blosc2.open(), which fits better with Blosc2 philosophy
- Making sure that vlmeta works well for subtrees
- Producing a proper tutorial.
We would also like to talk on how to implement fancy indexing for NDArray type (NDArray.slice(fancy_index))
Ultimate Notion
Come hack on Ultimate Notion — the ultimate Python client for the planning and organisation workspace Notion. We could hack together on following topics:
- more real world examples to get users started
- improve the docs for users and especially new contributors
- implement one of the many # ToDo comments in the code :-)
- start implementing the file upload endpoint.
- work on one of the current issues
- your ideas
I am looking forward to meet you and have great time coding together.
MicroPython & emlearn
MicroPython is a Python that runs on low-cost, low-power microcontrollers. A microcontroller is a great core basis for doing physical computing - sensing and acting in the real world. emlearn-micropython is a machine learning library and digital signal processing for microcontrollers, to enable automatically analysing sensor data on such devices.
In the sprint we will be hacking on MicroPython related projects.
People who are curious but have no prior experience with MicroPython are welcome! I got some devices with me that you can borrow and play with. PS: bring an USB-C cable if you have (I might be a bit short on those).