{"id":13494408,"url":"https://github.com/Chaffelson/nipyapi","last_synced_at":"2025-03-28T14:31:10.963Z","repository":{"id":24357643,"uuid":"101291622","full_name":"Chaffelson/nipyapi","owner":"Chaffelson","description":"A convenient Python wrapper for Apache NiFi","archived":false,"fork":false,"pushed_at":"2025-03-25T10:41:38.000Z","size":4330,"stargazers_count":255,"open_issues_count":34,"forks_count":75,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-25T10:45:32.080Z","etag":null,"topics":["api-wrapper","automation","dataflow","nifi","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chaffelson.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-24T12:17:36.000Z","updated_at":"2025-03-25T10:32:35.000Z","dependencies_parsed_at":"2024-04-14T10:33:14.276Z","dependency_job_id":"65232592-8031-427d-ba6e-1b5d5243bbc8","html_url":"https://github.com/Chaffelson/nipyapi","commit_stats":{"total_commits":331,"total_committers":22,"mean_commits":"15.045454545454545","dds":0.5709969788519638,"last_synced_commit":"c687fb811486d7bcada099ac0785b55cfb30aea8"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaffelson%2Fnipyapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaffelson%2Fnipyapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaffelson%2Fnipyapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaffelson%2Fnipyapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chaffelson","download_url":"https://codeload.github.com/Chaffelson/nipyapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246045887,"owners_count":20714866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","automation","dataflow","nifi","python"],"created_at":"2024-07-31T19:01:24.796Z","updated_at":"2025-03-28T14:31:10.955Z","avatar_url":"https://github.com/Chaffelson.png","language":"Python","readme":"==============\n|nipy| NiPyApi\n==============\n\n.. |nipy| image:: https://image.ibb.co/f0FRs0/nipy.png\n    :height: 28px\n\nNifi-Python-Api: A rich Apache NiFi Python Client SDK\n\n.. image:: https://img.shields.io/pypi/v/nipyapi.svg\n        :target: https://pypi.python.org/pypi/nipyapi\n        :alt: Release Status\n\n.. image:: https://readthedocs.org/projects/nipyapi/badge/?version=latest\n        :target: https://nipyapi.readthedocs.io/en/latest/?badge=latest\n        :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/Chaffelson/nipyapi/shield.svg\n     :target: https://pyup.io/repos/github/Chaffelson/nipyapi/\n     :alt: Python Updates\n\n.. image:: https://coveralls.io/repos/github/Chaffelson/nipyapi/badge.svg?branch=main\n    :target: https://coveralls.io/github/Chaffelson/nipyapi?branch=main\u0026service=github\n    :alt: test coverage\n\n.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n    :target: https://opensource.org/licenses/Apache-2.0\n    :alt: License\n\n\nFeatures\n--------\n\n**Three layers of Python support for working with Apache NiFi:**\n - High-level Demos and example scripts\n - Mid-level Client SDK for typical complex tasks\n - Low-level Client SDKs for the full API implementation of NiFi and selected sub-projects\n\n**Functionality Highlights:**\n - Detailed documentation of the full SDK at all levels\n - CRUD wrappers for common task areas like Processor Groups, Processors, Templates, Registry Clients, Registry Buckets, Registry Flows, etc.\n - Convenience functions for inventory tasks, such as recursively retrieving the entire canvas, or a flat list of all Process Groups\n - Support for scheduling and purging flows, controller services, and connections\n - Support for fetching and updating Variable Registries\n - Support for import/export of Versioned Flows from NiFi-Registry\n - Docker Compose configurations for testing and deployment\n - A scripted deployment of an interactive environment, and a secured configuration, for testing and demonstration purposes\n\n\nPlease see the `issue \u003chttps://github.com/Chaffelson/nipyapi/issues\u003e`_ register for more information on current development.\n\nQuick Start\n-----------\n\n| There are several scripts to produce demo environments in *nipyapi.demo.**\n| The mid-level functionality is in *nipyapi.canvas / nipyapi.security / nipyapi.templates / nipyapi.versioning*\n| You can access the entire API using the low-level SDKs in *nipyapi.nifi / nipyapi.registry*\n\nThe easiest way to install NiPyApi is with pip::\n\n    # in bash\n    pip install nipyapi\n    \n    # or with docker support for demos\n    pip install nipyapi[demo]\n\nYou can set the config for your endpoints in the central config file::\n\n    # in python\n    import nipyapi\n    nipyapi.config.nifi_config.host = 'http://localhost:8080/nifi-api'\n    nipyapi.config.registry_config.host = 'http://localhost:18080/nifi-registry-api'\n\nThen import a module and execute tasks::\n\n\n    nipyapi.canvas.get_root_pg_id()\n    \u003e'4d5dcf9a-015e-1000-097e-e505ed0f7fd2'\n\nYou can use the Docker demos to create a secured interactive console showing many features::\n\n    from nipyapi.demo.secured_console import *\n    from nipyapi.demo.console import *\n\nYou can also explore the scripts to get ideas for how NiPyAPi can be used to automate your environment.\n\nPlease check out the `Contribution Guide \u003chttps://github.com/Chaffelson/nipyapi/blob/master/docs/contributing.rst\u003e`_ if you are interested in contributing to the feature set.\n\nBackground and Documentation\n----------------------------\n\n| For more information on Apache NiFi, please visit `https://nifi.apache.org \u003chttps://nifi.apache.org\u003e`_\n| For Documentation on this package please visit `https://nipyapi.readthedocs.io. \u003chttps://nipyapi.readthedocs.io/en/latest\u003e`_\n\n\nNiFi Version Support\n--------------------\n\n| Currently we are testing against NiFi versions 1.9.2 - 1.28.1, and NiFi-Registry versions 0.3.0 - 1.28.1.\n\n| We have also tested against the latest NiFi-2.2.0 release using the 1.x SDK and have found that basic functionality works as expected.\n| Apache NiFi offers no compatibility guarantees between major versions, and while many functions may work the same, you should test carefully for your specific use case.\n| In future we will create a specific branch of NiPyAPI for NiFi 2.x SDKs, and maintain separate NiFi 1.x and NiFi 2.x clients.\n\n| If you find a version compatibility problem please raise an `issue \u003chttps://github.com/Chaffelson/nipyapi/issues\u003e`_\n\nPython Support\n--------------\n\n| Python 2.7 or 3.9-12 supported, though other versions may work. \n| We will shortly stop supporting Python2.\n| OSX M1 chips have had various issues with Requests and Certificates.\n\n| Tested on AL2023, developed on OSX 14+ and Windows 10 with Docker Desktop.\n| Outside of the standard Python modules, we make use of lxml, DeepDiff, ruamel.yaml and xmltodict in processing, and Docker for demo/tests.\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChaffelson%2Fnipyapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FChaffelson%2Fnipyapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FChaffelson%2Fnipyapi/lists"}