Holonomy is a Data Governance tool designed specifically for local data processing. It enables Data Scientists and Engineers to run high-performance local analytics on highly sensitive enterprise data while strictly enforcing corporate access and data visibility policies.
By integrating directly into your Python process, Holonomy decrypts, filters, and masks data locally in memory without requiring complex proxy servers or remote compute clusters.
Supported Stack:
- Storage: Local file systems and S3-compatible object storage (AWS S3, Cloudflare R2).
- Format: Exclusively supports Apache Parquet (leveraging Parquet Modular Encryption).
- Compute: Zero-copy integration with Polars, DuckDB, Pandas, and PyArrow.
Features
- Local Processing, Enterprise Compliance: Safely pull encrypted datasets to your local machine. Holonomy evaluates centralized JSON Policy Manifests to dynamically enforce Row-Level Security (RLS) and Data Masking at read-time before the data ever reaches your DataFrame.
- In-Process Execution (No Proxies): Forget deploying dedicated proxy servers, sidecars, or heavy compute clusters just for governance. Holonomy leverages your existing enterprise infrastructure (KMS, IdP, S3) and runs the actual decryption and policy filtering completely inside your application's Python process. Just run
pip install holonomy. - Zero-Copy Performance: Built on a highly concurrent Rust core and the Apache Arrow C Data Interface, Holonomy operates with true zero-copy semantics. The computational overhead for cryptographic validation and policy linting is practically invisible.
- Zero-Knowledge Cryptography: Data is protected at rest. In memory, your data is handled with extreme paranoia: cryptographic keys (DEKs) are forcefully wiped the moment they are no longer needed using the
ZeroizeOnDroppattern.
Installation
Install via pip or uv:
pip install holonomy
# or
uv add holonomy
Quick Start
Holonomy includes a zero-config local development mode. You can copy-paste this block and run it immediately without setting up any cloud infrastructure!
import holonomy
import pyarrow as pa
import polars as pl
# 1. Initialize local dev mode (Mock KMS and Mock Identity)
holonomy.init(kms_provider="mock", policy_bucket="local", identity_provider="mock")
# 2. Create sensitive dummy data
batch = pa.RecordBatch.from_arrays(
[pa.array([1, 2]), pa.array(["alice@test.com", "bob@test.com"])],
names=["id", "email"]
)
# 3. Securely write data (Locally encrypts with Parquet Modular Encryption)
contract = '{"name": "Users", "version": "1.0", "columns": [{"name": "id", "type": "int64", "required": true}, {"name": "email", "type": "string", "required": true}]}'
holonomy.write(
batch=batch,
target="file:///tmp/users.parquet",
purpose="data-engineering",
contract_json=contract
)
# 4. Securely read data (Decrypts locally and dynamically enforces Data Masking)
arrow_data = holonomy.read(
target="file:///tmp/users.parquet",
columns_to_read=["email"],
purpose="data-science-analytics"
)
# 5. Zero-Copy transition directly into Polars!
df = pl.from_arrow(arrow_data)
print(df)
Documentation
Comprehensive documentation is available in the docs/ directory:
- 1. Introduction & Core Concepts
- 2. Getting Started & Installation
- 3. Policy and Governance Engine
- 4. Producer Path: Secure Data Ingestion
- 5. Consumer Path: High Performance Analytics
- 6. Advanced Features & Edge Case Handling
- 7. Infrastructure & Security Integrations
- 8. Troubleshooting, Safety & Best Practices
- 9. Frequently Asked Questions
Authoring Guides
License
Holonomy is licensed under the Business Source License (BSL). See the LICENSE file for more information.
Release files for holonomy 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| holonomy-0.1.1.tar.gz | 156.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| holonomy-0.1.1-cp312-cp312-manylinux_2_39_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.39+ x86-64 | Details |
Total release size: 14.4 MB
Release files / holonomy-0.1.1.tar.gz
| Download URL | holonomy-0.1.1.tar.gz |
|---|---|
| Size | 156.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ed4274eb5861a3c9ba354e24e47f33c994ffe653fa93e17f1c70fbd3e5133db
|
|
BLAKE2b-256 checksum How to use checksums |
bc72930d0747127cdd1a8a5a0bc694bebb6f6fea3343645ae5bf8d87af218fb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / holonomy-0.1.1-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | holonomy-0.1.1-cp312-cp312-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
50ef57363b88deba5b47e1a0eac1e87f07cc7e677f9cecdfe9e5879243aaf1b9
|
|
BLAKE2b-256 checksum How to use checksums |
951fafe77939efa09fe0421d012da11c40deeb1052a07eb1b15f8ca85a8475a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|