PyGrunn is the "Python and friends" developer conference
with a local footprint and global mindset. Firmly rooted
in the open source culture, it aims to provide the
leaders in advanced internet technologies a
platform to inform, inspire and impress their peers.
For all the latest info join our community on:
Advanced PytestMore information
Unit tests. At days you can't live without them, at days you can't live with them. Often considered write once, read never, panic later. And yet unit tests can break every build, stop every deploy, ruin every productive day.
I'll share the techniques we use at Tiqets to keep our tests simple, maintainable, and powerful using Pytest.
I help tech teams. I work as lead developer for internal tooling at Tiqets. I write short fiction and sometimes make music.
Lessons from using GraphQL in productionMore information
Lessons from using GraphQL in production
In 2017, GraphQL was introduced to the PyGrunn community, we will expand on that presentation with some lessons from using GraphQL in production. We will touch some more advanced GraphQL features: Using Fragments, how to combine this with uploading files, authentication, and more. We will also have a quick demonstration and recap of GraphQL and the pros and cons.
Niek is a backend software engineer at Target Holding, Jean-Paul a machine learning engineer with experience in both frontend and backend. At Target Holding we build end-to-end AI applications.
Researching Spotify's role in the music industry using PythonMore information
Researching Spotify's role in the music industry using Python
In this talk I will briefly discuss one of the data science projects from the University of Groningen where were I have used Python. In this project we work together with the department of Journalism to find out the role of Spotify as an intermediary in the music industry. We used selenium to scrape the twitter account of Spotify. We will show in a a short video how this is done. From the tweets that we scraped we selected the links that were mentioned in the tweets and parsed them. If either a playlists, albums, or song was promoted in the tweet we scraped the whole page on spotify. This resulted in a data frame that we analyzed using python, which gave same interesting results of what spotify has done in the last few years.
I work as a data scientist at the University of Groningen. As data scientists for the university of Groningen we use Python to help scientists acquire data (for instance through data scraping), to do data analysis and to develop data science tools.
Introduction to neural networks with Keras and TensorflowMore information
Introduction to neural networks with Keras and Tensorflow
This interactive workshop will enable you to begin with machine learning and neural systems. You will figure out how neural systems work and how they are utilized for tasks like picture and content order, budgetary forecasts and so forth. No earlier machine learning knowledge is required.
I am a mathematician who started his career as a R&D software engineer in 2008. After that I've worked for three and a half year as a compiler engineer and embedded software engineer and now as embedded software engineer and Python expert. In my free time I develop applications for procedural content generation.
Deep learning and natural language processingMore information
Deep learning and natural language processing
Like many fields in computer science, natural language processing (NLP) has changed due to the ever increasing accuracy of deep learning systems. During my graduation at Spindle I have focused my thesis on NLP. In this talk I will show how grammar from a language used to be captured, and how it is done by current approaches. The goal is to provide attendees with some intuition about what is currently possible and what is not.
Graduated computer science at Spindle
Managing environments and deploying code with condaMore information
Managing environments and deploying code with conda
Anaconda is a popular data science driven Python distribution. Its package manager, conda, can however be used for much more than just installing Anaconda. It can for example manage independent environments for different Python versions, or even C libraries. And its tooling makes it fairly easy to build and distribute cross-platform packages. In fact, we recently migrated from a homegrown solution to conda for the deployment of our astronomical data reduction software.
In this talk I'll survey the current state of Python package managers, explain why we chose conda, and describe our development and deploy workflow with conda. I'll also highlight some of its lesser known nice features and pain points.
Teake Nutma is a software engineer at the Kapteyn Astronomical Institute in Groningen. He obtained his PhD in theoretical physics at the University of Groningen and was a post-doctoral researcher at the Max-Planck Institute for Gravitational Physics in Potsdam. After a brief stint in industry, he joined the ESA Euclid mission in 2016 and has since been working enthusiastically at the intersection of fundamental science, big data, and IT architecture.
Python as a scientist's playgroundMore information
Python as a scientist's playground
Python is the perfect tool for scientific programming since there are SO MANY different modules with pre-packaged solutions available on PyPI and conda-forge. However, there are SO MANY different modules available, with many either providing the exact same solutions with a different coating, or at least having overlapping functionality. This can make it difficult to choose one package over another.
In my talk I will discuss some specific features I take into consideration as a scientist when choosing one package over another. As an example I will look at some packages providing implementations for graphs, and why I chose one over the others. I hope that from my talk you can learn what you can do to make your package as useful as possible to me and help me choose your package.
I'm a PhD student at the university of Groningen working on Molecular Dynamics. Most of the time however, I'm busy creating new tools and research possibilities using Python rather than doing what I was hired to do. Science presents its own unique set of programming challenges, some of which I encounter every day. I hope to highlight a few of those in my talk.
Geocoding with PDOK LocatieServerMore information
Geocoding with PDOK LocatieServer
The Dutch National Spatial Data Infrastructure (PDOK) is a central facility for unlocking geodatasets of national importance. This is actual and reliable information for both the public and private sector, and it's free! PDOK provides API's, for instance LocatieServer. LocatieServer is a very powerfull geocoding service. Upon request it will return the location of an adress, street, place, neighbourhood, highway number, hectometer marker, and so on. Major advantage of LocatieServer compared to other geocoding services like Google and OpenStreetMap, is that it will also return the official adresses and names. Moreover it will return unique identifiers to link the search results to other sources of information within government. Also the data are updated frequently. For instance, adresses are updated daily. In my talk I'll explain how you can make your own API requests to LocatieServer from within your Python project.
Spatial data-engineer and open data advocate at the Province of Groningen, and a python novice.
Provide a scalable and secure REST based backend with PythonMore information
Provide a scalable and secure REST based backend with Python
REST based backends are a boon for front end developers, since connecting the front end to the business logic and data layer is very straightforward using standard internet technologies. Providing a REST backend turns out to be very difficult, when you want to adhere to the 'real' REST standards. We used Python to develop a framework which is agnostic to the web framework and to the database. The interface can be specified declaratively using a standard language, to which our framework is also agnostic. All non-standard logic is implemented using Python on pre-defined events. This framework turns out to be extremely productive, not only for the programmer, but especially for the designer of the interface. Implementing a battleproof REST based interface is literally one click away.
A veteran in Python, almost 20 years of exclusive Python usage in my projects. Done all kinds of projects: data analysis, migrations, software robots, cloud based services etc. Currently focusing on Sitekick, a service to assist web site owners in managing their web site. Sitekick is built on the Okapi platform, a modular platform to enable easy development of REST based interfaces.
What was its type?More information
Testing your infrastructure codeMore information
Testing your infrastructure code
Writing code to setup parts of your infrastructure isn't new. Configuration management has been a part of most infrastructure teams toolkits for a while now. However, unfortunately writing your infrastructure code once and forgetting about it is the norm rather than the exception. And, surprise surprise, things eventually break! Repositories stop serving packages, GPG signatures change, and subtle details to the way you implement your infrastructure code can cause bugs. Those bugs are then only discovered when you have to deploy a new instance of a service because it failed in the weekend after you've had one too many drink. This defeats the whole point of having your infrastructure as code. You need it to work always, especially in case of an emergency. In this talk I will explain how I solved this issue by introducing Python tests for our SaltStack code and how we continuously test this. Note that this technique will work with other configuration management systems besides SaltStack.
DevOps engineer at Spindle
Cookiecutter: handy (self-made) templates for starting your projectsMore information
Cookiecutter: handy (self-made) templates for starting your projects
Cookiecutter (https://cookiecutter.readthedocs.io) is a handy program to start your project with. You give it a template and it creates the basic structure for your project. There are all sorts of templates online, but you can also create your own. Especially useful inside a company, to ensure projects look more or less the same and to help colleagues get started right away with documentation, testing, packaging, automation, etc.
Python/django developer + OPS at Nelen&Schuurmans in Utrecht. I've done everything from sysadmin stuff to python/django/plone to css. I maintain a couple of open source packages like zest.releaser.
Data processing and visualisation of tractor dataMore information
Data processing and visualisation of tractor data
Tractors are capable of logging a huge amount of data while working. Things like position, fuel usage and yield are recorded continuously. This data can be an invaluable source of information for farmers about their crop fields. We'll discuss how we leverage tools like postgis, numpy. pandas and matplotlib to process this data and create different types of visualisations and provide usable feedback to farmers to help them make decisions for more efficient and effective farming.
Erik-Jan has over 20 years of experience in software design and development, starting from scratching COBOL an RPG in ancient mainframe systems to Java and full stack web development. He has been working for Dacom for the past 4 years, using Python to create an online platform for farmers. He 's been living in or around Groningen for most of his life. He is married and has 2 sons, who are now taller but still somehow weigh less than him.
Python and AIMore information
Symbolic Fitting using symfitMore information
Symbolic Fitting using symfit
Data fitting problems are very common in disciplines as varied as economics, physics, and psychology, just to name a few. Although very powerful tools for this purpose already exist in the python ecosystem, I found during my own research as a theoretical physicist that I was missing a tool which stays close to mathematics as I would write it on paper, but which could then be used to fit experimental data.
SymPy offers the kind of computer algebra system which is becoming ever more indispensable in modern research, but it speaks a completely different language from commonly used fitting tools such as scipy.minimize. To address this problem I developed symfit, a unifying wrapper around both of these libraries. Using symfit, models can be expressed symbolically and fitted numerically, with very little effort required from the user.
During this talk I will outline some of the data fitting challenges that were overcome using symfit, focusing on the coding aspect. Examples include fitting to ordinary differential equation (ODE) based models, Tikhonov/Ridge regression, global fitting to multiple data sets with shared parameters, global minimization using Differential Evolution, and many more.
Physicist by day, python enthusiast by night.
Find your art twin in the collection of the RijksmuseumMore information
Find your art twin in the collection of the Rijksmuseum
Dive into facial recognition. Brief overview of available solutions. Implementation insights of demq.ai with overview of the client- and server- tooling (Raspberry PI, Docker, etc). Interact with audience (demo). Lessons learned and what's next to come.
Senior developer, open source contributor
A Day Has Only 24±1 HoursMore information
A Day Has Only 24±1 Hours
On the last Sunday of October you may get “one more hour of sleep” but also may spend much more time debugging code dealing with the timezones, daylight saving time shifts and datetime stuff in general.
Invention of the geographers in the 19th century, time zones became a true victim of short-sighted political decisions during the 20th and 21st centuries. And it is still our duty to keep track of this whole fiddling with our clocks.
We'll look at a few pitfalls you may encounter when working with datetimes in Python. We'll discover the pytz module and explain why pytz.all_timezones contains over 500 individual timezones, with a slight focus on the Netherlands and surrounding countries. We'll also find the reason why pytz is not part of the standard Python, why it gets updated so often and why even that won't solve all your problems.
Two centuries of propaganda and chaos in thirty minutes. Maybe that will make you want to avoid time zones in your code altogether!
Senior Software Developer at solute GmbH. Using Python to get you the best prices online. Born in Czechoslovakia, studied in France, living in Germany. Addicted to foreign languages and the “human” face of computing, such as writing systems, calendar and time zones, and teaching computers to work on the boring tasks. Twitter: @eumiro
The applications and implementation of Generative Adversarial NetworksMore information
The applications and implementation of Generative Adversarial Networks
Generative Adversarial Networks (GANs) are systems of two competing artificial neural networks that can generate realistic artificial data in a given domain. Since their introduction in 2014, they have mostly been used to generate realistic looking images, but they can also be applied in other domains like music, or fraud detection. In this talk, I will focus on the inner workings of GANs, their different applications, and how they can be implemented in Python.
I'm a backend developer and AI consultant working for Goldmund, Wyldebeast and Wunderliebe in Amsterdam, with a Master's Degree in Artificial Intelligence.
Automatic Monitoring and Profiling Flask-Based Services: The Easy WayMore information
Automatic Monitoring and Profiling Flask-Based Services: The Easy Way
Web-services are becoming more and more used nowadays and many are implemented using Flask, one of the main web-development frameworks for Python. Most existing performance monitoring platforms are heavyweight to configure and treat the subject code as a black box. We present the Flask Monitoring Dashboard (https://github.com/flask-dashboard), our open-source solution for monitoring and profiling Flask-based web-services. It is trivial to install and configure while providing a rich set of features.
Second year Master student at the University of Groningen. Together with another student and two assistant professors, we started a project in which we monitor the performance of evolving Flask-applications. This project has gained popularity on Github with over 80 stars and over 30.000 downloads on PyPi. See the project at: https://github.com/flask-dashboard/Flask-MonitoringDashboard
Vaex: 1 Billion rows, 1 laptop, serious data scienceMore information
Vaex: 1 Billion rows, 1 laptop, serious data science
Working with datasets comprising millions or billions or samples is becoming an increasingly common task, one that is typically tackled with distributed computing. We will demonstrate how one can attack such a problem using just a laptop while bringing extra value by saving time, costs and manpower. In this talk, we will analyse the entire public database of the New York City Yellow Cab taxi service, containing the data for well over a billion trips. Our live demonstration will showcase how to find which locations are most lucrative for taxi drivers given a certain time of day, how to identify interesting objects or events in the data, as well as build a machine learning model to predict the expected tip amount for a given trip. We will do the entire exploration and analysis in Python using a single laptop, live! All this is possible with Vaex, a DataFrame library with an expected API. It leverages simple but efficient out-of-core algorithms for data visualisation, filtering, cleaning, preprocessing and transformation which are lazily evaluated, together with efficient storage (memory mapped arrow or hdf5). This makes Vaex an ideal tool for working with datasets that would otherwise be too large to fit into the memory of a single computer.
Jovan is a senior data scientists & researcher at XebiaLabs, where he creates predictive models related to DevOps pipelines. Working mostly with Python in the Jupyter ecosystem, he has considerable experience in clustering analysis and predictive modeling. Jovan has a PhD in Astrophysics, is a co-founder of vaex.io, and is interested in novel machine learning technologies and applications.
home automation with python and how to contribute to the communityMore information
home automation with python and how to contribute to the community
Have you ever contribute to a community? Are you ready for the next step in home automation or afraid of using home automation? Get informed how home-assistant can make you live easier and how you can contribute to a community. In the first part of this talk I’m going to talk about what home-assistant is, how you can run it quickly and start hooking up things. In the second part of my talk I will talk about how you can contribute to the communities.
Home-Assistant is completely written in Python3 and have a large growing community. Thanks by the architecture is it very easy to add custom components, that's why there are more than 1310 build in components. You can hook up your ikea tradfri lights, your toon or nest thermostat to you home-automation.
Rolf Berkenbosch, currently working as "specialist infrastructure developer” for Duo (Dienst Uitvoering Onderwijs). He is working for more than 20 years in IT, had several companies, like to automate his whole house, and likes new technologies.
finalfusion: rustic word embeddings for PythonMore information
finalfusion: rustic word embeddings for Python
Word embeddings have drastically changed natural language processing throughout the last five years. Word embeddings represent words as vectors rather than as discrete units, allowing machine learning techniques to exploit similarities between words.
In the first half of this talk, I will introduce the finalfusion Python module. finalfusion supports word representations with subword units to account for words that were not seen in the training data. finalfusion's API allows you to do similarity and anology queries, as well as computing word embeddings for downstream use in neural networks.
The finalfusion Python module is a thin, type-safe wrapper around the rust2vec Rust library. In the second half of this talk, I will dive deeper into the implementation of the module as a real-world example of implementing Python modules in Rust.
I am a researcher at the University of Tübingen. My interest lies the analysis of natural language using deep learning methods such as convolutional and recurrent neural network. I am particularly interested in part-of-speech tagging, topological field analysis, dependency parsing, and phrasal composition. I primarily use Rust and Tensorflow, with some Python for gluing.
Disentangling scientific fields with topic analysis in PythonMore information
Disentangling scientific fields with topic analysis in Python
‘Science of science’ is an emerging transdisciplinary field of research, which uses new computational tools and big data, to provide insight in the characteristics and dynamics underlying scientific research itself. Under its umbrella fall studies of cultural evolution, when a large amount of text data gathered through years of cultural changes in human societies are being analyzed with an artificial intelligence’s toolset. By ‘reading’ through a vast amount of data impossible to be analyzed by a human mind, these methodological frameworks create ground for gaining quantitative insights on questions that were only theoretically and philosophically discussed in the past. In this talk, I‘ll showcase an analysis on the scientific bibliography of the research fields of ecology and evolutionary biology. I'll go through the methodology of topic analysis in Python, using packages for natural language processing, latent dirichlet allocation models, dimensionality reduction and clustering techniques. By taking advantage of the computational advances of text mining, this is just an example from the vast pool of possibilities that machine learning can offer in the effort of better understanding the world around us.
Marina Papadopoulou is a PhD student on Theoretical Biology at the University of Groningen, where she studies computational models of self-organization and complex collective behaviors of social systems. She holds a Bachelor degree of Biology from the Aristotle University of Thessaloniki and a Master of Science on Computational Methods in Ecology and Evolution from Imperial College London. Throughout her studies, she focused on the application of computational tools on natural sciences research, from spatial modelling of wild animal populations, to cultural evolution and birds’ collective escape. Marina is also involved in various side projects, such as a documentary about sustainable agriculture and the organization of the Groningen PhD Day 2019, and supports efforts of promoting women in science and engineering. She mostly speaks in Greek and English, and writes in C++, Python and R.
Embedding the Python interpreterMore information
Embedding the Python interpreter
More and more applications are adding Python support to offer the user a scripting language to interact with. Even Microsoft is considering to officially add Python to Excel. In this talk we will explore how one would go about doing this.
We dive into the CPtyhon internals and build our own simple REPL using Python's C-API. I'll show you some of the quirks and pitfalls I ran into, how you can wrestle the GIL and how to manage global state.
Coming from a background in the hard sciences I found Python relatively late in my career. After working as a C++ dev for a couple of years, Python now offers me all the tools I need as a data scientist / engineer.
How you can use Python to charge your electric vehicle.More information
How you can use Python to charge your electric vehicle.
We are at the start of a new era of mobility: the combustion engine is being replaced by batteries. The load of Electrical Vehicles (EV) in the electrical grid introduces new challenges.
André and Auke will demonstrate how their company, The Mobility House, uses Python 3.7 in smart charging applications. Their company uses their open source implentation of the protocol OCPP to control chargers while charging EVs.
They'll also show how you can control your charger using OCPP with open source Python solutions.
Originated from 2 countries that ruled the seas, Portugal and The Netherlands, André and Python now join forces to try to conquer the world once more...but, using Python, this time.
André is an Electrical and Computers Engineer from Portugal, where he started acquiring experience in the electro-mobility area, working for Siemens, but finally realized that Startups are cooler and decided to embrace a new challenge at TMH.
Auke is an Dutch hobby hacker and electronics enthusiast with a decade of programming experience. He's is author of several open source projects and recently moved to Munich to work in the field of electric mobility.
BayesicFitting. A Toolbox for Bayesian Model Fitting.More information
BayesicFitting. A Toolbox for Bayesian Model Fitting.
BayesicFitting is a collection of more than 100 python classes that can be used to fit models to data. There are over 50 basic model classes that can be combined in several ways to construct compound models. And over 10 fitters that find least-squares or maximum likelihoods. All fitters can calculate the evidence to discriminate between models. The remainder are error distributions, priors and engines to run NestedSampler, the Bayesian way to solve problems. The talk will be about the design of the package, the relations between the classes with plenty of examples how to use it. BayesicFitting is available on GitHub and Pypi.
I have over 40 years of programming experience (fortran, pascal, C, java, python) in the area of space based astronomy at SRON (Space Research of the Netherlands). Mostly I was involved in the calibration of instruments on board of satellites. Modelling is an integral part of it. From 2000 I developed a fitting package in JAVA for the Herschel satellite of ESA. All my past fitting experiences and needs I have tried to address in it. After my retirement in 2014 I have rewritten this package into python. It became BayesicFitting.
File system caching: a backend implementation for dogpile.cacheMore information
File system caching: a backend implementation for dogpile.cache
Dogpile.cache is a library that provides caching primitives and it natively supports backends like Memcached, Redis, and a simple file system implementation. In Paylogic, we needed a more advanced file system implementation, and eventually, we wrote our own file system backend.
In this talk, I will briefly introduce the dogpile.cache architecture, discuss the limitations of the native file system backend and why at Paylogic we decided to implement a more advanced backend.
In this journey, we will explore some of the less-used file system locking primitives of *nix systems and how we (ab)used them, the difficulty of testing when concurrency is involved and some lessons learned during the development. We will also see some python WTFs about file objects.
Passionate Python software engineer working at Paylogic.
PyGrunn will take place on May 10th at Groninger Forum, the old Forum Images building, in Groningen.
Groninger Forum is a cultural living and working environment. A place where artists, creative people, entrepreneurs and enthusiasts can meet. A perfect spot for PyGrunn! It is a 3-minute walk from the central train station and in the heart of the city.
This year's RFP is closed and all the speaker slots are filled. Please try again next year since we'd love to hear from you! Please mail any questions and/or remarks regarding the RFP to email@example.com .
Pygrunn is made possible through the efforts of volunteers, speakers and participants, but also by the financial support of a growing number of sponsors. With your contribution, within five years, Pygrunn has become the largest and most visited Python Conference in the Netherlands.
With more than 200 participants and international speakers, for one entire day, Groningen can call itself the Python capital of the Netherlands. Your contribution would give PyGrunn a solid financial base in order to achieve everything mentioned above.
With your contribution, we can:
If you are interested and wish to get more information, then please contact us via firstname.lastname@example.org.
PyGrunn is the largest conference in The Netherlands dedicated to Python and Friends. PyGrunn has always been a special gathering for enthousiasts and for those who wish to share their knowledge and passion about Python and related technologies. Its purpose is to provide a pleasant experience to every attendant. We are both excited and proud to present our sponsors, a list of former PyGrunn speakers and (if present) their recorded talk, and a few photographic moments of the latest edition of PyGrunn.
At PyGrunn, we don't believe in the need for a formal code of conduct, as there should be no need to codify good behaviour. We expect everyone to behave with common decency and we expect that everyone is treated with equal respect. PyGrunn staff will take any measures necessary to uphold these golden rules of life.
Your company could be here!
Devhouse Spindle is on a mission to connect the world using open and free communication. Almost 60 colleagues are working daily on smart tools that make efficient and personal communication possible. With a love for open source software, an experimental organization model, and an international team of coworkers, Spindle is an ever-evolving and inspiring place to be.
Media2B develops software solutions that allow users to express their wish for an experience in the way they prefer. Using any combination of words, pictures, videos, sketches, music, or whatever they can express what they would like. Our software interprets this message and generates the experience. Whether the experience is purely digital, purely physical, or a mix, that is up to the user. Using the latest advances in AI and software engineering our tools make it super easy and comfortable for end users to turn their wishes into reality. No need for a middleman that interprets the wishes and constructs the experience. It is completely automated. This is more powerful, easier and avoids mistakes and misunderstandings.
Hugo, a Fanbase and (email) Campaign Management platform for Organizers of Events and Festivals to measure expectation, experience and involvement of (potential) event visitors.