Apache Polaris is an open-source catalog system for Apache Iceberg, currently in incubation status at the Apache Software Foundation. The project implements Iceberg's REST API specification, which enables seamless interoperability across multiple data processing engines including Apache Spark, Apache Flink, Trino, Apache Doris, and StarRocks. This multi-engine compatibility makes Polaris a central metadata management solution for organizations using diverse analytics and data processing platforms.
The repository is written primarily in Python and is organized into three core modules. The polaris-core module contains the main entity definitions and core business logic that drives the catalog's functionality. The polaris-server module implements the REST API server that exposes Polaris's capabilities to client applications. The polaris-eclipselink module provides an EclipseLink-based implementation of the MetaStoreManager interface, allowing for flexible backend storage options. This modular architecture enables developers to extend and customize Polaris for specific deployment scenarios.
Building and running Polaris requires Java 21 or later and Docker 27 or later, with the project using Gradle as its build system. The repository provides multiple deployment options to accommodate different operational environments. For local development, developers can run the Polaris server directly on localhost:8181 using the gradlew runApp command, with integration tests executed through Docker. For containerized deployments, the project includes a Dockerfile that supports optional EclipseLink extensions and custom JDBC driver dependencies. For Kubernetes environments, the repository provides a run.sh script that creates a mini-deployment with pods binding to ports 8181 and 8182 for service and metrics endpoints respectively.
The project includes comprehensive testing infrastructure with regression tests that can be executed either standalone or within Docker environments. Documentation is generated using Hugo with the Docsy theme and is hosted at polaris.apache.org, providing both the Polaris management API documentation and Apache Iceberg REST API documentation. The repository maintains an active development community with a mailing list for discussions and a contributing guide for potential contributors.
GitGenius activity classification indicates this repository spans multiple data engineering domains including data integration, data pipelines, data replication, ELT processes, data movement, connectors, data synchronization, data warehousing, and broader data engineering and platform concerns. This breadth reflects Polaris's role as a foundational metadata layer that connects various components of modern data architectures. The project is licensed under the Apache License Version 2.0, consistent with other Apache Foundation projects, and maintains the standard ASF incubator disclaimer noting that while the code may be complete and stable, the project continues undergoing the formal incubation process required for new Apache initiatives.