PyCon Singapore 2019 Tutorials

This year, PyCon Singapore features six exciting tutorials! As in previous years, these tutorials are not part of the main conference. This means, if you would like to attend these tutorials, you need to purchase a separate ticket for each tutorial that you want to attend.

Each tutorial will run about three hours with a thirty minute tea break in between. At noon, we will serve buffet lunch for all participants.

Morning Tutorials

Morning tutorials run from 10am to 1pm on Saturday, October 12.

Webscraping Using Selenium, Beautifulsoup and APIs

by Hui Xiang Chua

Webscraping is particularly useful when we would like to extract data off the web into formats that are suitable for analysis.

In this tutorial, we will make use of libraries such as Selenium and BeautifulSoup as well as APIs to perform webscraping.

Participants should be at least familiar with the basics of Python programming. The tutorial is fully hands-on and requires participants to bring their own laptops.

Developing Arcade Games with Python

by Yue Lin Choong

In this tutorial, we will dive into the popular PyGame library.

First we will learn about basic arcade game architecture:

  • Game loops
  • Game stats
  • Game objects
  • Game play

Then we will actually implement a Typing Tutor Game

  • Game logic
  • User actions
  • Falling words
  • Cityline

In the end, we will have a complete project and will discuss possible next steps.

Optimizing Deep Learning Training Performance in TensorFlow

by Timothy Liu

This workshop will be an introduction to using TensorFlow 2.0 and how to optimize your model training for speed without sacrificing quality.

It would be good if attendees have some Python and Machine Learning awareness, but this workshop will be suitable for beginners as well. However, this will not be a “Introduction to Machine Learning Theory” workshop.

Participants are required to bring their own laptop with a web browser.

Slides and code examples will be made available during and after the workshop.

A. Introductory section (~1h)

  • Brief introduction to Deep Learning
  • Brief introduction to tf.keras as the new high-level API in TensorFlow 2.0
  • Introduce hardware accelerators such as GPU and TPU
  • Basic tips on improve training performance, including better input pipelining with
  • Code sample (Colab/Jupyter notebook)
  • 1st half Q&A

B. Improve TF performance with XLA (~30 min)

  • Introduce XLA (Accelerated Linear Algebra)
  • Code sample (XLA with tf.keras in TF 2.0)

C. Improve TF performance with mixed precision (~30 min)

  • Introduce the idea of mixed precision
  • Introduce the Automatic Mixed Precision (AMP) feature in TF 1.14 and TF 2.0
  • Code sample (AMP with tf.keras in TF 2.0)

D. Putting everything together (~30 min)

  • Demonstrate how to use, XLA and AMP to create highly optimized deep learning training pipelines to train models faster
  • Code sample (Colab notebook)
  • Efficient Distributed Training with Horovod
  • final Q&A

Afternoon Tutorials

Afternoon tutorials run from 2pm to 5pm on Saturday, October 12.

Building a Blockchain in Python

by Carine-Belle + Yonatan

We will build a working blockchain with all the basic functionality, and deploy our own currency, pyconCoin - from scratch.

Let’s take a complicated topic, break it up into simple building blocks, and connect the dots in our favorite way - by implementing them in Python.

It's incredibly cool to see how easy it is to create things that sound relatively complex.

No understanding in blockchain is needed for this talk.

Kubernetes and Best Practices for Using Containers

by Graham Dumpleton

This will be a workshop in two parts. The first part of the workshop will step you through the fundamentals of deploying applications to Kubernetes. The second part of the workshop will go through best practices for building container images for deployment to both Kubernetes and other container runtimes such as Docker.

In the Kubernetes part of the workshop it will cover key Kubernetes features such as deployments, services, routing, logging, configuration, debugging etc, plus linking together applications, such as using a database with a front end web application.

In the second part of the workshop on building container images, it will cover best practices such as not running as root, being able to run as any user ID and how to setup file system permissions correctly, use of Python virtual environments, dealing with web servers/applications that don't reap child processes correctly, how to configure applications, how to ensure that a base container image is extendable and various other topics.

In both parts of the workshop, web applications used as examples will be implemented in Python. When building the container image, Python web applications will be deployed using mod_wsgi-express but discussion of other methods for hosting Python web applications will also be discussed.

For the workshop, an online hosted environment will be provided for attendees to use. Attendees will require a laptop to work with, using Chrome or Firefox browsers, but will not need to install anything locally. Everything will be done through the web browser using the hosted environment provided. Wifi access to the internet will be required.

Drone Programming with Tello EDU

by BuildingBloCS students

Computing students from BuildingBloCS schools present an introductory programmng course in using Python to connect and and control a Tello EDU drone using User Datagram Protocol (UDP). The main focus is to learn about computational thinking concepts such as decomposition, abstraction, pattern recognition and algorithm design, as well as the relationship between hardware and software. Participants will appreciate these ideas in any problem solving context beyond drone flying.

Participants should have basic familiarity with Python i.e. variables, data types, conditionals, loops, arrays and functions. There is a class size limit of 40 participants. Tello EDU drones will be provided during the tutorial on a pair sharing basis. This is a BYOD workshop.

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Bronze Sponsors


PyCon Singapore is a conference about the programming language Python. It is a community effort driven by the members of the Python User Group Singapore.

When & Where

October 10 - October 12 2019

Republic Polytechnic, Woodlands