π 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.
Install apx:
# macOS/Linux
curl -fsSL https://databricks-solutions.github.io/apx/install.sh | sh
# Windows
irm https://databricks-solutions.github.io/apx/install.ps1 | iexInitialize a new project:
apx initapx upgradeΒ© 2025 Databricks, Inc. All rights reserved. The source in this project is provided subject to the Databricks License.
The core of apx is written in Rust. Below is the complete list of Rust crates used:
| Crate | Description | License | Source |
|---|---|---|---|
| axum | Modern async web framework with WebSocket support for dev server | 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 |
| chrono | Date and time handling with timezone support | MIT/Apache-2.0 | GitHub |
| clap | Command line argument parser with derive macros for CLI definition | MIT/Apache-2.0 | GitHub |
| console | Terminal styling and interaction utilities | MIT | GitHub |
| dialoguer | Interactive command-line prompts and user input handling | MIT | GitHub |
| dirs | Platform-specific standard directories (config, cache, data paths) | MIT/Apache-2.0 | GitHub |
| flate2 | DEFLATE compression and decompression | MIT/Apache-2.0 | GitHub |
| futures-util | Utilities for working with futures and async streams | MIT/Apache-2.0 | GitHub |
| hex | Hexadecimal encoding/decoding utilities | MIT/Apache-2.0 | GitHub |
| indicatif | Progress bars, spinners, and CLI status indicators | MIT | GitHub |
| notify | Cross-platform file system change notifications for hot reload | CC0-1.0/Artistic-2.0 | 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 |
| prost | Protocol Buffers implementation for Rust | Apache-2.0 | GitHub |
| rand | Random number generation for various use cases | MIT/Apache-2.0 | GitHub |
| rayon | Data parallelism library for parallel iteration | MIT/Apache-2.0 | GitHub |
| reqwest | HTTP client for making API requests and downloading resources | MIT/Apache-2.0 | GitHub |
| rmcp | Rust SDK for the Model Context Protocol | MIT/Apache-2.0 | Crates.io |
| ruff_python_ast | Python AST definitions from the Ruff project | MIT | GitHub |
| ruff_python_parser | Python parser from Ruff for AST manipulation | MIT | GitHub |
| ruff_text_size | Text size utilities from the Ruff project | MIT/Apache-2.0 | GitHub |
| rust-embed | Embed files into Rust binary at compile time | MIT | GitHub |
| schemars | JSON Schema generation from Rust types for API docs | MIT | 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_with | Custom serde serialization helpers | MIT/Apache-2.0 | GitHub |
| serde_yaml | YAML serialization/deserialization for config files | MIT/Apache-2.0 | GitHub |
| sha2 | SHA-2 hash functions for integrity verification | MIT/Apache-2.0 | GitHub |
| similar | Text diffing library for addon apply diffs | MIT | GitHub |
| sqlx | Async SQL toolkit with compile-time checked queries (SQLite) | MIT/Apache-2.0 | GitHub |
| swc_atoms | Interned string atoms for the SWC compiler | Apache-2.0 | GitHub |
| swc_common | Common utilities for SWC TypeScript/JavaScript AST | Apache-2.0 | GitHub |
| swc_ecma_ast | ECMAScript AST definitions for TypeScript parsing | Apache-2.0 | GitHub |
| swc_ecma_codegen | ECMAScript code generation from AST | Apache-2.0 | GitHub |
| sysinfo | System information retrieval (processes, CPU, memory) | MIT | GitHub |
| tar | TAR archive reading and writing | MIT/Apache-2.0 | GitHub |
| tauri | Desktop application framework (used for Studio) | MIT/Apache-2.0 | GitHub |
| tempfile | Temporary file and directory creation (dev dependency) | MIT/Apache-2.0 | GitHub |
| tera | Jinja2-like template engine for project scaffolding | MIT | GitHub |
| thiserror | Derive macro for Error trait implementations | MIT/Apache-2.0 | GitHub |
| tokio | Async runtime powering all concurrent operations | MIT | GitHub |
| tokio-postgres | Async PostgreSQL client for database operations | MIT/Apache-2.0 | GitHub |
| tokio-stream | Stream utilities and adapters for async iteration | MIT | GitHub |
| tokio-tungstenite | WebSocket client/server for real-time communication | MIT | GitHub |
| tokio-util | Additional utilities for Tokio (I/O helpers, codecs) | 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 |
| tracing | Application-level tracing and structured logging | MIT | GitHub |
| tracing-subscriber | Tracing event subscribers and formatters | MIT | GitHub |
| url | URL parsing and manipulation | MIT/Apache-2.0 | GitHub |
| walkdir | Recursive directory traversal for file operations | MIT/Unlicense | GitHub |
| which | Cross-platform executable path discovery | MIT | GitHub |
| zip | ZIP archive reading/writing for packaging (zip2) | MIT | 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 |