PyData Eindhoven 2022

How to create a Devcontainer for your Python project 🐳
12-02, 14:05–14:35 (Europe/Amsterdam), Ernst-Curie

Devcontainers are an open-source specification, which allow you to connect your IDE to a running Docker container and develop right inside it. This has numerous advantages. Because the dev environment is now formally defined, it is reproducible. This means others can easily reproduce your dev environment, too! This makes it much easier for others to join in on your project, and stay updated with changes to the environment.

In this talk, you will learn: why you might want to use a Devcontainer for your project (or when not 😉), what exactly a Devcontainer is, and how you can build one for your Python project 🐍.


Devcontainers have been gaining traction lately. Whereas previously the technology existed only in the umbrella of Visual Studio Code, it is now released as an open specification. Such, multiple IDE's could all use the same standard specification, promoting reusability and standardisation. That said, Developers are currently hard at work at pushing the technology to become standardised. Especially for these reasons, this is an exciting time to take a closer look at this new specification, and at what the technology can do for us in general.

So how will I go about this talk? Let's take a look 🙌🏻.

📝 Talk setup

Let's learn about Devcontainers together. This will be the setup of my talk:

  1. Why Devcontainers? What problem do they aim to solve? Pro's & Con's.
  2. Building a basic Devcontainer from scratch
  3. Opening up the Devcontainer
  4. Extending the Devcontainer with more useful features
    • Custom VSCode settings
    • Running your CI task in the Devcontainer
    • Connecting as a non-root user
    • Opening up a port to the Devcontainer
  5. Going further 🔮
    • More useful links & resources
  6. Concluding ✓

🏡 What you will take home

At the end of the talk, you will be taking home the following:
- When it makes sense to create one
- How you can create one
- Knowledge on how Devcontainers work
- A template repo for a Python project Devcontainer

❤️ Open Source Software

Devcontainers are completely open-source. Both the specification and the implementations are open-source. The editor that has support for this spec is VSCode, which is also open source.

🎒 Pre-requisites

No need to pack anything extra in your bag of knowledge. This talk will not assume you have any existing knowledge on Devcontainers.

👥 About the speaker

The speaker has worked with Devcontainers for many months, introducing and implementing it for both existing and new projects at various companies. After having followed the technology for a while, it is possible to see how the technology has changed and where it's going. The speaker has promoted Devcontainers at knowledge exchanges, on a blog and in talks.


Prior Knowledge Expected

No previous knowledge expected

Jeroen is a Machine Learning Engineer at GoDataDriven, in The Netherlands. Jeroen has a background in Software Engineering and Data Science and helps companies take their Machine Learning solutions into production.
Besides his usual work, Jeroen has been active in the Open Source community. Jeroen published several PyPi modules, npm modules, and has contributed to several large open source projects (Hydra from Facebook and Emberfire from Google). Jeroen also authored two chrome extensions, which are published on the web store.

Hope to see you at PyData Eindhoven! 👋🏻