Installation Guide¶
CupOfTea is modular. You can import only the core engine and whichever IO format modules your application requires, or include the aggregator artifact cupoftea-all.
Prerequisites¶
- Java: Java 17 LTS, Java 21 LTS, or later.
- Build Tool: Maven 3.8+ or Gradle 7+.
Maven¶
1. Minimal Core¶
To use CupOfTea's in-memory columnar DataFrame engine without external IO dependencies:
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-core</artifactId>
<version>0.17.0</version>
</dependency>
2. Adding Format Modules¶
Add format modules as needed. The core engine dynamically discovers format readers and writers via java.util.ServiceLoader:
<!-- CSV Support (OpenCSV) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-csv</artifactId>
<version>0.17.0</version>
</dependency>
<!-- JSON Support (Jackson) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-json</artifactId>
<version>0.17.0</version>
</dependency>
<!-- Excel Support (.xlsx / .xls via Apache POI) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-excel</artifactId>
<version>0.17.0</version>
</dependency>
<!-- Parquet Support (Apache Parquet / Hadoop) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-parquet</artifactId>
<version>0.17.0</version>
</dependency>
<!-- HTML Table Ingestion (Jsoup) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-html</artifactId>
<version>0.17.0</version>
</dependency>
<!-- YAML Support (SnakeYAML) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-yaml</artifactId>
<version>0.17.0</version>
</dependency>
<!-- XML Support (Standard Java DOM) -->
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-xml</artifactId>
<version>0.17.0</version>
</dependency>
3. All-In-One Meta-Module¶
To include all format adapters in one go:
<dependency>
<groupId>io.github.cupoftea-labs</groupId>
<artifactId>cupoftea-all</artifactId>
<version>0.17.0</version>
</dependency>
Gradle¶
Groovy DSL (build.gradle)¶
dependencies {
// Core Engine
implementation 'io.github.cupoftea-labs:cupoftea-core:0.17.0'
// Add format modules as needed:
implementation 'io.github.cupoftea-labs:cupoftea-csv:0.17.0'
implementation 'io.github.cupoftea-labs:cupoftea-json:0.17.0'
// Or import all modules:
// implementation 'io.github.cupoftea-labs:cupoftea-all:0.17.0'
}
Kotlin DSL (build.gradle.kts)¶
dependencies {
// Core Engine
implementation("io.github.cupoftea-labs:cupoftea-core:0.17.0")
// Add format modules as needed:
implementation("io.github.cupoftea-labs:cupoftea-csv:0.17.0")
implementation("io.github.cupoftea-labs:cupoftea-json:0.17.0")
// Or import all modules:
// implementation("io.github.cupoftea-labs:cupoftea-all:0.17.0")
}