skillfed

unitycatalog-client

Official Python SDK for Unity Catalog

unitycatalog-client v0.5.1 1.7M downloads/30d#3,598 on PyPI3,487
Permissive license Apache-2.0 Active released

What it is and what it does

The unitycatalog-client is an auto-generated async Python SDK that wraps the Unity Catalog REST API. Unity Catalog is an open-source, vendor-neutral metadata catalog designed to govern data and AI assets across multiple storage formats (Delta Lake, Apache Iceberg, Hudi, Parquet, JSON, CSV) and compute engines. The SDK lets you programmatically create and manage catalogs, schemas, tables, and other assets through a Python-native async interface.

The library is built on aiohttp for non-blocking HTTP requests and pydantic for data validation. It supports Python 3.9 and later. The SDK is generated from an OpenAPI specification, which means its API surface mirrors the REST endpoints directly. You configure a client with a server URL, then instantiate API classes (CatalogsApi, SchemasApi, etc.) to make requests. Pagination is supported through continuation tokens for list operations.

Use it for:

  • Automate catalog and schema creation and management in a data platform or data lake infrastructure.
  • Build governance workflows that query and update asset metadata, permissions, and ownership across multiple catalogs.
  • Integrate Unity Catalog metadata into data pipeline orchestration tools or custom data discovery applications.
  • Programmatically register and manage AI models, functions, and other assets alongside tabular data in a unified catalog.
  • Sync metadata between external systems and Unity Catalog via async batch operations.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides async Python bindings to the Unity Catalog REST API, enabling programmatic access to catalog, schema, table, and asset management across multiple data formats and compute engines.

Yes, if you are building against a Unity Catalog server. The package is actively maintained, has no known vulnerabilities, low install friction, and provides the official async Python interface to the catalog API. It is suitable for production use in data governance, pipeline automation, and metadata management workflows. Not applicable if you do not have a Unity Catalog deployment to connect to.

Install

unitycatalog-client on PyPI

pip

pip install unitycatalog-client

uv

uv add unitycatalog-client

poetry

poetry add unitycatalog-client

Installing unitycatalog-client

Before you install

Low friction install with a pure-Python wheel. Actively maintained with a recent release (27 days old) and 3487 repository stars. Depends on standard async HTTP libraries (aiohttp, aiohttp-retry) and common utilities (pydantic, python-dateutil, urllib3, typing-extensions).

License in practice

Apache 2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most commercial and open-source projects.

Quickstart

pip install unitycatalog-client

from unitycatalog.client import Configuration, ApiClient, CatalogsApi

config = Configuration()
config.host = "http://localhost:8080/api/2.1/unity-catalog"
client = ApiClient(configuration=config)
catalogs_api = CatalogsApi(api_client=client)
my_catalogs = await catalogs_api.list_catalogs()

Requires a running Unity Catalog server to connect to; all API calls are async and must be awaited within an async context.

Verify before relying

  • Whether the generated OpenAPI client covers all Unity Catalog REST endpoints or if some are missing.
  • Performance characteristics and rate-limiting behavior when handling large paginated responses.
  • Compatibility with different Unity Catalog server versions and whether breaking changes are tracked.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 6 — aiohttp-retry, aiohttp, pydantic, python-dateutil, typing-extensions, urllib3
Maintenance actively maintained — 27 days since the last release
Last repo commit
First released
Downloads 1,743,634/month — #3,598 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: unitycatalog_client-0.5.1-py3-none-any.whl

Keywords: sdk, unitycatalog

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: End Users/DesktopIntended Audience :: Information TechnologyIntended Audience :: Other AudienceIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

unity catalog python clientdata catalog sdkasync catalog apimetadata management pythondata governance apiiceberg delta lake catalogai asset catalog
data-catalogmetadata-managementasync-api

More Software Development packages