PyPangolin
Python Client for the Pangolin Data Catalog.
Installation
pip install pypangolin
For Delta Lake support:
pip install "pypangolin[delta]"
Quick Start
Core Client
from pypangolin import PangolinClient
# Connect to Pangolin
client = PangolinClient(uri="http://localhost:8080")
client.login("username", "password")
# Work with catalogs
catalogs = client.catalogs.list()
### Warehouse Management
```python
# Create an S3 warehouse with custom configuration (e.g. MinIO)
warehouse = client.warehouses.create_s3(
name="minio_warehouse",
bucket="my-bucket",
endpoint="http://minio:9000",
access_key="minio",
secret_key="minio123",
# Pass extra S3 properties via kwargs
**{"s3.path-style-access": "true"}
)
### PyIceberg Integration
```python
from pypangolin import get_iceberg_catalog
catalog = get_iceberg_catalog("analytics", uri="http://localhost:8080", token="...")
table = catalog.load_table("sales.transactions")
Generic Assets (Delta Lake)
from pypangolin.assets import DeltaAsset
# Write data and register in Pangolin automatically
DeltaAsset.write(
client,
"analytics", "staging", "my_delta_table",
dataframe,
location="s3://bucket/path"
)
Documentation
Getting Started
- Authenticated Mode Guide - Standard operational mode with user authentication
- No Auth Mode Guide - For local development and testing
- Publishing Guide - Build and release instructions
Core Features
- PyIceberg Integration - Apache Iceberg tables with PyIceberg
- Advanced Git Operations - Branching, merging, tagging, and conflict resolution
Table Formats & Assets
- Apache Iceberg: PyIceberg Integration
- Delta Lake: Delta Guide
- Apache Hudi: Hudi Guide
- Apache Paimon: Paimon Guide
- File Formats: Parquet | CSV | JSON
- Specialized Formats: Lance | Vortex
- Other Assets: ML Models, Video, Images, etc.
Advanced Features
- Governance & Security - RBAC, permissions, service users, metadata
- Admin & System - Audit logging, search, tokens, system config
- Federated Catalogs & Views - Remote catalogs and SQL views
- Database Connections - Secure credential management for databases
Features
✅ Full API Coverage - Complete support for all Pangolin REST API endpoints
✅ PyIceberg Integration - Seamless Apache Iceberg table operations
✅ Multi-Format Support - Delta, Hudi, Paimon, Parquet, CSV, JSON, and more
✅ Git-like Operations - Branching, merging, tagging with conflict resolution
✅ Governance - Role-based access control and business metadata
✅ Federated Catalogs - Connect to remote Iceberg catalogs
✅ Type-Safe - Pydantic models for all API responses
✅ Audit Logging - Comprehensive audit logs with user attribution
Verification
To run the end-to-end verification suite against a local Pangolin + MinIO stack:
# Ensure MinIO is running and buckets exist
python3 scripts/ensure_buckets.py
# Run verification script
python3 scripts/verify_pypangolin_live.py
License
MIT
Metadata
Release files for pypangolin 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pypangolin-0.8.0.tar.gz | 51.3 kB | Without provenance | Details for pypangolin-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pypangolin-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for pypangolin-0.8.0-py3-none-any.whl |
Total release size: 91.2 kB
Release files / pypangolin-0.8.0.tar.gz
| Download URL | pypangolin-0.8.0.tar.gz |
|---|---|
| Size | 51.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c0e91cb1b37796d4a672054237277f4024abe718811822927b9f9962768accc
|
|
BLAKE2b-256 checksum How to use checksums |
2e2517861a391cb4ef91b1d20bacbc1013f5d33f07d03690fb7bcb822802746a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / pypangolin-0.8.0-py3-none-any.whl
| Download URL | pypangolin-0.8.0-py3-none-any.whl |
|---|---|
| Size | 39.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c032ea0092d66818546c07e01b14df478089d65a774248b461978a839ba3131
|
|
BLAKE2b-256 checksum How to use checksums |
fc98f2099fa68c0bedcbae58e178ad814dcd52ca6a9fc38532de012f5b291a17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Security for pypangolin 0.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.