Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Python library to provide a cached and dictionary-like interface to Puppet's facter utility

Project Description


Python library to provide a cached and dictionary-like interface to [Puppet's facter utility](

The facter script is run to gather facts, and YAML output is used if pyYAML is installed.

The library is compatibile with Python 2 and Python 3 and *nix and OS X, although testing hasn't been extensive.


>>> import facter
>>> f = facter.Facter()
>>> f["architecture"]
>>> f.lookup("uptime_seconds")
>>> f.lookup("uptime_seconds")
>>> f.lookup("uptime_seconds", cache=False)
>>> f = facter.Facter(use_yaml=False)
>>> f.lookup("uptime_seconds")
>>> f.get("not a fact", "mere opinion")
'mere opinion'

More methods exist. Documentation to come.


pip install facter


pip install facter[yaml]

to include pyYAML



- facter - must be installed through system packages or Ruby Gems
- [six]( - Python 2 and 3 compatibility (marked in


- [pyYAML]( - For YAML parsing of results

Project State

This is an alpha/early version and it hasn't been tested much. Please report any issues observed.

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(3.9 kB) Copy SHA256 Hash SHA256
Source None Sep 16, 2013

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate