AI assurance that compiles. Turn EU AI Act + ISO 42001 + DORA controls into executable OSCAL policy and enforce it at training time with one decorator.
Project description
Venturalítica SDK
📄 Companion to the arXiv preprint Making AI Compliance Evidence Machine-Readable (Cilla Ugarte et al., 2026). See
CITATION.cffand the normative OSCAL contract.
Compliance by Design — AI Assurance through Compliance-as-Code.
The Venturalítica SDK enables Data Scientists and ML Engineers to integrate compliance and risk management directly into their training workflows. Built on the OSCAL (Open Security Controls Assessment Language) standard, it provides semantic policy enforcement with educational audit trails.
Join our Discord community — Get help, share your use case, and discuss EU AI Act compliance with other engineers.
✨ Key Features
- Glass Box Governance: Sequential regulatory mapping (Art 9-15) for total transparency.
- Strict Mode: Auto-enforcement of compliance checks in CI/CD environments.
- Deep Provenance: Trace data lineage across Files, SQL, and S3 using
ArtifactProbe. - Local Sovereignty: Zero-cloud dependency. All enforcement runs locally.
- TraceCollector Architecture: Unified evidence gathering for BOM, metrics, anlogs.
- Educational Audits: Control descriptions that explain why metrics matter.
- Deep Integrations: Seamless "Glass Box" syncing with MLflow & WandB.
- OSCAL-Native: Policy-as-Code using standard NIST formats.
- Annex IV Ready: Auto-draft technical documentation from local traces.
📦 Installation
pip install venturalitica
⚙️ Configuration
The SDK supports the following Environment Variables. We recommend using a .env file (but never commit it!).
| Variable | Description | Default | Required? |
|---|---|---|---|
MISTRAL_API_KEY |
Get a Free Key. Used for Cloud Fallback if local Ollama fails. | None | Recommended |
VENTURALITICA_LLM_PRO |
Set to true to use Mistral even if Ollama is available (Higher Quality). |
false |
No |
VENTURALITICA_STRICT |
Set to true to enforce strict compliance checks (fail on missing metrics). |
false |
No |
MLFLOW_TRACKING_URI |
If set, monitor() will auto-log audits to MLflow. |
None | No |
📋 Prerequisites
- Python: 3.11+
- Local LLM (Optional):
- Ollama: (Recommended for standard local use).
- ALIA (Experimental): Native Spanish Sovereign model (Requires High-End GPU).
- Note: If you cannot run local models, please set
MISTRAL_API_KEYfor cloud generation.
🚀 Quick Start
60-Second Demo
import venturalitica as vl
# Auto-downloads UCI German Credit and runs bias audit
results = vl.quickstart('loan')
Output:
[📊] Loaded: UCI Dataset #144 (1000 samples)
[✅] PASSED: 3/3 fairness controls
🎉 Dataset passes bias checks!
Analyze Your Own Data
First, create a policy file (fairness.yaml) that defines what to check:
assessment-plan:
uuid: my-policy
metadata:
title: "Fairness Policy"
reviewed-controls:
control-selections:
- include-controls:
- control-id: gender-check
description: "Approval rates must be similar across genders"
props:
- name: metric_key
value: demographic_parity_diff
- name: threshold
value: "0.10"
- name: operator
value: "<"
Then run the audit:
import pandas as pd
import venturalitica as vl
df = pd.read_csv("my_data.csv")
vl.enforce(
data=df,
target="approved",
gender="gender",
policy="fairness.yaml"
)
📚 Documentation
Read Full Documentation — Hosted on Starlight.
Quick guides:
- Quickstart Guide: Get started in 60 seconds
- Full Lifecycle Walkthrough: Zero to Annex IV in one page
- Policy Authoring: Write OSCAL policies for your AI systems
- Compliance Dashboard: Understanding the Glass Box Dashboard (Art 9-15)
- Evidence Probes: Automated evidence collection for audits
- Samples Repository: Real-world examples
🎯 Core Concepts
Role-Based Binding
The SDK uses a three-tier mapping system:
- Functional Roles (defined by metrics):
target,prediction,dimension - Semantic Variables (defined in policies):
gender,age_group,income - Physical Columns (in your DataFrame):
sex_col,age_cat,salary
This decoupling allows policies to evolve independently of your training code.
Educational Audits
Control descriptions include regulatory context:
- control-id: data-quality-check
description: "Data Quality: Minority class should represent at least 20% to avoid Class Imbalance"
🛠️ CLI Tools
BOM & Supply Chain
The SDK automatically generates a CycloneDX ML-BOM during execution via vl.monitor().
Detects:
- Python dependencies (
requirements.txt,pyproject.toml) - ML models (scikit-learn, PyTorch, TensorFlow, XGBoost, etc.)
- MLOps frameworks (MLflow, WandB, ClearML)
Output: bom key within your audit trace JSON.
Compliance Dashboard
Launch the Local Regulatory Map to interpret your evidence:
venturalitica ui
Read the Guide: Understanding the Dashboard
Features:
- Article 9-15 Walk: A sequential check of Risk, Data, Transparency, and Oversight.
- Sequential Verification: See exactly which technical artifact satisfies which legal article.
- Annex IV Draft: Generate the PDF-ready markdown file with
venturalitica doc.
Integrates with:
trace_*.json(fromvl.monitor())emissions.csv(from CodeCarbon)- OSCAL policies
📡 Telemetry & Privacy
Venturalítica collects anonymous usage data to help us improve the SDK.
- What we track: Command usage (
login,pull,push), SDK execution times, and errors. - What we DO NOT track: Your datasets, PII, IP addresses, or any code content.
- Privacy First: We host our analytics in the EU and strictly disable IP tracking (
disable_geoip=True).
Opt-Out: To disable telemetry completely, set the environment variable:
export VENTURALITICA_NO_ANALYTICS=1
Or follow the standard DO_NOT_TRACK specification.
🔒 Data Sovereignty & Privacy
Venturalítica follows a strict Local-First architecture.
- No Cloud Uploads:
vl.enforce()andvl.quickstart()run entirely on your local machine. Your datasets never leave your environment. - Telemetry: Usage metrics (if enabled) are strictly metadata (e.g., performance, error rates) and contain NO PII.
- Compliance Data: All evidence (
trace_*.json) is stored locally in.venturalitica/. You own your compliance data.
☁️ Venturalítica Cloud (Coming Soon)
Enterprise-grade EU AI Act & ISO 42001 compliance management
While the SDK provides frictionless local enforcement, Venturalítica Cloud will offer a complete compliance lifecycle management platform for EU AI Act and ISO 42001:
What's Coming
- Visual Policy Builder: Create OSCAL policies mapped to EU AI Act Articles 9-15 & ISO 42001 controls
- Team Collaboration: Centralized policy management across organizations
- Compliance Dashboard: Real-time status for EU AI Act & ISO 42001 requirements
- Annex IV Generator: Auto-generate complete EU AI Act technical documentation
- Risk Assessment: Guided workflows for high-risk AI system classification
- Audit Trail: Immutable compliance history for regulatory inspections
- Integration Hub: Connect with your existing MLOps and governance tools
Early Access
Interested in early access to Venturalítica Cloud?
- Join the waitlist: www.venturalitica.ai (coming soon)
- Enterprise inquiries: Contact us for pilot programs
The SDK will always remain free and open-source under Apache 2.0. The cloud platform will offer additional enterprise features for teams managing EU AI Act and ISO 42001 compliance at scale.
🤝 Contributing
We welcome contributions! Please see our Contributing Guide.
📄 License
Apache 2.0 - See LICENSE for details.
🔗 Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file venturalitica-0.6.1.tar.gz.
File metadata
- Download URL: venturalitica-0.6.1.tar.gz
- Upload date:
- Size: 136.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac8f8909b85c2efa8d221bbe4c31e3ddd8b197d4fbe9f926280f6a4e7af023fb
|
|
| MD5 |
6c6061c4bf49322df1f4fb127a50ed86
|
|
| BLAKE2b-256 |
a4975b5f99d698239b1d1ed30d707cfb538bd8f564ac07af14a501604f659bdf
|
Provenance
The following attestation bundles were made for venturalitica-0.6.1.tar.gz:
Publisher:
publish.yml on Venturalitica/venturalitica-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venturalitica-0.6.1.tar.gz -
Subject digest:
ac8f8909b85c2efa8d221bbe4c31e3ddd8b197d4fbe9f926280f6a4e7af023fb - Sigstore transparency entry: 1422485672
- Sigstore integration time:
-
Permalink:
Venturalitica/venturalitica-sdk@3034d0f2f7c76f34e6540900fe3c8b7c7bad881e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Venturalitica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3034d0f2f7c76f34e6540900fe3c8b7c7bad881e -
Trigger Event:
push
-
Statement type:
File details
Details for the file venturalitica-0.6.1-py3-none-any.whl.
File metadata
- Download URL: venturalitica-0.6.1-py3-none-any.whl
- Upload date:
- Size: 162.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28371000018d7a37abfdc218d2c9aa5cfd5c982c831925fa70704ab0b199329e
|
|
| MD5 |
595782040ba224a3a2455d98312d3390
|
|
| BLAKE2b-256 |
c2079eb9613a889b13efe487999b3d08709f69f6d49dc90de6201c67c4bee974
|
Provenance
The following attestation bundles were made for venturalitica-0.6.1-py3-none-any.whl:
Publisher:
publish.yml on Venturalitica/venturalitica-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
venturalitica-0.6.1-py3-none-any.whl -
Subject digest:
28371000018d7a37abfdc218d2c9aa5cfd5c982c831925fa70704ab0b199329e - Sigstore transparency entry: 1422485750
- Sigstore integration time:
-
Permalink:
Venturalitica/venturalitica-sdk@3034d0f2f7c76f34e6540900fe3c8b7c7bad881e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Venturalitica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3034d0f2f7c76f34e6540900fe3c8b7c7bad881e -
Trigger Event:
push
-
Statement type: