Fahmatrix is a lightweight, modern Java library for working with tabular data, inspired by Python's Pandas and rooted in the idea of making data understanding (fahm) easy on the JVM.
🚀 Intuitive API for tabular data
📄 Easy CSV reading and previewing
🔍 Row filtering and column selection
📊 Aggregations, grouping, and sorting (coming soon)
🧩 No external dependencies (for now)
Visit Releases and download the latest JAR file.
Include it manually in your project’s classpath or use Maven/Gradle if you're pulling from GitHub Packages (to be added in future versions).
If you're building locally:
git clone https://github.com/moustafa-nasr/fahmatrix.git
cd fahmatrix
./gradlew build
import com.fahmatrix.DataFrame;
public class Main {
public static void main(String[] args) {
DataFrame df = DataFrame.readCSV("data.csv");
df.print();
}
}
You can find compiled Java Docs over here
- Load CSV files into DataFrame
- Pretty-print data to console
- View top rows with
head()
or bottom ones withtail()
- Aggregations (count, min, max, sum, mean ,median, standard deviation, 25%, 50%, 70%, custom percentage)
- Filter rows and select columns
- GroupBy and pivot tables
- Data export to CSV or JSON
- Type inference and conversion
Java has lacked a clean, expressive DataFrame API — until now.
Fahmatrix brings data clarity (fahm) and structured thinking (matrix) together to give Java developers the tools they need to work with tabular data effectively, without leaving the JVM.
If you find Fahmatrix useful, consider sponsoring me to help support ongoing development, documentation, and future features.
MIT License. Use it freely in your projects.