frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Fahmatrix – A Lightweight, Pandas-Like DataFrame Library for Java

https://github.com/moustafa-nasr/fahmatrix
46•mousomashakel•1y ago
Hey HN, I’ve built Fahmatrix, a minimal, fast Java library for working with tabular data — inspired by Python’s pandas, but designed for performance and simplicity on the JVM.

After working extensively with Python’s data stack, I often ran into limitations related to speed, especially in larger or long-running data workflows. So I built Fahmatrix from scratch to offer similar APIs for manipulating CSVs, performing summary statistics, slicing rows/columns, and more — but all in Java.

Features:

Lightweight and dependency-free

CSV/TSV import with auto-headers

Series/DataFrame structures (like pandas)

describe(), mean(), stdDev(), percentile() and more

Fast parallel operations on numeric columns

Java 17+ support

Docs: https://moustafa-nasr.github.io/Fahmatrix/ GitHub: https://github.com/moustafa-nasr/fahmatrix

I’d love feedback from the Java and data communities — especially if you’ve ever wanted a simple dataframe utility in Java without needing full-scale ML libraries.

Happy to answer any questions!

Comments

rickette•1y ago
Congrats on putting this out there. There isn't a de facto pandas-like library in Java like you said. But for Kotlin there is: https://github.com/Kotlin/dataframe
mousomashakel•1y ago
Thanks so much! Yep, I’ve seen the Kotlin DataFrame lib — very elegant. Fahmatrix is meant for plain Java users who want similar capabilities without switching ecosystems. Appreciate the support!
uwemaurer•1y ago
Always great to see efforts to make working with data frames easier. Here are some similar data frame libraries for Java:

https://github.com/jtablesaw/tablesaw

https://github.com/dflib/dflib

My preferred way is just use duckdb java API. I didn't see anything better in performance/efficiency. Also a SQL query is often easier to write

theanonymousone•1y ago
Yes. It has bothered me for a long time too. Maybe the best mix is a dataframe library with basic operations (column select, non-null etc), which also allows SQL for more complex stuff?
radus•1y ago
Polars and duckdb interoperate nicely and can enable this flexibility
theanonymousone•1y ago
Does Polars have a Java library?
mousomashakel•1y ago
Totally agree that SQL can be the best tool for many jobs. My goal with Fahmatrix is to serve the opposite niche: where devs want something that's Java-native, procedural, and simple without reaching for an external engine. SQL support or DSL might come later though — I see the appeal.
skanga•1y ago
What about Tablesaw, Apache Arrow? How does this compare ...
mousomashakel•1y ago
Good question. I’ll publish benchmarks soon, but the core difference is that Fahmatrix is fully Java, no JNI, and minimalistic — ideal for small projects or environments like Android. Tablesaw and Arrow are more powerful, but heavier. Fahmatrix aims to be the “just enough” middle ground.
owlstuffing•1y ago
Nice!

I’m currently using manifold-sql with duckdb for this.

mousomashakel•1y ago
Thanks! That’s a great combo — manifold-sql + duckdb gives you strong typing with powerful SQL under the hood. Fahmatrix is aiming to complement that approach for cases where you want quick, native Java code without SQL — e.g., when building data flows or custom logic inline. Would love to hear if you’ve hit any pain points that a Java-native approach could help with.
theanonymousone
•
1y ago
Sure. So maybe notehr comment would be to make it (particularly the Series class), as compatible with Java Streams as possible.

Next step would likely be compatibility with popular libraries such as Apache Commons Math: https://commons.apache.org/proper/commons-math/userguide/sta...

mousomashakel•1y ago
Thanks! I'm aware of those great projects. Fahmatrix aims to offer a lightweight, dependency-free alternative that’s easy to embed in any Java app. DuckDB is super impressive, especially for SQL-heavy tasks — but my goal is more about a native, fluent API for those who prefer direct Java code over SQL.

Show HN: Gitstock–Transform you GitHub commit history into K-line and animations

https://gitstock.org/
7•dares2573•2d ago•1 comments

Show HN: Inkwell – An RSS reader for e-ink devices

https://kendal.codeberg.page/inkwell/
21•imkendal•9h ago•3 comments

