Anthony Shaw

<insert something witty here>

About me

I'm an English expat living in Avoca Beach, Australia. I'm a proud father of 3 girls and strive to be an active, engaged and responsible member of both my local community and the broader open-source tech community.

I work for Dimension Data, a global services company as their group director of innovation and technical talent. All that means is I care about our people having the best skills to pursue future careers in the ever-changing world of tech.

I Tweet often, blog frequently and speak seldomly. All of my research and tinkering is Open-Source, I'm an active member of some large open-source projects as well as maintaining my own.

Projects I author


Plugin for pytest that makes it simple to work with Azure Pipelines.


A Python application for tracking, reporting on timing and complexity in Python code.


A plugin for Tox to leverage Pipenv instead of Virtualenv


A Python PEP explorer GUI


A confluence wiki markup builder plugin for Sphinx


Pathgather client library for API management of content, users, gatherings, paths and other.


Pluralsight client library for API management of licenses, users and reports.


A client library for Workday Web Services.

Skype for Business (UCWA) SDK

A Python package for interfacing to and controlling Skype for Business on Office 365 via the UCWA (unified comms web API). Perfect for bots.

Yammer API SDK (2)

Yampy 2 is a Python library extending the original official Yampy package with a number of improvements and updates. I created this project because the official package has not been updated in 3 years and pull-requests are not being merged.


A proof-of-concept imitation of Docker, written in 100% Python. Using Kernel Namespaces, cgroups and network namespaces/iproute2 for Linux.


A ScienceLogic EM7 API client for Python


A Python client library for Cisco Network Services Orchestrator (previously tail-f)


A Python class wrapper for winexe, a Linux binary for remote system RPC/RDP calls for Windows.


An anti-recommendation pattern for Twitter.


A mocking plugin for requests, binding to static fixtures in a local directory


This is the Cisco Spark adapter for Hubot that allows communication in Spark channels.


A StackStorm API client for C#.NET including a PowerShell module

Projects I contribute to



Podcast.__init__ (episode 195) - Counteracting Code Complexity With Wily

As we build software projects, complexity and technical debt are bound to creep into our code. To counteract these tendencies it is necessary to calculate and track metrics that highlight areas of improvement so that they can be acted on. To aid in identifying areas of your application that are breeding grounds for incidental complexity Anthony Shaw created Wily. In this episode he explains how Wily traverses the history of your repository and computes code complexity metrics over time and how you can use that information to guide your refactoring efforts.

Talk Python to Me (episode 180) - What's new in Python 3.7 and beyond

The Python core developers recently released Python 3.7 and are now busy planning what's coming in 3.8. That makes right now a great time to dig into what was included in Python 3.7 and what's on deck for the next great release of CPython. This week we have Anthony Shaw back on the podcast to tell us all about it.

TechKnow Podcast - "Jobs of the future"

Memory surgeons, 3D human tissue printing, space pilot…What jobs are on the horizon and how can you prepare for what’s coming? Anthony Shaw, Director of Talent Management and Development at Dimension Data, is back on the podcast to give us the lowdown.

Test and Code (episode 46)

How do you write tests for things that aren’t that easy to write tests for? That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw. Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.

TechKnow Podcast - "Should you learn to code?"

Should you learn to code? Anthony Shaw, Director of Learning and Development and coding guru at Dimension Data answers the question and gives us the lowdown on why coding can help you expand your mind and career.

Talk Python to Me (episode 168)

Do you write Python software that uses the network, opens files, or accepts user input? Of course you do! That's what almost all software does. But these actions can let bad actors exploit mistakes and oversights we've made to compromise our systems.
Python is safer than some languages, but there are plenty of issues to be careful about. That's why Anthony Shaw and Anthony Langsworth are joining me to discuss Python security.

Test and Code (episode 41)

We talk about some of the testing problems facing both DevOps teams, and Agile teams. We also talk about my recent pull request accepted into pytest.

Talk Python to Me (episode 155)

Since 2008 there has been this tension in Python where the much of the effort to improve Python has been on Python 3 whereas many developers were left stuck on Python 2 primarily because important packages were not yet Python 3 capable. We've moved into a new era where most packages anyone uses is fully Python 3 enabled and many are Python 3 only (the latest Django framework for example). There are many carrots and a number of heavy sticks encouraging us all to move to Python 3. But what if you have a large code base that needs to be migrated? What are the concrete steps and the gotchas in this whole process? This week, we welcome back Anthony Shaw to show. He just published a new course on migrating Python 2 code and he's here to share his tips.

Talk Python to Me (episode 132)

Are you new to open source? Maybe been using it for a long time and never got around to contributing to it? Wondering how to get started? In this episode, you'll meet Anthony Shaw, Dan Bader, and Ronald Maravanyika. All of these guys have been successful open source developers. I speak with them about how to find a welcoming project and what you need to know to get started. We also cover what open source project maintainers can do to help attract new and experienced contributors.

Podcast.__init__ (episode 55)

More and more of our applications are running in the cloud and there are increasingly more providers to choose from. The LibCloud project is a Python library to help us manage the complexity of our environments from a uniform and pleasant API. In this episode Anthony Shaw joins us to explain how LibCloud works, the community that builds and supports it, and the myriad ways in which it can be used. We also got a peek at some of the plans for the future of the project.

Developer on fire (episode 167)

Anthony Shaw talks with Dave Rael about thinking before coding, being lit up on innovation, inspiration, and mental health.

FLOSS Weekly (episode 373)

Libcloud was originally developed and open-source in 2009 by folks at Cloudkick. It was developed to solve a problem of talking to multiple different cloud provider APIs, and to make it easy for developers to build products that work between any of the services that it supports.

Conference Talks

PyCon, Melbourne, Australia

When the authors of Docker first started, they wrote the Docker daemon in Python. This was later switching for Go, but why? This talk will cover mocker, a container runtime Anthony wrote to understand Docker by rewriting its basic functions in 100% Python. Anthony will walk through how to write a Docker daemon in Python whilst applying it to real problems. Whilst the tool might not be production ready, it demonstrates some patterns, libraries and ideas for working with Docker containers from Python.

SaltConf, Salt Lake City, UT

A SaltConf16 use case talk by Anthony Shaw of Dimension Data. Enterprise IT organizations are used to having a catalogue of their software, configurations and infrastructure an IT service management (ITSM) system of record. All that changed when continuous deployment, self-service cloud portals and APIs came along. IT organizations that rely on people and process, instead of automation, struggle to record servers and services that exist in a fluid, fast-moving cloud. Learn how SaltStack Enterprise integrated with ServiceNow can help enterprise IT leverage more cloud services and keep track without losing the automation that DevOps teams have grown to depend upon.

Autoremediation Meetup, Santa Clara, CA

Anthony Shaw from Dimention Data talks at Auto Remediation and Event Driven Automation meetup about the DevOps journey, challenges of automating large heterogeneous infrastructure, and use of event-driven automation with StackStorm to solve some of these challenges.