Skip to main content

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

Core Features

Table Formats & Assets

Advanced Features

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)

Source distribution for pypangolin 0.8.0
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)

Table of built distributions (wheels) for pypangolin 0.8.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page