unitycatalog-ai
Official Python library for Unity Catalog AI support
What it is and what it does
unitycatalog-ai is a Python library that wraps the Unity Catalog client SDK to provide high-level APIs for managing and executing UC functions. It enables developers to register Python functions into a Unity Catalog server, retrieve function metadata, and execute those functions either synchronously or asynchronously. The library is designed to integrate UC functions as tools within GenAI agent workflows, allowing agents to call registered functions as part of their reasoning and action loops.
The library supports both standard function creation and wrapped functions, which bundle helper functions inline with a primary function to simplify code reuse. It enforces strict type validation based on function signatures and docstrings, and provides both async and sync interfaces to accommodate different application architectures. Core dependencies include pydantic for validation, cloudpickle for serialization, nest-asyncio for event loop management, and unitycatalog-client for the underlying REST communication.
Use it for:
- Register Python utility functions into Unity Catalog and expose them as tools for GenAI agents to call during reasoning.
- Build modular function libraries where helper functions are bundled with primary functions using wrapped function creation.
- Integrate UC function execution into async-first applications or synchronous environments without rewriting function interfaces.
- Manage function lifecycle (create, retrieve, list, delete, execute) programmatically from Python applications.
- Enforce type safety and parameter validation on function execution by leveraging strict schema-based type checking.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python APIs to create, retrieve, and execute Unity Catalog functions with both async and sync interfaces, supporting integration of UC functions as tools in GenAI agents.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and is licensed permissively under Apache-2.0. Install it if you need to integrate Unity Catalog functions into Python applications or GenAI agent workflows. Be aware that function execution occurs locally in your environment, so review security implications when executing agent-generated code.
Install
unitycatalog-ai on PyPI
pip
pip install unitycatalog-aiuv
uv add unitycatalog-aipoetry
poetry add unitycatalog-aiInstalling unitycatalog-ai
Before you install
Low install friction with a pure-Python wheel and five runtime dependencies. The package is actively maintained with recent commits and has been in active development since December 2024.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most production and proprietary projects.
Quickstart
pip install unitycatalog-ai
from unitycatalog.ai.core.client import UnitycatalogFunctionClient
from unitycatalog.client import ApiClient, Configuration
config = Configuration(host="http://localhost:8080/api/2.1/unity-catalog")
api_client = ApiClient(configuration=config)
uc_client = UnitycatalogFunctionClient(api_client=api_client)
def add_numbers(a: float, b: float) -> float:
return a + b
function_info = uc_client.create_python_function(
func=add_numbers,
catalog="my_catalog",
schema="my_schema"
)
Requires Python 3.10 or higher and a running Unity Catalog server instance. Avoid creating additional event loops in environments that already have a running loop (e.g., Jupyter Notebooks).
Verify before relying
- Whether the package's caching mechanisms and type validation performance characteristics are documented or benchmarked.
- Specific security hardening recommendations beyond running in an isolated environment with restricted permissions.
- Whether wrapped function inlining has practical limits on helper function complexity or dependency depth.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — cloudpickle, nest-asyncio, pydantic, typing-extensions, unitycatalog-client |
| Maintenance | actively maintained — 112 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,651,980/month — #3,681 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: unitycatalog_ai-0.4.0-py3-none-any.whl
Keywords: ai, databricks, function, genai, tool, 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-clientProvides async Python bindings to the Unity…
permissive · top 5,000 on PyPI
unitycatalog-openaiExposes Unity Catalog functions as tools for…
permissive · top 5,000 on PyPI
unitycatalog-langchainExposes Unity Catalog functions as LangChain…
permissive · top 5,000 on PyPI
databricks-feature-engineeringDatabricks Feature Engineering client for…
unclear · top 5,000 on PyPI
databricks-openaiIntegrates Databricks AI features, particularly…
permissive · top 5,000 on PyPI
databricks-agentsMosaic AI Agent Framework SDK provides a Python…
unclear · top 5,000 on PyPI
databricks-apiProvides a simplified Python interface to the…
permissive · top 5,000 on PyPI
databricks-ai-bridgeProvides a shared Python API layer for building…
unclear · top 5,000 on PyPI
dbt-databricksdbt-databricks is a dbt adapter that enables…
permissive · top 5,000 on PyPI
databricks-ai-searchPython client for Databricks AI Search, a…
unclear · top 5,000 on PyPI