Page

User

The Melbourne Python Users Group

The Melbourne Python Users Group normally meets on every first Monday of the month (except January).

The Melbourne Python Users Group meetings are organised by the community itself. The ongoing organiser is Ed Schofield. Other organisers past have included Juan Nunez-Iglesias, Javier Candeira, Graeme Cross, Tennessee Leeuwenburg, and Richard Jones.

If you would like to give a talk at an upcoming event, please email ed@pythoncharmers.com or the mailing list!

Mailing List

We also communicate about the meetings and about anything Python via our mailing list.

Newcomers are always welcome to attend or write to the mailing list, we're a friendly bunch!

We have a policy about job offers on the mailing list:

As long as it's a Python-related job offer by the hiring company and not by an intermediary recruiter, you can just send it to the mailing list.

If it's not Python-related, or the poster of the job ad is a recruiter who won't mention the company that will be doing the hiring, please just use Seek or Monster, and don't write to the mailing list.

Code of conduct

Though we are not affiliated with Linux Australia or Pycon AU, we've chosen to follow their Code of Conduct for our meetings. Not because we've ever had any problem in the past, but so that we know what to do if any problem should arise in the future.

Meeting topics

If you're not sure on a topic, or don't want to give a presentation, perhaps you could give us an idea of topics or areas that you would like to hear about - that way we can encourage people who have that particular area of expertise, but who might be wavering. Some topics that have been suggested are:

Previous Meetings & Topics

Talks:

1. Janis Lesinskis: CPython internals (~30 minutes)

Janis will talk about how Python (CPython) manages its underlying memory. It's an overview of how Python objects end up represented in memory. This covers the concepts of stack frames and Python objects and how CPython manages the memory that these use via reference counting.

2. Nathan Faggian: Using Google Cloud with Python (~25 minutes)

Nathan will talk about AI/ML and walk through a cool platform called cloud ML engine. We will also have a look at Colab - Google's free Jupyter notebook environment.

Talks:

Dash is a framework for building modern data-driven web-apps in Python. In this talk, Ned will describe how Dash builds on Flask, React, and Plotly.js to provide a platform for Python developers to build analytical web applications, without requiring any JavaScript. I'll also walk through some example Dash apps, showing how it can be used for rapidly building production-grade custom dashboards as well as prototyping proof-of-concept interfaces.

2. Sam Bourne: Leveraging type annotations (~25 minutes)

Sam will talk about the use of type annotations at VFX company Luma Pictures for helping us avoid mistakes in a large shared codebase. He will showcase PyCharm's wonderful static type checker and give a demo of how you can generate dynamically created user interfaces (in Qt) by inspecting types.

Talks:

1. Peter Degorski: Weather, Energy, and Python (~30 minutes)

"Energy Analytics is a new industry which Victoria is well positioned to lead in. Python is one of the wonderful tools that are adaptable enough to keep up with the enormous fast paced change. Pvlib-python and windpowerlib are great open source python tools used to model and study utility scale modules and wind turbines. Both are highly customisable. These two renewable energy modelling packages can run stand-alone and with some effort can be adapted to run on historical weather datasets. Doing this can help with the analysis of correlations in the wind/solar generation portfolio of Victoria. Python was the perfect package for this type of project; in my case it was used end to end; from downloading of the data to data modelling, analysis and ultimately visualisation."

Talks:

Python can be used for a vast range of tasks like web development, data science and machine learning. With MicroPython, embedded development can now be added to the domains in which Python excels.

Come along and listen to the creator of MicroPython - and two converts! - explain why the language was created and how it manages to run on resource-constrained microcontrollers. Demonstrations will showcase effective applications for the language and explain why MicroPython is compelling in the embedded space.

Note: There will be time, during or after pizza, to ask questions and tinker with some hardware. Bring a laptop if you'd like to play with a microcontroller!

Talks:

