Skip to content

bootc/pypuppetdbquery

Repository files navigation

pypuppetdbquery

Build Statue Code Coverage Documentation Status

A port of Erik Dalén's PuppetDB Query language to Python. This module is designed to be paired with pypuppetdb but does not depend on it directly.

This module is a Python implementation of the query language also implemented in puppet-puppetdbquery (in Ruby) and node-puppetdbquery (in JavaScript/NodeJS).

Please see the pypuppetdbquery documentation courtesy of Read the Docs and Sphinx.

Installation

You can install this package from source or from PyPi.

$ pip install pypuppetdbquery
$ git clone https://github.com/bootc/pypuppetdbquery
$ python setup.py install

If you wish to hack on it clone the repository but after that run:

$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt

This will install all the runtime requirements of pypuppetdbquery and the dependencies for the test suite and generation of documentation.

Usage Example

import pypuppetdb
import pypuppetdbquery

pdb = pypuppetdb.connect()

pdb_ast = pypuppetdbquery.parse(
    '(processorcount=4 or processorcount=8) and kernel=Linux')

for node in pdb.nodes(query=pdb_ast):
    print(node)

For further examples, see the Examples section of the pypuppetdbquery documentation.

License

This project is licensed under the Apache License Version 2.0.

Copyright © 2016 Chris Boot.