Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/widen/tabitha
Tabular data reading, writing, and processing library for JVM languages.
https://github.com/widen/tabitha
csv dataframe java spreadsheets
Last synced: about 2 months ago
JSON representation
Tabular data reading, writing, and processing library for JVM languages.
- Host: GitHub
- URL: https://github.com/widen/tabitha
- Owner: Widen
- License: mit
- Created: 2017-02-13T21:35:30.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-04-30T18:35:48.000Z (over 3 years ago)
- Last Synced: 2024-03-26T01:04:23.802Z (10 months ago)
- Topics: csv, dataframe, java, spreadsheets
- Language: Java
- Homepage:
- Size: 495 KB
- Stars: 2
- Watchers: 9
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Tabitha
[![Build Status](https://github.com/Widen/tabitha/actions/workflows/ci.yml/badge.svg)](https://github.com/Widen/tabitha/actions/workflows/ci.yml)
![Maven Central](https://img.shields.io/maven-central/v/com.widen.oss/tabitha-core)Tabular data reading, writing, and processing library for JVM languages.
This library is currently under active development and is pre-release.
Made with :heart: by Widen.
## Features
- **Immutable data types:** Data is always immutable, which allows methods to be zero-copy operations.
- **Lazy evaluation:** Data is streamed lazily, allowing for complex data processing and producing while using constant memory.
- **Multi-threaded processing:** Input data can be consumed and processed fast and efficiently using a parallel executor.
- **Multiple formats:** Tabitha supports input and output in multiple formats, including CSV, TSV, XLSX, and XLS.## Installation
Tabitha comes in several modules; a core module, which provides the API, and plugin modules that provide specific file format support. The core module provides no format support out of the box, so you'll likely want to include at least one plugin.
With Gradle:
```
// Tabitha API
compile 'com.widen:tabitha-core:{version}'
// Support for CSV, TSV, etc
compile 'com.widen:tabitha-delimited:{version}'
// Support for XLSX and XLS
compile 'com.widen:tabitha-excel:{version}'
// Support for reading line-separated JSON objects
compile 'com.widen:tabitha-json:{version}'
```Other dependency managers should be similar.
## Documentation
Documentation will be available in this repository, but is not yet written. For now, check the source for interesting comments that may help explain usage. Ideally, the class and method names should be pretty clear as to what they do.
## Examples
Check out the [`examples`](examples) directory for some simple examples of how you can use Tabitha.
## License
Available under the MIT license. See [the license file](LICENSE.md) for details.