Skip to main content

Upload model data to Attestant for compliance analysis

Project description

Attestant

AI compliance for regulated lenders. Validate, approve, monitor, and defend AI-driven models and decisions.

Install

pip install attestant

Quick Start

import attestant
import pandas as pd

# Configure (or set ATTESTANT_API_KEY environment variable)
attestant.configure(api_key="pvt_live_...")

# 1. Declare data sources — provenance tracks automatically
data = attestant.source(pd.read_csv("applicants.csv"), "applicants")
demographics = attestant.source(
    pd.read_csv("demographics.csv"), "demographics",
    protected=["race", "gender", "age"],
)

# 2. Normal pandas — taint propagation happens behind the scenes
merged = data.merge(demographics, on="id")
X = merged[["income", "credit_score", "dti"]]
y = merged["approved"]

# 3. Validate before deployment
result = attestant.upload(
    model=model,
    X_test=X, y_test=y,
    protected_columns=["race", "gender", "age"],
    model_name="credit_approval",
    model_version="v2.1",
)
print(result.dashboard_url)

# 4. Gate in production (one line)
attestant.gate("credit_approval", "v2.1")

# 5. Log predictions for monitoring
attestant.log_predictions(
    model_name="credit_approval",
    model_version="v2.1",
    predictions=model.predict_proba(X_new)[:, 1],
    features=X_new,
    protected_data=demographics_new,
    protected_columns=["race", "gender", "age"],
    applicant_ids=df["application_id"].tolist(),
)

What It Does

  • 41 automated compliance checks across ECOA/Reg B, SR 11-7, and EU AI Act
  • Fairness analysis with disparate impact detection and SHAP-based adverse action reason codes
  • Model gating -- block unapproved models from production with one line
  • Inference monitoring -- track predictions, detect drift, generate alerts
  • Decision defense -- reconstruct any individual decision for examiner review
  • Data provenance -- automatic lineage tracking through pandas operations

Protected Columns

Mark columns containing protected attributes (race, gender, age, etc.) so Attestant can check for disparate impact and proxy discrimination:

data = attestant.source(df, "applicants", protected=["race", "gender", "age"])

Attestant automatically tracks whether protected data influences predictions -- even through indirect feature engineering.

Age Column Handling

Specify how age data is formatted:

result = attestant.upload(
    ...,
    age_column="applicant_age",
    age_format="years",  # or: "months", "days", "dob", "birth_year"
)

Vendor Models

Validate vendor/third-party models the same way -- just pass predictions instead of a model:

# Get predictions from vendor API
vendor_predictions = vendor_api.score(X_test)

# Validate with full compliance suite
result = attestant.upload(
    predictions=vendor_predictions,
    X_test=X_test, y_test=y_test,
    protected_columns=["race", "gender", "age"],
    model_name="vendor_credit_score",
    model_version="v3.2",
)

# Gate and monitor in production
attestant.gate("vendor_credit_score", "v3.2")
attestant.log_predictions(
    model_name="vendor_credit_score",
    model_version="v3.2",
    predictions=vendor_api.score(X_new),
    features=X_new,
    protected_data=demographics_new,
    protected_columns=["race", "gender", "age"],
)

All 41 compliance checks, fairness analysis, model gating, and inference monitoring work identically for vendor models.

CI/CD Integration

export ATTESTANT_API_KEY=pvt_live_...
attestant gate-check --model credit_approval --version v2.1
# Exit 0 = approved, 1 = blocked

Documentation

Full documentation at getattestant.com/docs

License

Apache 2.0

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

attestant-0.23.1-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

attestant-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

attestant-0.23.1-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

attestant-0.23.1-cp313-cp313-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

attestant-0.23.1-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

attestant-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

attestant-0.23.1-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

attestant-0.23.1-cp312-cp312-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

attestant-0.23.1-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

attestant-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

attestant-0.23.1-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

attestant-0.23.1-cp311-cp311-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

attestant-0.23.1-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

attestant-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

attestant-0.23.1-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

attestant-0.23.1-cp310-cp310-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

attestant-0.23.1-cp39-cp39-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9Windows x86-64

attestant-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

attestant-0.23.1-cp39-cp39-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

