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.0-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

attestant-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

attestant-0.23.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

attestant-0.23.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

attestant-0.23.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

attestant-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

attestant-0.23.0-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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: attestant-0.23.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6ff22c5b8b6edb806230be01ffc4fffcc3af0768a6b2c4adc1a003eb32e0fef2
MD5 969d52ef16a929d486c8c3a963fe8a07
BLAKE2b-256 27821d30aa85e51cd4e74118782d814c45980efce6c156085b88aaaf863cb1f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee37da76844aabe4b12be8bcb1ef5a49cd3adb6fa19888451ae60f73c74eabbc
MD5 f12aa54f65060c119938baa2a6918a9f
BLAKE2b-256 e1a04927f09903b8e9721a4a210ff47721ef65a43a47afcd3dc2378b858427cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc07e3b4976e9a6b0af49910f5b4b4e0290b66514048f7bb70cbb4fee8ed54d8
MD5 5afca4b385cd1afaf131887af3d4036b
BLAKE2b-256 1382deabe752fbbe0a8c6e53ed8c587a149957ccb08909345b8e1c6fde2d83e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 dbe2ac4ff594d32fa4217c42ae191a68af9055f669afaad4720bda6f6be48b0f
MD5 278b8b548a79693f6b78d283561cf0af
BLAKE2b-256 f5fcfa7a9c106ef5391adefe2d20952b49f579354ca63c453cf879f5b61a02b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: attestant-0.23.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aabd444aeaceffa6522bbd27b989223d3fd3f6ed20079573c134462e6604b085
MD5 0faf53d213d312d69dc8abc27e8deeed
BLAKE2b-256 2d1ddb869e9a3d4a53b4bed0f0d568696a0f8223c54c512a4acad98190952dfd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2bd0eb93717a1ada5e16ff11c1f07d23232c6229eabafb0a767641c709933bb
MD5 71d51b9e4a8e96513cc33d82509f4484
BLAKE2b-256 28ef9cf76b0e5313c24dbb3aab766d471503181fb292058b206cc7832a8aca9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3bb3ef8e58f2e8451f3c85076f35d291c0fc451054bbbe73f61480c7e5feb0e
MD5 75529a72b74c6d37fe3fe0d1b42657bd
BLAKE2b-256 568a2ea5604e2dcc4a837b102c7213960916d13bcdafbb504a82d787d79f0a25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 009aac0a74e1485a83d451dd0de167f03dd6bed7d3ba06df1d1236569728b380
MD5 396494ddee28cb1d0066f6f0c17e6d3e
BLAKE2b-256 785cd09569eebf8f4703ce332e75fdcf77217bea045d20b32cebabe23f505d4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: attestant-0.23.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9c7c9d847a3d80d129cb6cb70359cd205341bc02732763320ffb4aa821ae6d6e
MD5 3815138eb26f58acac374cffc8cf0777
BLAKE2b-256 d8121df773c21e4f01c7236c74b3adbb04c26f1014891c92b40174588c9388c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 870dea5019b7bcb82f0573913c07d58cc4e4c81b481c4e9ffec562206210bf87
MD5 18c06333d6d5558aeb02f0df41fb5734
BLAKE2b-256 696281cc727af5b22736cedcca56ef44f8787740d9a6818f97a65ae9327badb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c2e73249188bac8ef55b8a6635c08a4c62e80ce78f1b9843484188ff8f4d262
MD5 f07125ac1420d37cf01927adfdc4a48d
BLAKE2b-256 190c38c6b87413f89febf24fbdfeb68eb12f556fce750a0068c1e205e32ee131

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dbdbcb4713b5dceb09052c7fdd94fe63bd1ad9335ed30eb212bc4aa9887c61c3
MD5 1a948d0a9d7b864b13f77ed42abc768e
BLAKE2b-256 e3618b3b64f1333060027d021130dd01af311bb13743e2e58746768fc68eac0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: attestant-0.23.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 de6b1930571eb69b677ba5d62ac70caf429b1402457b7bb946abdd13c7ce4f64
MD5 a9d826324ae63308b3f4586cbb2db794
BLAKE2b-256 e428fc9e476e91a9d8f97ade634f53c01ca68ce2163a0bb0dcb5d695873923b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fd78e134ae238728fef035fd1aaba6c5db1f2de6d610fdebf2cc2abf8d0d263
MD5 c88b3b79eed405bacf5156f8681f1e23
BLAKE2b-256 fe4ff9f382c85d0e7f68db07f7b845135bdc6e0d676875040d9a0ce27ed73198

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9227ff2b60ffe041ccad6e29735bc4385a9142b5654b3f02983553a98700bddf
MD5 ff6852ef54060aebe93df1e8ad4a16ea
BLAKE2b-256 1a4a2fdcee41b0b08c8b9c7842e0b38a175cc75f484be01c6bad8d381a491754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c582a5e0016f88bfa772ead62332f208c8bfd725b51bdc84ffec26fd930a2a80
MD5 c43f7d1e481398a8695657e0c5a97e53
BLAKE2b-256 e48459b8c3fcde21c4bcd81760aa38fda6ab8bb93d6e4395869901f1e343a16c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: attestant-0.23.0-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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 367245e9279a24d7967d9029b9a97d37f4c1115fa01dcf4970929d339e7464cf
MD5 3b3a976a680ab77573f9b070861df00d
BLAKE2b-256 4e83f12e3c43c3226f2d7aa6db07d5f4778c706d9f730c088cc1556e2a01866a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b48f2bdaaf63d6af2cd092e05d52edeebe2f1fa0aeffecf4a371d160b68d0611
MD5 9774658daeab1dd3519dee99055e1721
BLAKE2b-256 06c08d6d40759fc5e0bf1f935b693fdf811437c04b0ef0cb3de4759e8cc7a68d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd1dc58bd8f686c78c925469e5865d80cfd5d29721458b903baa069d8d8f0548
MD5 de252ab88148b05d9ca4dfe58f2de8d6
BLAKE2b-256 7fbbf8d6d00821fc804d5035a71bd0c44e5a15acf39273bd67fab2cddf57224a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for attestant-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc8cf54f4fdfcba5760d270798cf481c1d682a23053123721386079314c09805
MD5 3bc0330eed5319f6dca7a30eebf35963
BLAKE2b-256 0ad98ec70145066c2361236f433ec0d8bd0c85ebb57fbd73ed8b4eb1e9cd59c1

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