Puppet provider for python library installation

We run a python/Tornado-based recommendations service behind the scenes at Wayfair.  As part of our code deployments, we need to install various third-party libraries to our Tornado servers. The python tools that do this kind of thing are a bit half-baked, so we paper over their inadequacies with puppet.

A while back a fellow name Richard Crowley wrote a puppet-pip provider, which seems to have been folded into Puppet 2.7, or replaced by a module in Puppet 2.7, or something like that. So in a sense his little project is dead. But Karthick on our team has resurrected a fork of it, a hybrid provider using subcommands of setuptools (easy_install) and pip for different aspects of installation, version checking and uninstallation. We call it easypip (easypip.rb), and the forked project containing it is now up on github.  Enjoy!


If this type of thing interests you, please visit our careers page, and join the team!

2 thoughts on “Puppet provider for python library installation

  1. Richard Crowley’s original pip provider, which our thing is based on, has been absorbed into Puppet 2.7. Our fork does things a little differently, and is in our humble opinion more useful: it uses easy_install to install eggs, which pip doesn’t do, so we don’t have to install build tools on our production servers. And it uses pip to check version numbers and uninstall, which pip is good at.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>