unitycatalog-client
Official Python SDK for Unity Catalog
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-clientuv
uv add unitycatalog-clientpoetry
poetry add unitycatalog-clientInstalling 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
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
unitycatalog-aiProvides Python APIs to create, retrieve, and…
permissive · top 5,000 on PyPI
unitycatalog-openaiExposes Unity Catalog functions as tools for…
permissive · top 5,000 on PyPI
pyatlanOfficial Python SDK for Atlan, providing…
permissive · top 15,000 on PyPI
unitycatalog-langchainExposes Unity Catalog functions as LangChain…
permissive · top 5,000 on PyPI
UnityPyUnityPy extracts and edits Unity asset files…
permissive · top 15,000 on PyPI
pyicebergPyIceberg provides programmatic access to…
permissive · top 1,000 on PyPI
google-cloud-datacatalogA Python client library for Google Cloud Data…
permissive · top 1,000 on PyPI
databricks-feature-engineeringDatabricks Feature Engineering client for…
unclear · top 5,000 on PyPI
azure-mgmt-datalake-analyticsProvides Python bindings to manage Azure Data…
permissive · top 5,000 on PyPI
intakeIntake provides a declarative data catalog…
permissive · top 5,000 on PyPI