Many of us encounter authentication protocols as a side effect of just trying to get things done. The simple task of accessing data from a client API or integrating with a third parties balloons out into a yak shaving session filled with obtuse authentication failure messages. Rory will walk through a number of scenarios involving OpenID Connect and offer practical guidance on productively using Python to work with OpenID Connect.

Talks:

Ruslan, a Research Assistant and PhD student at the Big Data Institute at Shengzhen University, will describe his research in GraphFrames and his experiences with JupyterHub and Apache Spark for supporting teams with shared computing infrastructure.

Michael has founded or worked for around a dozen e-commerce and logistics companies in Australia and Asia-Pacific that base their operations entirely on Python. He will describe some amazing success stories of Python adoption in automating various business processes. He will also describe workflow tools for ensuring sites are tested, robust, and production-ready in a short period of time.

Talks:

1. Graeme Cross: From "Glue it" to "Ship it" (~25 minutes)

Python is an excellent language for rapidly prototyping ideas, and is very well suited to gluing together different tools, libraries and frameworks into a cohesive prototype. However this doesn't always map well into a robust production code base for an application that is shipped out to paying customers.

This presentation will cover a checklist of considerations to factor into your project before you dive into your prototype to help make life easier, budgets lower, schedules shorter, lawyers poorer and customers happier when your well-received prototype then has to be shipped.

This is a beginner- to intermediate-level walk-through of a real-world project that uses Django and specifically its Admin interface.

The Django Admin was originally billed as being "production ready" code but this was watered down in the Django docs a couple of years ago. Mike's SharedSDS project is in production and he will explain in this talk why he thinks the Admin is magnificent.

3. Ed Schofield: What's New in Python (15 minutes)

Ed will give a brief run-down of new developments in the Python ecosystem in recent months.

Talks:

Fred will give a refresher (for those who missed his talk in February) and then pick up where he left off last time, with various fancy demos of what's possible with Hierarchical Temporal Memory for learning patterns powerfully from small(ish) datasets.

2. Adel Fazel: Web data wrangling for beginners (20 minutes)

Adel will give an introductory talk about using Python for data wrangling, accessing web APIs, parsing JSON data, and manipulating it with Pandas. He will demonstrate this by accessing the New York Times API.

3. Ed Schofield: AlphaZero - background, how it works, and a general Python implementation (20 minutes)

AlphaZero is a major recent advance in self-play-based reinforcement learning from DeepMind that can learn complex 2-player strategy games like Go and Chess from scratch (with no human knowledge) and quickly surpass human capabilities. Ed will review the algorithm, how it works, what its future applications could be, and a general-purpose Python package for implementing it.

Talks:

1. Robert Lechte: "Your database migrations are bad." (25-30 minutes)

It's really hard to work with database schemas. But schemas are actually good. The trouble is that people get frustrated with the tooling. Existing migration tools (alembig, django migrations etc.) all make it far too hard. Every change is a chore when you have to worry about version numbers and migration files each time. It's tedious, manual, error-prone, and hard to test.

Fortunately, we can do better! Using Python and PostgreSQL, we'll discuss a radically different approach to managing schema migrations, using new tools and workflows to make it much faster, mostly automatic, fully testable, and more reliable."

Bio: Robert created the data warehousing for New Zealand's supercomputing infrastructure, then worked for the Digital Transformation Agency in Sydney. He has been writing Python tools to make working with databases more pleasant.

Python wasn't particularly popular in Israel until recently but has exploded in popularity in the last 1-2 years. Fred attended PyCon Israel this year and was surprised at how large the community there is now. He will talk about the event, Python uptake in general, and give highlights from the event.

3. Ed Schofield: publishing with Python (25-30 minutes)

Python has long had Sphinx for generating high-quality technical documentation from reStructuredText (ReST). Many projects have more recently adopted one of many flavours of Markdown as a simple, flexible format, while Jupyter notebooks have taken the Python world by storm. This talk will give an overview of the impressive set of tools in R for publishing (knitr, Rmarkdown) and compare what the Python ecosystem has to offer.

