Skip to main content

Apache Polaris catalog plugin for the floe data platform

Project description

floe-catalog-polaris

Apache Polaris Catalog Plugin for the floe data platform.

Overview

This plugin provides Iceberg catalog management via Apache Polaris, implementing the CatalogPlugin ABC from floe-core.

Features

  • OAuth2 authentication with automatic token refresh
  • Namespace management (create, list, delete)
  • Table operations (create, list, drop)
  • Credential vending (X-Iceberg-Access-Delegation)
  • Health monitoring with response time tracking
  • OpenTelemetry trace instrumentation

Installation

pip install floe-catalog-polaris

Quick Start

from floe_core.plugins import get_plugin

# Get the Polaris catalog plugin
catalog = get_plugin("catalog", "polaris")

# Configure and connect
config = {
    "uri": "https://polaris.example.com/api/catalog",
    "warehouse": "default_warehouse",
    "oauth2": {
        "client_id": "${POLARIS_CLIENT_ID}",
        "client_secret": "${POLARIS_CLIENT_SECRET}",
        "token_url": "https://polaris.example.com/oauth/token",
    },
}
iceberg_catalog = catalog.connect(config)

# List namespaces
namespaces = catalog.list_namespaces()

Configuration

See quickstart.md for detailed configuration options.

Development

# Install in development mode
cd plugins/floe-catalog-polaris
pip install -e ".[dev]"

# Run tests
pytest tests/unit/
pytest tests/integration/  # Requires Polaris in Kind cluster

License

Apache 2.0

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

floe_catalog_polaris-0.1.0a1.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

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

floe_catalog_polaris-0.1.0a1-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file floe_catalog_polaris-0.1.0a1.tar.gz.

File metadata

  • Download URL: floe_catalog_polaris-0.1.0a1.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for floe_catalog_polaris-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 90c8d51962cfa50e2a280917120327989eadf8dd1b60d766a2b8c748f274daa4
MD5 1e4c317f9b4eea511d7890cc1eae0003
BLAKE2b-256 942f23c1a4ea60bc1517d53c7a9f2ec0529d2a2dd779db74454faf618b7ee367

See more details on using hashes here.

File details

Details for the file floe_catalog_polaris-0.1.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for floe_catalog_polaris-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 2b580def7d9174dfc24d4605ab1c251ef59bc8cf3bf72b276b2d90ac79a46bd5
MD5 9079a3f7c23c47d278d96eda4463e242
BLAKE2b-256 c32a45f1551abb28e9db5a04f97008f814e40bbefd374203cb46a86532fea2b7

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