Forge Home

python

Puppet module for Python

15,513,533 downloads

1,460,609 latest version

3.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.19.0 (latest)
  • 1.18.2
  • 1.18.1
  • 1.18.0
  • 1.17.0
  • 1.16.0
  • 1.15.0
  • 1.14.2
  • 1.14.1
  • 1.14.0
  • 1.13.0
  • 1.12.0
  • 1.11.0
  • 1.10.0
  • 1.9.8
  • 1.9.7
  • 1.9.6
  • 1.9.5
  • 1.9.4
  • 1.9.3
  • 1.9.2
  • 1.9.1
  • 1.9.0
  • 1.8.3
  • 1.8.2
  • 1.8.1
  • 1.8.0
  • 1.7.16
  • 1.7.15
  • 1.7.14
  • 1.7.13
  • 1.7.12
  • 1.7.11
  • 1.7.10
  • 1.7.9
  • 1.7.8
  • 1.7.7
  • 1.7.6
  • 1.7.5
  • 1.7.4
  • 1.7.3
  • 1.7.2
  • 1.7.1
  • 1.7.0
  • 1.6.6
  • 1.6.4
  • 1.6.3
  • 1.6.2
  • 1.6.1
  • 1.6.0
  • 1.5.0
  • 1.4.0
  • 1.3.1
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.9
  • 1.1.8
  • 1.1.7
  • 1.1.6
released Oct 19th 2013
This module has been deprecated by its author since Jun 27th 2018.

The reason given was: This module has been adopted by Vox Populi.

The author has suggested puppet-python as its replacement.

Start using this module

Documentation

stankevich/python — version 1.1.6 Oct 19th 2013

puppet-python

Puppet module for installing and managing python, pip, virtualenvs and Gunicorn virtual hosts.

Version 1.1.x Notes

Version 1.1.x makes several fundamental changes to the core of this module, adding some additional features, improving performance and making operations more robust in general.

Please note that everal changes have been made in v1.1.x which make manifests incompatible with the previous version. However, modifying your manifests to suit is trivial. Please see the notes below.

Currently, the changes you need to make are as follows:

  • All pip definitions MUST include the owner field which specifies which user owns the virtualenv that packages will be installed in. Adding this greatly improves performance and efficiency of this module.
  • You must explicitly specify pip => true in the python class if you want pip installed. As such, the pip package is now independent of the dev package and so one can exist without the other.

Installation

cd /etc/puppet/modules
git clone git://github.com/stankevich/puppet-python.git python

Usage

python

Installs and manages python, python-dev, python-virtualenv and Gunicorn.

version - Python version to install. Default: system default

pip - Install python-pip. Default: false

dev - Install python-dev. Default: false

virtualenv - Install python-virtualenv. Default: false

gunicorn - Install Gunicorn. Default: false

class { 'python':
  version    => 'system',
  dev        => true,
  virtualenv => true,
  gunicorn   => true,
}

python::pip

Installs and manages packages from pip.

ensure - present/absent. Default: present

virtualenv - virtualenv to run pip in. Default: system (no virtualenv)

url - URL to install from. Default: none

owner - The owner of the virtualenv to ensure that packages are installed with the correct permissions (must be specified). Default: root

proxy - Proxy server to use for outbound connections. Default: none

environment - Additional environment variables required to install the packages. Default: none

egg - The egg name to use. Default: $name of the class, e.g. cx_Oracle

install_args - Array of additional flags to pass to pip during installaton. Default: none

uninstall_args - Array of additional flags to pass to pip during uninstall. Default: none

python::pip { 'cx_Oracle':
  virtualenv    => '/var/www/project1',
  owner         => 'appuser',
  proxy         => 'http://proxy.domain.com:3128',
  environment   => 'ORACLE_HOME=/usr/lib/oracle/11.2/client64',
  install_args  => ['-e'],
}

python::requirements

Installs and manages Python packages from requirements file.

virtualenv - virtualenv to run pip in. Default: system-wide

proxy - Proxy server to use for outbound connections. Default: none

owner - The owner of the virtualenv to ensure that packages are installed with the correct permissions (must be specified). Default: root

src - The --src parameter to pip, used to specify where to install --editable resources; by default no --src parameter is passed to pip.

group - The group that was used to create the virtualenv. This is used to create the requirements file with correct permissions if it's not present already.

python::requirements { '/var/www/project1/requirements.txt':
  virtualenv => '/var/www/project1',
  proxy      => 'http://proxy.domain.com:3128',
  owner      => 'appuser',
  group      => 'apps',
}

python::virtualenv

Creates Python virtualenv.

ensure - present/absent. Default: present

version - Python version to use. Default: system default

requirements - Path to pip requirements.txt file. Default: none

proxy - Proxy server to use for outbound connections. Default: none

systempkgs - Copy system site-packages into virtualenv. Default: don't

distribute - Include distribute in the virtualenv. Default: true

owner - Specify the owner of this virtualenv

group - Specify the group for this virtualenv

index - Base URL of Python package index. Default: none

python::virtualenv { '/var/www/project1':
  ensure       => present,
  version      => 'system',
  requirements => '/var/www/project1/requirements.txt',
  proxy        => 'http://proxy.domain.com:3128',
  systempkgs   => true,
  distribute   => false,
  owner        => 'appuser',
  group        => 'apps',
}

python::gunicorn

Manages Gunicorn virtual hosts.

ensure - present/absent. Default: present

virtualenv - Run in virtualenv, specify directory. Default: disabled

mode - Gunicorn mode. wsgi/django. Default: wsgi

dir - Application directory.

bind - Bind on: 'HOST', 'HOST:PORT', 'unix:PATH'. Default: unix:/tmp/gunicorn-$name.socket or unix:${virtualenv}/${name}.socket

environment - Set ENVIRONMENT variable. Default: none

template - Which ERB template to use. Default: python/gunicorn.erb

python::gunicorn { 'vhost':
  ensure      => present,
  virtualenv  => '/var/www/project1',
  mode        => 'wsgi',
  dir         => '/var/www/project1/current',
  bind        => 'unix:/tmp/gunicorn.socket',
  environment => 'prod',
  template    => 'python/gunicorn.erb',
}

Authors

Sergey Stankevich Ashley Penney Marc Fournier Fotis Gimian