Skip to main content

AIDflow

Human-in-the-Loop Scorecard Orchestration for Regulated ML

PyPI version Python Version License Code Style


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.data.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(
    low_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)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aidflow-3.0.7.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aidflow-3.0.7-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file aidflow-3.0.7.tar.gz.

File metadata

  • Download URL: aidflow-3.0.7.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for aidflow-3.0.7.tar.gz
Algorithm Hash digest
SHA256 aed7b0c17447b918c9fb95bb3d69c4b24960970674d832c8f8e4885c5aefc05a
MD5 222578f4f5c2e3d47511eb4164a51571
BLAKE2b-256 42419b1e96cd535f1644ea1719c4ff75d9b6b2ee87ac7808906920e643bb06d0

See more details on using hashes here.

File details

Details for the file aidflow-3.0.7-py3-none-any.whl.

File metadata

  • Download URL: aidflow-3.0.7-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.9

File hashes

Hashes for aidflow-3.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db45973ab26e6639397ff8220036f8aeb9b899475014367d1374fd5fdc6e52db
MD5 27948a9a5a8908d61f408d0d9697d399
BLAKE2b-256 987b833c151753fa353089c3804424887ec69be70822575c2d67e516bad9493f

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.8

2 files

This release

3.0.7 This release

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page