Skip to main content

Python client for Pangolin Data Catalog

Project description

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

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

pypangolin-0.5.1.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypangolin-0.5.1-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file pypangolin-0.5.1.tar.gz.

File metadata

  • Download URL: pypangolin-0.5.1.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pypangolin-0.5.1.tar.gz
Algorithm Hash digest
SHA256 29ce8a0b9652628df90c92a0d85b5cfbc4944beac3c107241a3178614ec2065a
MD5 15a61e781e936785a46bd00bb94c0ce4
BLAKE2b-256 e69f9e5e56055b30f0fdaa1099da1521ca75b4f6d1d21b9bd5dfd1f910d193bb

See more details on using hashes here.

File details

Details for the file pypangolin-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: pypangolin-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pypangolin-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d6e8ba38aeadae861a1a29ede740cc06924bb0a6877f82977591c302ecca84
MD5 a2a98f11f294e918bd55409ec1343556
BLAKE2b-256 43acb77ef930b22a52f5293768e03898b45ac2473ea3b185b126e414c71dd30e

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