The Melbourne Python User Group had a good turn out for the May meeting with about 30 people coming along for a night of talks followed by discussion over pizza and beer.
Talk 1: Ansible
Javier Candeira walked us through the basics of Ansible, a Python-based systems deployment/configuration/management tool that is similar to tools like Chef and Puppet.
It has a number of advantage over similar tools:
- It is Python-based, but you can write modules in other languages
- It is serviceless, only requiring SSH, so no extra ports or PKI
- It uses plain text files, no database
- Root isn’t require, you can use sudo
Ansible uses Jinja2 for templating and has some neat concepts around modules and “playbooks”, which are collections of “actions”, written in YAML with a natural language interface.
Along the way, Javier also touched on Cobbler (from Redhat), paramiko (SSH in python) and fireball.
If you want more to find out more about Ansible, start with the presentation from Jan-Piet Mens (PDF).
Talk 2: Nose of Yeti
Stephen Moore talked about Nose of Yeti, his rspec-like testing DSL for nose. It uses Python’s file encoders/decoders to modify Python files, translating the DSL into Python code for testing.
Other modules discussed included PyVows (a BDD framework for Python) and fudge (for mocks and stubs).
Talk 3: Deploying Python programs on Debian
Michael Cooper walked us through methods for packaging Python programs for deployment on Debian, covering setuptools, virtualenv, pip, stdeb, dpkg-build and upstart.
I wasn’t aware of stdeb, which builds Debian source packages from Python packages.
The presentation can be found here.
The June meeting
The next MPUG meeting is this coming Monday, 3rd June, 6pm at Inspire9, 1/41 Stewart Street, Richmond.