skillfed

unitycatalog-ai

Official Python library for Unity Catalog AI support

unitycatalog-ai v0.4.0 1.7M downloads/30d#3,681 on PyPI3,487
Permissive license Apache-2.0 Active released

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-ai

uv

uv add unitycatalog-ai

poetry

poetry add unitycatalog-ai

Installing 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

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.12Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

unity catalog function clientgenai agent toolsfunction management apidatabricks unity catalogasync function executionwrapped function supportfunction registry integration
genai-integrationfunction-registryasync-sync-dual

More Software Development packages

typing-extensions

Provides backported and experimental type hints…

permissive · top 100 on PyPI

numpy

NumPy provides an N-dimensional array object…

permissive · top 100 on PyPI

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

annotated-doc

Provides a way to document function parameters,…

permissive · top 100 on PyPI

typer

Typer builds command-line applications from…

permissive · top 1,000 on PyPI

distlib

Distlib provides low-level packaging utilities…

permissive · top 1,000 on PyPI

unitycatalog-client

Provides async Python bindings to the Unity…

permissive · top 5,000 on PyPI

unitycatalog-openai

Exposes Unity Catalog functions as tools for…

permissive · top 5,000 on PyPI

unitycatalog-langchain

Exposes Unity Catalog functions as LangChain…

permissive · top 5,000 on PyPI

databricks-feature-engineering

Databricks Feature Engineering client for…

unclear · top 5,000 on PyPI

databricks-openai

Integrates Databricks AI features, particularly…

permissive · top 5,000 on PyPI

databricks-agents

Mosaic AI Agent Framework SDK provides a Python…

unclear · top 5,000 on PyPI

databricks-api

Provides a simplified Python interface to the…

permissive · top 5,000 on PyPI

databricks-ai-bridge

Provides a shared Python API layer for building…

unclear · top 5,000 on PyPI

dbt-databricks

dbt-databricks is a dbt adapter that enables…

permissive · top 5,000 on PyPI

databricks-ai-search

Python client for Databricks AI Search, a…

unclear · top 5,000 on PyPI