Skip to main content

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

Project description

facterpy
========

Python library to provide a cached and dictionary-like interface to [Puppet's facter utility](http://puppetlabs.com/puppet/related-projects/facter).

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.

Usage
------

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

More methods exist. Documentation to come.

Install
---------

```
pip install facter
```

or

```
pip install facter[yaml]
```

to include pyYAML

Requirements
-------------

Required:

- facter - must be installed through system packages or Ruby Gems
- [six](https://pypi.python.org/pypi/six/) - Python 2 and 3 compatibility (marked in setup.py)

Optional:

- [pyYAML](http://pyyaml.org/wiki/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.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

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

Source Distribution

facterpy-0.1.tar.gz (3.9 kB view details)

Uploaded Source

File details

Details for the file facterpy-0.1.tar.gz.

File metadata

  • Download URL: facterpy-0.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for facterpy-0.1.tar.gz
Algorithm Hash digest
SHA256 28198e1116fc70d71d319a7e4ca75fb392bd2905d119208d2dab89140addc9c4
MD5 6710be755069c2f9d308b374fab03567
BLAKE2b-256 86d3cd9bc1a3547da1788b99d5c6e5af8e8d4a27d132de8b796f9b02943eb7dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page