Show HN: Pieces – Social network for people

https://try.piecesof.me/
28•domo__knows•1d ago•18 comments

Show HN: ctx – Search the coding agent history already on your machine

https://github.com/ctxrs/ctx
24•luca-ctx•9h ago•7 comments

Show HN: I made a tool that prevents websites from tracking you

https://github.com/alex-w-developer/GetBlocked
7•sudo_cowsay•1h ago•3 comments

Show HN: CLI that helps AI agents avoid vulnerable dependencies

https://github.com/clidey/deptrust
9•modelorona•1d ago•1 comments

Show HN: zkGolf – Competitive optimization of formally verified circuits

https://zk.golf/
38•rot256•9h ago•3 comments

Show HN: CLI tool for detecting non-exact code duplication with embedding models

https://github.com/rafal-qa/slopo
75•rkochanowski•11h ago•35 comments

Show HN: 4isX – A game to make the target from four digits

https://4isx.akhdan.dev/
2•akhdanfadh•54m ago•0 comments

Show HN: Document to Excel Converter

https://www.docupipe.ai/tools/pdf-to-excel
2•uri_merhav•1h ago•0 comments

Show HN: A graph paper generator that renders vector PDFs in the browser

https://freegraphpaper.net/
92•lam_hg94•11h ago•22 comments

Show HN: Autonomous Home Services Businesses

https://rainslice.ai
3•edgware674•1h ago•2 comments

Show HN: Bramble – Local-first password manager

https://github.com/flythenimbus/bramble
11•MegagramEnjoyer•5h ago•5 comments

Show HN: Claudoro, Pomodoro timer embedded in the Claude Code statusline

https://github.com/emson/claudoro
45•emson•1d ago•33 comments

Show HN: ZeroFS – A log-structured filesystem for S3

https://www.zerofs.net/
117•Eikon•11h ago•52 comments

Show HN: I measured the half-life of 41,301 Show HN launches. It's 7 hours

https://jonno.nz/posts/your-show-hn-dies-in-7-hours/
19•jonnonz•13h ago•4 comments

Show HN: I built an open-source alternative to Claude Cowork

https://github.com/valmishq/valmis
25•wayneshng•12h ago•6 comments

Show HN: GeoSpoof – your VPN hides your IP, but the browser leaks your location

https://geospoof.com/
4•sgro•2h ago•0 comments

Show HN: Capcat – CLI/TUI to Archive Articles as Markdown and HTML (FOSS)

https://capcat.org/
2•stayux•2h ago•0 comments

Show HN: A 155K-param transformer builds a map of a world it's never shown

https://ankur-chr.github.io/inside-the-model/
2•ankurchrungoo•2h ago•0 comments

Show HN: Mirrors – test AI agent changes by replaying production traces

https://www.runmirrors.com/
3•aisinghal•2h ago•0 comments

Show HN: NEUX A daily brief on Europe's critical industries

https://neuxresearch.com/
2•sebmnt•3h ago•0 comments

Show HN: Fin – a TUI Jellyfin client powered by mpv with Chromecast support

https://github.com/tsirysndr/fin
2•tsiry•3h ago•0 comments

Show HN: Declaw Arena – a CTF-style challenge to break an AI agent in a microVM

https://declaw.ai/arena
5•ShivamNayak11•3h ago•0 comments

Show HN: Cyclearchive.com – search vintage cycling magazines

https://cyclearchive.com/search/
20•alastairr•5d ago•6 comments

Show HN: NeuralFit game - Adjust the neural network weights manually

https://neuralfit.ai201.site/
4•Gooblebrai•3h ago•0 comments

Show HN: Visualizing Contrastive Language-Audio Pretraining (Clap)

https://adamsohn.com/clap/
3•dataviz1000•4h ago•0 comments

Show HN: Material 3 Expressive Web Components

https://matraic.github.io/m3e/
3•matraic•4h ago•0 comments

Show HN: Mail Memories – A desktop app to rescue photos from Gmail

https://mailmemories.com
98•ltiger•11h ago•48 comments

Show HN: AnythingLLM Fork as NPM Package

https://github.com/fred-terzi/totem-llm
2•fred_terzi•5h ago•0 comments