"In this talk, I will discuss how the Internet of Things is applied in Python at the moment and how it has progressed so far. This will be complemented by examples through some of my own experiences in projects involving the concept. One example of the practice that I will show is its use is through libraries created via TCP / IP connections to generate data collected from devices placed in other locations - and in this practice - measure environmental parameters in the environment through the Raspberry Pi. From here I will also discuss how other third party IoT services such as Amazon Web Services or ThingSpeak can also connect and manage smart devices from there, utilizing the MQTT protocol. Next I will talk more about how this is very useful from the point of view of consumers, and how the methodology of its use can be developed with code architecture in Python. After that, I will discuss the future of this IoT concept for Python, how I see this concept will grow on this platform, and future developments that can still be done at this time."

2. Andrew Peel: All about locking: the why, what, and how.

What to do for a thread-safe file system and how ScramFS implements locking.

Ed Schofield - Towards solving the Python 2/3 split with the past package: when backward compatibility is more important than forward compatibility, and how Python 3.x can run Python 2.x code automatically

August meeting - Cancelled for Pycon AU: Monday, 3 August 2015: no meeting

We will send email to the list if we organise an August meeting later in the month. For the time being, no meeting in August.

Two different problems can be solved with Python: One is bioinformatics itself, ie analysis, using libraries like biopython. The other is pipelining: automating analyses on HPC clusters in a way that makes them manageable even when there are many files and the analysis keeps changing.

Lex Hider -- Salt: How to be truly lazy.

If you're too lazy to install, configure and run commands on your own servers: let Salt do it for you. Salt is an open source configuration management tool like Chef or Puppet but written in Python using ZeroMQ.

Unfortunately Mark Atwood has had to cancel his appearance due to travel problems. With most regulars still on holidays and limited response to a call for alternative presentations, this meeting has regrettably been cancelled.

"Platform as a Service" or PaaS is a popular buzz-word in Cloud Computing. But what does it mean, and how can you use it? OpenShift by Red Hat is a free-as-in-beer and soon to be free-as-in-speech PaaS platform that supports several open-source application server environments, including JavaEE6, Python, Ruby, PHP, and Perl. This demo will show you how to sign up for OpenShift, install and use the command-line tools to create an application, and how to use git to download, modify, and upload your own WSGI and Python applications. You can use your WSGI framework of choice, including Django, Flask, and Bottle.

Monday 5th December 2011

5 minute talks

parse() - Richard Jones

15 minute talks

behave - Benno Rice, with Richard heckling

Using AI and Python to do badly in competition rock-paper-scissors (and other cool things)

Inspire9 will be generously hosting this and subsequent meetings, and drinks will be generously provided by Python Charmers.

Javier Candeira: Driving Gimp with Python: The Good, the Bad and the Beautiful

Monday 2nd May 2011

5 minute talks

Richard Jones: Porting to Python 3

Ryan Kelly: Django on DotCloud - from zero to deployed in five minutes

20 minute talks

Alec Clews: Introduction to Programming with Python.

I'd like to quickly shoot through an outline presentation/workshop I am giving at Linux Users Victoria Beginner's Workshop later in May, I am not a Python programmer but I'm presenting a 2-3 hour workshop for programming neophytes and currently I think Python is the language of choice.

Source code including unit tests, (aged) test files and py2exe setup.py are at http://svn.pczen.com.au/repos/pysrc/gpl3/filemov - userid = public (no password). Drop me a line if you can contribute improvements and would like write access to the repo. Performance needs attention!

Martin Schweitzer "Primetime Wordfinding"... It's a rather novel algorithm that I (re)discovered(?)* for finding word matches when given a group of letters (eg. think of the puzzle in the age where you have a grid with 9 letters and have to find words). I then noticed that it had applications to other fields such as bioinformatics (which I won't go into in the talk [unless, of course, there is a particular interest]). It also has a very nice representation in Python - which I will mention.