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.6.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.6-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aidflow-3.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 b07c14aead64e43a442a45683952f03dd3af56f8024c19889434a8469a0564b3
MD5 6a6999ba8a399562caaf3bea8558e140
BLAKE2b-256 294b0e2d1acace680e368e7c27ede18c48bd722b29a77895c71a26109696f3f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aidflow-3.0.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cdb20a073dfaa6ea2219e4014a7f4929b2febd8ea80f529170a22aa639ad2da4
MD5 7c73a6064226ba99ad7ac866795a3b40
BLAKE2b-256 c934ba5b83233531d0acccd4e9b677b5ed32728a48e4d2265a954477880d1c88

See more details on using hashes here.

Release history Release notifications | RSS feed

3.0.8

2 files

3.0.7

2 files

This release

3.0.6 This release

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