/nipyapi

A convenient Python wrapper for Apache NiFi

Primary LanguagePythonOtherNOASSERTION

NiPyApi

Nifi-Python-Api: A convenient Python wrapper for the Apache NiFi Rest API

Release Status Build Status Documentation Status Python Updates test coverage License

Features

This package provides pythonic calls for common NiFi tasks and CICD/SDLC integrations
These are implemented by replicating the action of the same task in the GUI and surfacing the underlying NiFi Data structures and calls wherever possible, to retain UX parallelism for the user

Usage

The easiest way to install NiPyApi is with pip:

# in bash
pip install nipyapi

Then import and use the modules:

# in python
from nipyapi.canvas import *
from nipyapi.templates import *
from nipyapi.system import *
from nipyapi.versioning import *
dir()
>['__builtins__', 'all_templates', 'create_pg_snippet', 'create_process_group', 'create_processor', 'create_registry_bucket',
'create_registry_client', 'create_template', 'delete_process_group', 'delete_processor', 'delete_registry_bucket',
'delete_registry_client', 'delete_template', 'deploy_template', 'export_template', 'get_flow', 'get_process_group',
'get_process_group_status', 'get_processor', 'get_processor_type', 'get_registry_bucket', 'get_registry_client',
'get_root_pg_id', 'get_template_by_name', 'list_all_process_groups', 'list_all_processor_types', 'list_all_processors',
'list_registry_buckets', 'list_registry_clients', 'recurse_flow', 'schedule_process_group', 'schedule_processor', 'sys',
'upload_template']
get_root_pg_id()
>'4d5dcf9a-015e-1000-097e-e505ed0f7fd2'

You can also pull the repository from Github and play or contribute on the latest features, check out the Contribution Guide for more info.

Background

For more information on Apache NiFi, please visit https://nifi.apache.org
For Documentation on this package please visit https://nipyapi.readthedocs.io.

Version Support

This project leverages the nifi-python-swagger-client to maintain version compatibility with NiFi releases
Currently we are testing against NiFi version 1.2 - 1.5, and NiFi-Registry version 0.1.0
If you require a different version please raise an issue

Requirements

Python 2.7 or 3.6 supported, though other versions may work

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template

Inspired by the equivalent Java client maintained over at hermannpencole/nifi-config

The swagger 2.0 compliant client auto-generated using the Swagger Codegen project, and then cleaned / bugfixed by the authors