Article
MOLO17 ParquetKt lands on GitHub
2026-05-21 · /news/molo17-parquetkt-lands-on-github/
Our Kotlin library for Apache Parquet is now fully public
Back in February, we introduced MOLO17 ParquetKt. The project was born from a very practical need: efficiently handling Apache Parquet files at scale in Kotlin-based systems without relying on heavyweight native bindings or C++ dependencies.
We originally hosted the project on our public GitLab ecosystem. Today, we are thrilled to announce the next major milestone in this journey. Following months of rigorous testing, optimization and extensive real-world usage within our own enterprise data integration platform, the library has reached full maturity and is now officially public on GitHub.
By moving the repository to GitHub under the Apache License 2.0, we are doubling down on our commitment to the Kotlin ecosystem. This provides developers and data engineers with an even more accessible, production-ready tool to build high-performance data pipelines.
Battle-tested and production-ready
MOLO17 ParquetKt isn’t just an experimental project; it is the engine that powers massive Parquet workloads inside Gluesync every day.
To ensure it meets the highest enterprise standards, we subjected the library to extensive stress testing. It currently boasts 100% test coverage with 128 passing tests, including high-throughput OOM (Out of Memory) simulations and adaptive memory pressure scenarios. Furthermore, our CI pipelines continuously validate all files ParquetKt produces against Apache PyArrow in our CI pipelines. This guarantees seamless interoperability with the broader data ecosystem (Spark, DuckDB, Pandas, etc.).
Key features
Designed from the ground up to embrace Kotlin’s language features and JVM runtime characteristics, MOLO17 ParquetKt offers:
- Pure Kotlin implementation: zero native dependencies. If Kotlin/JVM runs there, ParquetKt runs there.
- High performance & memory efficiency: capable of processing 300K+ rows per second. It features an adaptive memory architecture with automatic row-group flushing and ArrayPool byte array reuse to prevent GC pressure and OOM errors during large-scale streaming.
- Coroutines & Flow API support: fully asynchronous I/O with suspend functions and Flow support for non-blocking, back-pressure-aware pipelines.
- Type-safe APIs & Reflection: read and write Parquet files directly from Kotlin data classes while generating schemas automatically, or use the low-level API for granular control over schemas and column structures.
- Comprehensive Type & Compression Support: full support for all 8 Parquet primitive types, complex nested structures (Lists, Structs, Maps), nullable fields and standard compression codecs (SNAPPY, GZIP, ZSTD, UNCOMPRESSED).
Join the community on GitHub
We believe that data integration should be fast, reliable and accessible. Are building real-time analytics dashboards, migrating legacy workloads or designing modern data lakes? We built MOLO17 ParquetKt to handle your data safely and efficiently.
We invite the global developer community to explore the code, test it in your own architectures and contribute to its evolution.
Explore the repository, read the documentation and check out the benchmarks on our official GitHub page.
(And if you find it useful, don’t forget to drop a star on the repo!)