AIDflow
Human-in-the-Loop Scorecard Orchestration for Regulated ML
Most automated machine learning tools act as black-box wrappers—they optimize metrics in isolation while hiding the underlying logic, producing models that risk failure during regulatory scrutiny. AIDflow is built differently.
Designed specifically for high-stakes, highly regulated industries (Fintech, Banking, Insurance), AIDflow treats machine learning models not as opaque binary artifacts, but as auditable, legal assets. It provides a comprehensive ecosystem for scorecard development built around Human-in-the-Loop Governance.
Core Pillars
Absolute Micromanagement
Automation should never mean a loss of control. While AIDflow automates repetitive pipeline mechanics, every layer remains fully transparent and configurable. Practitioners can pause execution, inspect intermediate states, and fine-tune parameters—from raw feature ingestion and binning to final champion model selection.
Audit-Ready Reporting
Every execution phase generates comprehensive, standardized documentation out of the box. AIDflow goes beyond traditional accuracy metrics ($AUC$, $Gini$) to produce full validation artifacts required by internal risk committees and external financial regulators.
Production Scorecard Readiness
Outputs extend far beyond standard estimator binaries (.pkl / .joblib). AIDflow generates fully engineered production scorecards complete with Population Stability Index ($PSI$),
Characteristic Stability Index ($CSI$), score transformations, and feature explainability vectors that satisfy international credit risk standards (e.g., Basel II/III, IFRS 9).
Bridging the Governance Gap
AIDflow eliminates the friction between rapid experimental prototyping and enterprise compliance—ensuring models that perform in a Jupyter notebook transition seamlessly into compliant production environments.
The Three-Layer Abstraction (The "Super-Gear")
AIDflow decouples the user's intent from the mathematical execution using a three-layer stack. This allows us to change the underlying ML algorithm without ever breaking the User Interface.
Layer 1: The Worker (Interface)
- Role: The Orchestrator.
- Responsibility: Handles UI, input validation, and state registration.
- User Experience: "I want to clean my data" →
ctx.workers.fe_cleaner().
Layer 2: The Model (The Gear)
- Role: The Adapter.
- Responsibility: Decouples the Worker from the Fitter. It manages "Fit Options," allowing a single Worker to support multiple different algorithms (e.g., switching between a Sparse GLM and an ElasticNet).
Layer 3: The Fitter (The Engine)
- Role: The Compute Engine.
- Responsibility: Pure mathematical execution. This is where the actual matrix multiplication, optimization, and fitting occur. It has no knowledge of the UI or the Project Context—it only knows data and parameters.
Quick Start
Installation
pip install aidflow
Basic Usage
Defining the Project Context (Control Plane) & Project Scope:
import aidflow as aid
ctx = aid.ProjectContext()
ctx.genesis(
project = 'test',
input_data = 'test.csv',
target = 'target',
yy_mm = 'decision_date',
yy_mm_format = '%d%b%y'
)
ctx.params()
Worker → Model
Accessing worker's inputs schema → parameters & types:
ctx.workers.data_loader.inputs
Accessing worker's fitter options and schema → parameters & types:
ctx.workers.data_loader.fitters
Executing worker with defaults → auto provided by the context:
ctx.workers.data_loader()
Once worker has been executed, thus its main model has been built,
we have access to all populated attributes.
ctx.workers.data_loader.inputs.inputs
ctx.workers.data_loader.result
ctx.workers.data_loader.state
ctx.workers.data_loader.features
ctx.workers.data_loader.stats
ctx.workers.data_loader.params
ctx.workers.data_loader.fitter # jump to chosen internal fitter
...
View to model report of executed worker:
ctx.workers.data_loader.report.show()
Model → Fitter
Once worker has been executed, we obtain internal fitter state and its parametrization:
ctx.workers.data_loader.fitter
The fitted fitter provides all populated attributes.
ctx.workers.data_loader.fitter.stats
ctx.workers.data_loader.fitter.params
Direct choice and parametrization of internal fitter:
fx = ctx.workers.data_loader.fitters[0]
prm = dict(
flow_vars = ['target1', 'target2'],
columns_subset = ['fe1', 'fe2']
)
loader = ctx.workers.data_loader(fx_choice = fx, fx_params = prm)
In the experimenting phase when various targets might be under testing
(note that target2 must be present in the data):
cfg = dict(
target = 'target2',
)
woe = ctx.workers.data_loader(fx_config = cfg)
Metadata
Release files for aidflow 3.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aidflow-3.0.8.tar.gz | 3.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aidflow-3.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.2 kB
Release files / aidflow-3.0.8.tar.gz
| Download URL | aidflow-3.0.8.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b09de4b1a969c32b42593d402e0916ff86da919c1169e87a51aedf4a6feb365a
|
|
BLAKE2b-256 checksum How to use checksums |
9c5d4e12315f7e4de4af0b54c1a5738082cfa4d12411b7468b76a857ec159a6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / aidflow-3.0.8-py3-none-any.whl
| Download URL | aidflow-3.0.8-py3-none-any.whl |
|---|---|
| Size | 3.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a713e9c7fe6d128c6a064ea9e50f2c72ea2d88543ccbd1da925be21173aeec32
|
|
BLAKE2b-256 checksum How to use checksums |
60520f0b4a1d5fc216851cc8d958b371c252327f8267602cb054c965bda9321b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Security for aidflow 3.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.