PHPackages                             carmelosantana/coqui-toolkit-apache-nifi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. carmelosantana/coqui-toolkit-apache-nifi

ActiveLibrary

carmelosantana/coqui-toolkit-apache-nifi
========================================

Apache NiFi data flow management toolkit for Coqui — process groups, processors, connections, controller services, parameter contexts, provenance, and PHP pipeline DSL deployment via the NiFi REST API.

v0.1.1(1mo ago)00MITPHPPHP ^8.4

Since Apr 9Pushed 1mo agoCompare

[ Source](https://github.com/carmelosantana/coqui-apache-nifi)[ Packagist](https://packagist.org/packages/carmelosantana/coqui-toolkit-apache-nifi)[ RSS](/packages/carmelosantana-coqui-toolkit-apache-nifi/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (4)Versions (3)Used By (0)

Coqui Toolkit: Apache NiFi
==========================

[](#coqui-toolkit-apache-nifi)

Apache NiFi data flow management toolkit for [Coqui](https://github.com/coquibot/coqui). Create, configure, monitor, and deploy NiFi pipelines via the REST API. Includes a PHP pipeline DSL for defining flows programmatically.

Installation
------------

[](#installation)

```
composer require coquibot/coqui-toolkit-apache-nifi
```

The toolkit is auto-discovered by Coqui — no additional configuration needed.

Credentials
-----------

[](#credentials)

Set these via the Coqui `credentials` tool or in your workspace `.env`:

VariableDescription`NIFI_BASE_URL`NiFi instance URL (e.g. `https://localhost:8443`)`NIFI_USERNAME`NiFi username for API authentication`NIFI_PASSWORD`NiFi password for API authenticationTools
-----

[](#tools)

ToolDescription`nifi_process_group`Manage process groups — list, create, update, delete, start/stop, status`nifi_processor`Manage processors — CRUD, start/stop, configure properties and scheduling`nifi_connection`Manage connections — CRUD, queue status, empty queues`nifi_flow`Monitor flow health — system status, search, history, bulletin board, diagnostics`nifi_controller_service`Manage controller services — CRUD, enable/disable`nifi_parameter_context`Manage parameter contexts — CRUD, add/remove parameters`nifi_pipeline`Deploy complete pipelines from JSON definitions`nifi_provenance`Query data provenance — search events, trace lineagePipeline DSL
------------

[](#pipeline-dsl)

Define pipelines in PHP using the standalone [php-nifi-pipelines](../php-nifi-pipelines) library:

```
use CoquiBot\NiFiPipelines\Pipeline;

$pipeline = Pipeline::create('CSV Ingestion')
    ->addProcessor('fetch', 'org.apache.nifi.processors.standard.GetSFTP', [
        'Hostname' => '#{sftp_host}',
        'Remote Path' => '/data/incoming',
    ])
    ->addProcessor('parse', 'org.apache.nifi.processors.standard.ConvertRecord')
    ->addProcessor('store', 'org.apache.nifi.processors.standard.PutDatabaseRecord', [
        'Table Name' => 'inventory',
    ])
    ->connect('fetch', 'parse', ['success'])
    ->connect('parse', 'store', ['success'])
    ->build();
```

Or deploy via JSON through the `nifi_pipeline` tool:

```
{
    "name": "CSV Ingestion",
    "processors": [
        {"name": "fetch", "type": "org.apache.nifi.processors.standard.GetSFTP", "properties": {"Hostname": "ftp.example.com"}},
        {"name": "parse", "type": "org.apache.nifi.processors.standard.ConvertRecord"},
        {"name": "store", "type": "org.apache.nifi.processors.standard.PutDatabaseRecord"}
    ],
    "connections": [
        {"source": "fetch", "destination": "parse", "relationships": ["success"]},
        {"source": "parse", "destination": "store", "relationships": ["success"]}
    ]
}
```

Gated Operations
----------------

[](#gated-operations)

The following operations require user confirmation (or `--auto-approve`):

- `nifi_process_group`: delete, stop
- `nifi_processor`: delete, stop
- `nifi_connection`: delete, empty\_queue
- `nifi_controller_service`: delete, disable
- `nifi_parameter_context`: delete
- `nifi_pipeline`: deploy

Requirements
------------

[](#requirements)

- PHP 8.4+
- Apache NiFi 2.x instance with REST API access
- Coqui with php-agents ^0.7

License
-------

[](#license)

MIT

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance94

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

32d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/597820?v=4)[Carmelo Santana](/maintainers/carmelosantana)[@carmelosantana](https://github.com/carmelosantana)

---

Top Contributors

[![carmelosantana](https://avatars.githubusercontent.com/u/597820?v=4)](https://github.com/carmelosantana "carmelosantana (2 commits)")

---

Tags

etltoolkitpipelinephp-agentscoquidataflowdata integrationnifiapache-nifi

###  Code Quality

TestsPest

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/carmelosantana-coqui-toolkit-apache-nifi/health.svg)

```
[![Health](https://phpackages.com/badges/carmelosantana-coqui-toolkit-apache-nifi/health.svg)](https://phpackages.com/packages/carmelosantana-coqui-toolkit-apache-nifi)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
