Skip to content


Subversion checkout URL

You can clone with
Download ZIP
poni - a systems configuration software
Python Shell Other
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
debian debian package: refactor package generation
poni pylint: disable a couple of warnings
tests python 3 compatibility: don't rely on unicode/str/bytes/int/long
.gitignore draft Makefile targets and resource files for debian packaging
.travis.yml Release Poni 0.8
LICENSE changed the license to Apache 2.0
Makefile debian package: refactor package generation
README.rst setup, version, doc and travis: python 3 compatibility debian package: refactor package generation
poni.spec rpm package: build a python3 package
pylintrc tests: silence more pylint warnings
setup.cfg initial version setup, version, doc and travis: python 3 compatibility setup, version, doc and travis: python 3 compatibility


Poni readme


Poni is a simple system configuration management tool implemented in Python.

General Information

source repo:
email:mika dot eloranta at gmail dot com
bug tracker:
build status:BuildStatus


Installing and operating Poni requires:

  • Python 2.6, 2.7 or 3.4 or greater
  • setuptools installed
  • Internet connection for downloading the dependency Python packages from PyPI

Using Amazon EC2 requires setting the following environment variables:

export AWS_ACCESS_KEY_ID=<your aws access key>
export AWS_SECRET_ACCESS_KEY=<your aws secret access key>

Additionally, running the included automated tests requires:

Building HTML files from the included ReST documentation requires:


NOTE: during installation the following package and its dependencies are automatically installed from PyPI:

  • Argh (command-line argument parsing)

Installing the following Python libraries will add optional functionality:

  • Cheetah (text-based templating language)
  • Genshi (XML-based templating language)
  • Mako (text-based templating language)
  • Paramiko (Remote node control using SSH)
  • GitPython (Version controlling the repository with Git)
  • Boto (Amazon EC2 virtual machine provisioning)
  • pyvsphere (VMWare virtual machine provisioning)
  • libvirt-python (libvirt virtual machine provisioning)
  • lxml (libvirt provisioning dependency)
  • dnspython (libvirt provisioning dependency)
  • PyDNS (used if dnspython isn't available)

Installation using pip or easy_install

Poni can be installed from Python Package Index (PyPI) by running pip install poni or easy_install poni.

Manual Installation steps

  1. Unpack the poni-v.vv.tar.gz package
  2. cd poni-v.vv/
  3. python install

Verifying the installation

  • You should be able to import poni from Python
  • The poni command-line tool is installed (to a platform-specific location), try running poni -h for help
  • Running automated tests: make tests


Please refer to the documentation under the doc/ directory (published at and to the example systems under the examples/ directory.


Thanks for the contributions!

  • Oskari Saarenmaa (features)
  • Santeri Paavolainen (fixes)
  • Lakshmi Vyas (new features for AWS-EC2 support)
  • Lauri Heiskanen (enabling pseudo-tty)
  • F-Secure Corporation (major improvements, VMWare vSphere and libvirt support)

License (Apache 2.0)

This package is licensed under the open-source "Apache License, Version 2.0".

The full license text is available in the file LICENSE and at

Note: poni versions older than 0.6 were licensed under the MIT license.

Something went wrong with that request. Please try again.