marklister / product-collections   1.4.5

BSD 2-clause "Simplified" License GitHub

A very simple, strongly typed, scala framework for tabular data. A collection of tuples. A strongly typed scala csv reader and writer. A lightweight idiomatic dataframe / datatable alternative.

Scala versions: 2.12 2.11 2.10
Scala.js versions: 0.6


Build Status Join the chat at


Using SBT: libraryDependencies += "com.github.marklister" %% "product-collections" % "1.4.5" or for scala-js libraryDependencies += "com.github.marklister" %%% "product-collections" % "1.4.5"


Documentation for current version 1.4.3 has been moved to the wiki For legacy version v1.3.0 the old Readme is the correct documentation.

Product-collections is a 2D data manipulation library based on standard scala collections. Product-collections is also a strongly typed CSV I/O library that will read a Seq of case classes, tuples or a CollSeq for you, or serialize any of these structures to CSV.

The data component presents a logical and consistent paradigm to replace the messy and incomplete zip3 and unzip3 scala constructs and operates with arities 1 - 22.

As of version 1.3.0 product-collections is cross-compiled for scala-js and scala-jvm.