π apx is the toolkit for building Databricks Apps β‘
β¨ apx bundles together a set of tools and libraries to help you with app development lifecycle: develop, build and deploy.
π‘ The main idea of apx is to provide convenient, fast and AI-friendly development experience.
uvx --index https://databricks-solutions.github.io/apx/simple apx initTo upgrade apx, you can use the following command:
uv sync --upgrade-package apx --index https://databricks-solutions.github.io/apx/simpleΒ© 2025 Databricks, Inc. All rights reserved. The source in this project is provided subject to the Databricks License.
apx bundles the Bun JavaScript runtime directly into its wheels to provide an end-to-end development experience for users. This means users don't need to separately install Node.js, npm, or any JavaScript toolchain β everything required for frontend development is included out of the box.
Bun is licensed under the MIT License. See the Bun License for details.
The core of apx is written in Rust. Below is the complete list of Rust crates used:
| Crate | Description | License | Source |
|---|---|---|---|
| pyo3 | Python bindings for Rust, enabling seamless Python-Rust interoperability | MIT/Apache-2.0 | GitHub |
| clap | Command line argument parser with derive macros for CLI definition | MIT/Apache-2.0 | GitHub |
| dirs | Platform-specific standard directories (config, cache, data paths) | MIT/Apache-2.0 | GitHub |
| dialoguer | Interactive command-line prompts and user input handling | MIT | GitHub |
| indicatif | Progress bars, spinners, and CLI status indicators | MIT | GitHub |
| rand | Random number generation for various use cases | MIT/Apache-2.0 | GitHub |
| tera | Jinja2-like template engine for project scaffolding | MIT | GitHub |
| toml | TOML parsing and serialization for configuration files | MIT/Apache-2.0 | GitHub |
| toml_edit | TOML editing while preserving formatting and comments | MIT/Apache-2.0 | GitHub |
| walkdir | Recursive directory traversal for file operations | MIT/Unlicense | GitHub |
| chrono | Date and time handling with timezone support | MIT/Apache-2.0 | GitHub |
| axum | Modern async web framework with WebSocket support for dev server | MIT | GitHub |
| reqwest | HTTP client for making API requests and downloading resources | MIT/Apache-2.0 | GitHub |
| serde | Serialization/deserialization framework for data structures | MIT/Apache-2.0 | GitHub |
| serde_json | JSON serialization/deserialization for API communication | MIT/Apache-2.0 | GitHub |
| serde_yaml | YAML serialization/deserialization for config files | MIT/Apache-2.0 | GitHub |
| tokio | Async runtime powering all concurrent operations | MIT | GitHub |
| tokio-stream | Stream utilities and adapters for async iteration | MIT | GitHub |
| tokio-util | Additional utilities for Tokio (I/O helpers, codecs) | MIT | GitHub |
| futures-util | Utilities for working with futures and async streams | MIT/Apache-2.0 | GitHub |
| sysinfo | System information retrieval (processes, CPU, memory) | MIT | GitHub |
| tracing | Application-level tracing and structured logging | MIT | GitHub |
| tracing-subscriber | Tracing event subscribers and formatters | MIT | GitHub |
| opentelemetry | Observability SDK for distributed tracing and metrics | Apache-2.0 | GitHub |
| opentelemetry_sdk | OpenTelemetry SDK implementation with Tokio runtime | Apache-2.0 | GitHub |
| opentelemetry-otlp | OTLP exporter for sending telemetry to collectors | Apache-2.0 | GitHub |
| opentelemetry-appender-tracing | Bridge between tracing and OpenTelemetry | Apache-2.0 | GitHub |
| opentelemetry-proto | OpenTelemetry protocol buffer definitions | Apache-2.0 | GitHub |
| notify | Cross-platform file system change notifications for hot reload | CC0-1.0/Artistic-2.0 | GitHub |
| tokio-tungstenite | WebSocket client/server for real-time communication | MIT | GitHub |
| tokio-postgres | Async PostgreSQL client for database operations | MIT/Apache-2.0 | GitHub |
| schemars | JSON Schema generation from Rust types for API docs | MIT | GitHub |
| biome_css_parser | CSS parser for analyzing and transforming stylesheets | MIT | GitHub |
| biome_css_syntax | CSS syntax tree definitions for parsing | MIT | GitHub |
| biome_rowan | Red-green tree library for syntax analysis | MIT | GitHub |
| url | URL parsing and manipulation | MIT/Apache-2.0 | GitHub |
| lancedb | Vector database with search capabilities (used in mcp search) | Apache-2.0 | GitHub |
| arrow | Apache Arrow columnar data format implementation | Apache-2.0 | GitHub |
| lance-index | Lance index implementation for vector search | Apache-2.0 | GitHub |
| zip | ZIP archive reading/writing for packaging | MIT | GitHub |
| rayon | Data parallelism library for parallel iteration | MIT/Apache-2.0 | GitHub |
| hex | Hexadecimal encoding/decoding utilities | MIT/Apache-2.0 | GitHub |
| rusqlite | SQLite bindings for local data storage | MIT | GitHub |
| prost | Protocol Buffers implementation for Rust | Apache-2.0 | GitHub |
| tempfile | Temporary file and directory creation (dev dependency) | MIT/Apache-2.0 | GitHub |
Libraries used in generated projects and the Python runtime:
| Library | Description | License | Source |
|---|---|---|---|
| FastAPI | High-performance API framework based on Starlette | MIT | GitHub |
| Pydantic | Data validation and settings management using Python type hints | MIT | GitHub |
| SQLModel | SQLAlchemy-like ORM for Python | MIT | GitHub |
| Databricks SDK for Python | Official Databricks SDK for Python | Apache-2.0 | GitHub |
| uv | Fast, modern Python package manager | MIT | GitHub |
| uvicorn | ASGI server for Python | BSD-3-Clause | GitHub |
| httpx | HTTP client for Python | BSD-3-Clause | GitHub |
| watchfiles | File change monitoring for Python | MIT | GitHub |
| hatchling | Build backend for Python | MIT | GitHub |
| uv-dynamic-versioning | Dynamic versioning for Python packages | MIT | GitHub |
Libraries used in generated frontend projects:
| Library | Description | License | Source |
|---|---|---|---|
| React | Library for building user interfaces | MIT | GitHub |
| TypeScript | Typed programming language for web development | Apache-2.0 | GitHub |
| shadcn/ui | UI component library for React | MIT | GitHub |
| Vite | Frontend build tool and dev server | MIT | GitHub |
| Tailwind CSS | Utility-first CSS framework for rapid UI development | MIT | GitHub |
| jinja2 | Template engine for Python (used in scaffolding) | MIT | GitHub |
| rich | CLI interface library for Python | MIT | GitHub |
| typer | Library for building CLI applications | MIT | GitHub |