Catalog PyPI
PACKAGE EXPLORERView in registry

adis-autoresearch

PyPI

Automated Data Intelligence System (ADIS) - Explainable ML Pipeline and AI Critic

Versions collected1
Direct dependencies12From release 0.1.4
Last observed20 Oct, 19:32 UTC

README

Version 0.1.4 documentation

ADIS — Automated Data Intelligence System

CI Python 3.9+ License: MIT

An explainability-first AutoML library with built-in AI vulnerability detection.

ADIS runs a complete data science pipeline — ingestion, cleaning, EDA, feature engineering, model benchmarking — and produces a human-readable explanation at every step. Its AI Critic then audits the entire pipeline for data leakage, metric illusions, overfitting risks, and production readiness.


Quick Start

Install

pip install adis-autoresearch

Basic Usage (3 lines)

from adis import ADISPipeline

pipeline = ADISPipeline(target_column="target")
results = pipeline.run("data.csv")
pipeline.save_report()   # Saves report.json + report.md + cleaned_data.csv

Use Individual Modules

from adis import run_ingestion, run_cleaning, run_eda, run_critic

# Just ingest and inspect
result = run_ingestion("data.csv")
print(result["column_info"])     # Per-column type detection
print(result["validation"])      # Schema issues & warnings

# Clean a DataFrame
from adis import run_cleaning
cleaned = run_cleaning(df, column_info, strategy="knn")
print(cleaned["log"])            # Every cleaning action logged

# Run the AI Critic on any pipeline results
critic = run_critic(pipeline_results)
for vuln in critic["vulnerabilities"]:
    print(f"[{vuln['severity']}] {vuln['issue']}")

Use the Autonomous Agent (Experimental)

from adis.agent import AutoResearchAgent

agent = AutoResearchAgent(
    filepath="data.csv",
    target_column="price",
    max_iterations=10,
)
# Requires: LLM_API_KEY env var + ADIS_ALLOW_EXEC=1
results = agent.optimize()

What Makes ADIS Different

FeatureTypical AutoMLADIS
ExplainabilityPost-hoc (SHAP/LIME)Built into every step — what_happened, why, impact
Safety AuditNoneAI Critic detects leakage, metric illusions, overfitting
Pipeline ReportMetrics tableFull Markdown/JSON narrative with rationale
Leakage PreventionManualAutomatic — train/test split before feature engineering
TargetBest scoreBest score that's safe for production

Pipeline Stages

CSV File
  │
  ▼
┌─────────────────┐
│   Ingestion     │  → Type detection, schema validation, warnings
├─────────────────┤
│   Cleaning      │  → Imputation, dedup, outlier detection, type coercion
├─────────────────┤
│   EDA           │  → Distributions, correlations, class imbalance, flags
├─────────────────┤
│   Feature Eng.  │  → Log/sqrt transforms, binning, OHE, datetime decomposition
├─────────────────┤
│   Feature Sel.  │  → Variance filter, correlation filter, mutual information
├─────────────────┤
│   Benchmarking  │  → 3-4 models + dummy baseline, full metric suite
├─────────────────┤
│   AI Critic     │  → Cross-signal vulnerability detection
└─────────────────┘
  │
  ▼
JSON/Markdown Report + Cleaned CSV

Each stage returns a structured result dict with:

  • df — The transformed DataFrame
  • explanation — Human-readable {title, what_happened, why, impact}
  • step — Stage identifier

AI Critic — Vulnerability Detection

The Critic cross-references signals from across the pipeline to flag issues that single-stage analysis would miss:

VulnerabilityWhat It Catches
Metric IllusionHigh accuracy + low AUC on imbalanced data = model is lazy
Target LeakageNear-perfect score driven by one dominant feature
Overfitting RiskComplex model on tiny dataset
Temporal LeakageRandom split on time-series data
Production BlockersComposite check — is this model safe to deploy?
critic = results["critic"]
print(critic["is_structurally_safe"])   # True/False
for v in critic["vulnerabilities"]:
    print(f"  [{v['severity']}] {v['issue']} (confidence: {v['confidence']})")

Configuration

Environment Variables

VariableRequiredDescription
LLM_API_KEYFor agent onlyAPI key for LLM-powered research agent
ADIS_ALLOW_EXECFor agent onlySet to 1 to enable code execution sandbox

Optional Dependencies

pip install -e ".[ui]"          # Streamlit dashboard
pip install -e ".[agent]"       # Autonomous research agent
pip install -e ".[imbalanced]"  # SMOTE oversampling
pip install -e ".[all]"         # Everything
pip install -e ".[dev]"         # pytest + ruff

Streamlit Dashboard

A visual frontend is included for interactive exploration:

pip install -e ".[ui]"
streamlit run app.py

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Lint
ruff check adis/ tests/

Project Structure

adis/
├── __init__.py              # Public API: ADISPipeline + all run_* functions
├── schemas.py               # Pydantic data contracts
├── pipeline.py              # Pipeline orchestrator
├── agent.py                 # Autonomous research agent (experimental)
├── ingestion.py             # CSV loading, type detection, validation
├── cleaning.py              # Imputation, dedup, outliers, coercion
├── eda.py                   # Distributions, correlations, imbalance
├── feature_engineering.py   # Transforms, binning, encoding, datetime
├── feature_selection.py     # Variance, correlation, mutual information
├── model_recommendation.py  # Problem type detection, model ranking
├── benchmarking.py          # Multi-model training + evaluation
└── critic.py                # AI vulnerability detection

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.49 May 202612

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
abhijeet777ui/adis-ml-pipeline-app

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:32 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:d6591b5aeed405e403cc3267502de80096cef7d32f556b8a4ac499002a1f9d47