Skip to content

Latest commit

 

History

History
40 lines (25 loc) · 1.13 KB

README.rst

File metadata and controls

40 lines (25 loc) · 1.13 KB

ansible_importer

Ansible modules and plugins are typically pure Python, but often lack the structure necessary to import as Python code. This package is meant to allow programmers to import module code for testing purposes.

Installing

The code's up on PyPI

pip install ansible_importer

Usage

import ansible_importer
ansible_importer.install('/abs/path/to/ansible/code')

# Assuming above path has a playbooks/plugins/actions/my_plugin.py module
from playbooks.plugins.actions.my_plugin import ActionModule

# Assuming playbooks/library/glance
from playbooks.library.glance import ManageGlance

# Assuming playbooks/inventory/dynamic_inventory.py
from playbooks.inventory import dynamic_inventory

Credits

Thanks to Raphael Randschau for the idea of using the imp module, and Doug Hellman's Python Module of the Week post on import hooks for guidance in implementation.