Metadata-Version: 2.0
Name: mkp
Version: 0.2
Summary: Pack and unpack Check_MK mkp files
Home-page: https://github.com/tom-mi/python-mkp/
Author: Thomas Reifenberger
Author-email: tom-mi at rfnbrgr.de
License: GPLv2
Platform: any
Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Monitoring

python-mkp
==========

|Build Status|

Pack or unpack `Check\_MK <https://mathias-kettner.de/check_mk.html>`__
mkp files.

The purpose of this library is to generate mkp files from source without
having to set up a complete Check\_MK instance. It is not intended for
installing mkp files to a Check\_MK site. ## Installation

::

    pip install mkp

Usage
-----

Automatically pack mkp package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Create a executable script in the the top directory, e.g. ``dist.py``

::

    #!/usr/bin/env python

    from mkp import dist

    dist({
        'author': 'John Doe',
        'description': 'Test the automatic creation of packages',
        'download_url': 'http://example.com/',
        'name': 'test',
        'title': 'Test',
        'version': '1.0',
        'version.min_required': '1.2.3',
    })

Create a directory structure as follows:

::

    ├── agents/
    ├── checkman/
    ├── checks/
    ├── doc/
    ├── inventory/
    ├── notifications/
    ├── pnp-templates/
    ├── web/
    └── dist.py

Empty directories can be omitted. Running ``check.py`` will pack all
files in the directories listed above to a mkp package with the
canonical name and the specified metadata. The mkp file will be written
to the ``dist`` directory.

Extract mkp package
~~~~~~~~~~~~~~~~~~~

::

    import mkp

    package = mkp.load_file('foo-1.0.mkp')
    print(package.info)
    package.extract_files('path/to/somewhere')

Pack files to mkp package
~~~~~~~~~~~~~~~~~~~~~~~~~

In contrast to ``dist``, this provides the possibility to manually
select the files by replacing ``find_files``. It is also possible to
choose a different output filename.

::

    import mkp

    info = {
      'author': 'tom-mi',
      'description': 'Test the system',
      'download_url': 'http://example.com/',
      'files': mkp.find_files('path/to/files'),
      'name': 'test',
      'title': 'Test',
      'version': '1.0',
      'version.min_required': '1.2.3',
    }
    mkp.pack_to_file(info, 'path/to/files', 'test-1.0.mkp')

License
-------

This software is licensed under GPLv2.

.. |Build Status| image:: https://travis-ci.org/tom-mi/python-mkp.svg?branch=master
   :target: https://travis-ci.org/tom-mi/python-mkp