attestant-0.23.1-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file attestant-0.23.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestant-0.23.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6768346357736f62180d6914c3fb10f96e69aa1eb6d212693b9c8c5250e4e9ab
MD5 93e2499a17f61be1988daa8064aef86e
BLAKE2b-256 6ae0ef5ff9ac14e21b6b118cea64ad66b213c6738a5e190d12f347ecb341f4a0

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d63e0036f30342122d633022af482931bf25b267ddd6477371b82112f5981c3
MD5 f33284c1795bc9855b28b49585d21e08
BLAKE2b-256 6155521eeddb0dec257d4d7432df4fcbeef1fddd8b48456030743c86d7cc9463

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25f83fab1ffa3d64959b6a7e86fa898b6f233a5931f3cbbc0716533257f792bd
MD5 f613ff03233d1f1a5e361752fcbef97f
BLAKE2b-256 f3abe5cea9b7dee60e5707947dfd2c20214125aea62de545675452624e629dbb

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 53c415147defd84f9c89acbfa8c7e5b18dcf66621168dbf6663d3d5fd05440e0
MD5 bf08e8848cec90aac5d3c1c595eb49f9
BLAKE2b-256 ae1905b24d5d6e44fb61d33659bd0f5aa46f5ea5925a766e2c6f9339a40f183d

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestant-0.23.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 349bfb41df6263e8ee37aec9fb7976977e6d522727cedbc607bb20baec8b3906
MD5 2c7e711a4e3428934c73025474b6ee79
BLAKE2b-256 ad5f8e057c6d5fff21a4b21c027c521c07eee667b6680478295afb5a4b8c9a2b

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1575e91b5e49bf96fec42bdccfe024e51dedb97e20278d9d9a7f0da681796f14
MD5 728cad40b5cfb27da47c15d70098d6fb
BLAKE2b-256 55bdf807c47f61b85b9c993c250e1fc26244798751e7c00a9b1b58a371acea46

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 613a8e49e458337345cad75beb3671dd01b7d23787abf72f6f67576a5224e648
MD5 90975754265f929455fe184c593c5202
BLAKE2b-256 2bd13400dc3e3c06305ed8493c910dc9e08f3f33022f4fe9312b0add6844ccfe

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7eea4e18ac5f0d860d1f8abb54dfda64dcd72aa5d78b09c815a6289a5e9e2dc2
MD5 54f0f9cdb4b5c15f880ba2ffbce20b09
BLAKE2b-256 77fa431c7e22db6ccb9715dca72d7cf1d2b0448961c6c171ee6be475f408b16e

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestant-0.23.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 27203b769ff4928979f00862265622b5b3f9c5596889e7b9b29ae1bb1fbcaea1
MD5 4c07518be9ce06ca6c86cd206faa6b43
BLAKE2b-256 37252e526b7ef0bcd2efa2b56030de2b5b8ed669aa2ff2fb51b0ff19599ee4f5

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9101e845411bfe9e3747cf9f24cf75fd7288bc9443e4b3027097bf8f7517487
MD5 2a5d942aab3b4f261397883a480803a6
BLAKE2b-256 44cb9fb67b8a6dd0a76ccfe8dcfcedebcd8d4bdd8d651957d8fe1aa75d9baa94

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1581c3545662a523058a5ef2bba601a891e577d5bde90dd84d914dd4aec9e99
MD5 4e360814484e778c316a93188e6c2410
BLAKE2b-256 d874d6775f6398347194b9ef2da5b79ae078727f5e27bd7d15c647874f5a9a9c

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1dffa8d0f83eaa6f098075cfd232cb28262810fbb25ff38cee268ff61734d251
MD5 7c6245861b1f6aac00e93f10e6371a10
BLAKE2b-256 02365507022b5bbfeafef3ec113228d966d834d448a2e16f4302f85c0cea2d24

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestant-0.23.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ec602305fe64c0193d436a2db96477a7fdf5a4143234cda59f16bfd797838aa
MD5 91d421acbb50cb73fb0d0bcfdbd27332
BLAKE2b-256 4fe57eadc17404cba05692405588520355b03c8e047fb3b58b04031c25059f8e

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15ae16ccb3b3fc6f15e258d798af2d877ab795680052237ce9a2aaa20ecebdff
MD5 224f1004cdeec375ccc41714faf34203
BLAKE2b-256 fb7bbf8136016eb6539ba0bb125198d12753b5315fd07506a48f1385e78b5037

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15e42e9b30e59789b8d3cb9c3ac21f56457e05e680850c44caae6dfc3bca175c
MD5 efaa3c0f3b80d4ac2dd055b5fc533dbf
BLAKE2b-256 19e7f4ef85722958bbbc37b9dad3c7ed4c1200be8d2a051396f2d07c6cc2dfe6

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fa5c3499c273949e772e2b75e8d9c0adc48c5fa6850f4e1834f224ee5e806ea8
MD5 0628c90b33ba9a6acdaff1f508dfec07
BLAKE2b-256 6d905a46a2f0540cbc3639e58cedc237949c4e460180d4b1faae12aad86b8b01

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for attestant-0.23.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a73692d40f080567477f11ccdec46fc7bf9cd291afc3359e23157583db55ee8d
MD5 0e701ed768019f11ff9c45844898c22e
BLAKE2b-256 9721280a1aa5fb025d6bf28bba414044de4dbfcb9049e3924bcf8b4f029f918e

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff054660d7f1c8273c46d5d9b5f88ce414044b3bd0bf68dc5aab7ad8529fb529
MD5 ad85a4f63d572bf0e76f921bb1bc6952
BLAKE2b-256 b1c59887792c5aeb8b346d09dc3c18f59750c5a1057095fd743b16dfda6a7693

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 540b73f6355557579552a4d8d8f8031ebc3a939c2ba2a4f9476da2a1610127d6
MD5 a43ed44451058fdc16add5f2d86601af
BLAKE2b-256 3beed800ddfb6cef06ad5319ea98a621b99ec82253a8a82eff1c79f514cdda12

See more details on using hashes here.

File details

Details for the file attestant-0.23.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for attestant-0.23.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a4b9e497451ca74f16d33055316680ed46baf344d1129a197ec63af00b761f4
MD5 54a87933aef1a12811b8266c889c77c0
BLAKE2b-256 e8bb7c3e15f1966c1729a9823aa51bd3266a3b32fdd7a79923f9fe86891b949e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page