2026-07-22 –, Room 1.38 (Ground Floor, Turing)
Learn how to manage your conda- and pip-based Python dependencies with pixi. With its declarative approach, pixi provides a reliable way for reproducible
Python environments. Its design is based on experiences drawn from tools such as pip, conda and mamba as well as Rust's cargo.
Managing dependencies can be a complex task, especially when it comes to multi-platform support and extensions written in compiled languages, such as C/C++ or Rust, are involved. There are many tools for Python that can help to take care of different aspects of this problem. These tools are external Python packages that are not distributed with Python itself. Only pip is installed by default. Other, more recent languages such as Rust, include the tooling for dependency management as part of the core language. On the other hand, the Python ecosystem for dependency management is very fragmented.
In general, there are two main approaches (a) based on pip packages and (b) based on conda packages. Pixi offers an approach that can work with both package types. Its design is inspired by Rust's cargo. In addition to Python packages, pixi can also manage software written in other languages. For example, using conda-forge as the default conda repository, Pixi can install tools such as gcc, pandoc, or git. Pixi can work tother with existing tools such as setuptools or poetry. In fact, it uses uv internally to install pip packages.
Audience
This tutorial is for participants who:
- Have a solid Python knowledge
- Are familiar with the basic use of
pipor similar tools - Would like to learn what pixi brings to dependency management
- Would like get hands-on experience with Pixi
Dr. Mike Müller has been working with Python since 1999 and teaching it professionally since 2004. As a trainer at Python Academy (https://www.python-academy.com), he has taught over 580 Python courses totaling more than 1,400 teaching days to thousands of participants worldwide.
Mike has taught more than 75 tutorials at Python conferences, including 29 tutorials at PyCon US over the years. He is known for his hands-on teaching approach, live coding demonstrations, and comprehensive course materials that participants can use as references long after the tutorial ends. His tutorials blend practical examples with solid theoretical foundations, making complex topics accessible and immediately applicable.
Beyond teaching, Mike is deeply involved in the Python community. He has organized conferences including PyCon DE, EuroSciPy, and numerous BarCamps. His contributions to the community have been recognized with the PSF Community Service Award and PSF Fellow status. He serves as chair of the German Python Software Verband.
Mike holds a doctorate in hydrology and brings a scientific perspective to programming education. He believes in learning by doing and creates supportive environments where participants feel comfortable asking questions and experimenting with code.
Dr. Mike Müller
Education
- German Diplom-Ingenieur Wasserwirtschaft (5 years) at University of
Technology Dresden,
Germany -- Wasserwirtschaft literal translation water management, engineering
degree in water resources management with focus on groundwater hydrology and
modelling - MS in Hydrology and Water Resources at University of Arizona, Tucson, USA
- Ph.D. in Mining Hydrology at BTU Cottbus, Germany -- Development of a coupled
surface water and groundwater model for open pit mine lakes (PITLAKQ)
Work Experience
- Combination of hydrology and software development
- Coupling of models
- Python teaching -- since 2004, >1500 full teaching days with focus on scientist and engineers
Model Coupling
I have experience in coupling different hydrological and hydraulic models, such as:
PITLAKQ
This is my Ph.D. work that couples a finite volume groundwater model (PCGEOFIM),
a hydrodynamic and water quality lake Model (CE-QUAL-W2), and a
hydro-geo-chemical model (PHREEQC).
PITLAKQ is open source.
It has been applied world wide.
I used it for pit lakes in Germany, Australia, and Canada.
Others have used it in many other countries of the world.
Coupling of a river flood model and a groundwater model
I have been involved in a research project that couples a river model, a sewer
pipeline model and groundwater model for the river Elbe in the city of Dresden,
Germany.
I was responsible for the coupling of the river model and the groundwater
model.
Rainfall runoff model -- groundwater model
I implemented a coupling of a rainfall runoff model (ArcEGMO) and a groundwater
model (PCGEOFIM) for a watershed in Germany.
Density-driven flow in groundwater and lake
I coupled a density-driven groundwater flow and transport model (MODMST) to
PITLAKQ.
This was used for a long-term simulation of a sub-aquatic landfill,
i.e. a lake over a deposit of mining waste.
MODFLOW with dynamic boundary conditions - pymf6
I am the developer of pymf6
that allows to interact with MODFLOW 6 via Python at runtime.
This can be used to implement dynamic boundary conditions.
Examples are:
- water-level-controlled wells that dynamically adjust their pumping rates
based on simulated water levels in the aquifer - dynamic values of the resistance of the colmation layer at the river bottom
that depend on the flow direction between river and aquifer - technical heat boundary conditions in urban settings such as building
basements and tunnels
MODFLOW 6 with AEM
I coupled an Analytic Element Model (AEM)
TTim with MODFLOW 6
via pymf6.
This allows to combine the grid-based approach of MODFLOW with the analytic,
grid-less approach of AEMs.
MODFLOW 6 with PHREEQC -- rtmf6
I coupled MODFLOW 6 with the geochemical model PHREEQC via
PhreeqPyusing
PhreeqcRM.
I am the author of PhreeqPy.
The result is rtmf6.