MCPcopy Index your code
hub / github.com/dflib/dflib

github.com/dflib/dflib @dflib-parent-2.0.0-M6

Chat with this repo
repository ↗ · DeepWiki ↗ · release dflib-parent-2.0.0-M6 ↗ · + Follow
12,491 symbols 55,157 edges 1,309 files 1,757 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Maven Central build test deploy

DFLib

DFLib ("DataFrame Library") is a lightweight pure Java implementation of a common DataFrame data structure. DataFrames exist in Python (pandas), R, Spark and other languages and frameworks. DFLib's DataFrame is specifically intended for Java and JVM languages.

With DataFrame API, you get essentially the same data manipulation capabilities you may be used to in SQL (such as joins, etc.), only you apply them in-memory and over dynamically defined "table" objects. While SQL is "declarative", DataFrame allows step-by-step transformations that are somewhat easier to understand and much easier to compose.

DataFrame is extremely versatile and can be used to model a variety of data tasks. ETL, log analysis, spreadsheets processing are just some of the examples. DFLib comes with connectors for many data formats: CSV, Excel, RDBMS, Avro, Parquet, JSON and can be easily adapted to other formats (e.g. web-based ones like Google Sheets, etc.)

While DFLib can be used in any Java application, there is a special integration with Jupyter Notebook, a browser-based interactive environment for data exploration and analysis popular among data scientists and engineers. In fact, our community maintains a Java "kernel" for Jupyter, which is a sister project of DFLib.

DFLib provides integration with Apache ECharts to visualize DataFrame data. Charts are generated in a form of HTML/JavaScript code and work in Jupyter as well as regular web applications. A few examples of charts made with DFLib:

dflib-stocks-candlestick-bar-chart dflib-player-weights-scatter-chart dflib-github-activity-heatmap-chart

Project Links

Presentation Videos

Extension points exported contracts — how you extend this code

StrExp (Interface)
An expression applied to String columns. [12 implementers]
dflib/src/main/java/org/dflib/StrExp.java
JdbcConnector (Interface)
An abstraction on top of JDBC DataSource that smoothens a variety of cross-DB portability issues. All DB-aware operation [6 …
dflib-jdbc/src/main/java/org/dflib/jdbc/connector/JdbcConnector.java
LocalDateTimeToLong (Interface)
(no doc) [24 implementers]
dflib-parquet/src/main/java/org/dflib/parquet/write/LocalDateTimeWrite.java
MeasuredAction (Interface)
(no doc) [4 implementers]
dflib-benchmark/src/main/java/org/dflib/benchmark/memory/benchmark/MeasuredAction.java
SchemaProjector (Interface)
@since 2.0.0
dflib-avro/src/main/java/org/dflib/avro/schema/SchemaProjector.java
ElementIdGenerator (Interface)
A generator of HTML container IDs. @since 2.0.0
dflib-echarts/src/main/java/org/dflib/echarts/render/util/ElementIdGenerator.java
ExcelStyleCustomizer (Interface)
(no doc)
dflib-excel/src/main/java/org/dflib/excel/ExcelStyleCustomizer.java
OffsetDateTimeExp (Interface)
An expression applied to datetime columns. @since 1.1.0 [6 implementers]
dflib/src/main/java/org/dflib/OffsetDateTimeExp.java

Core symbols most depended-on inside this repo

of
called by 2406
dflib/src/main/java/org/dflib/Hasher.java
foldByRow
called by 1141
dflib/src/main/java/org/dflib/DataFrame.java
expectRow
called by 829
dflib-junit5/src/main/java/org/dflib/junit5/DataFrameAsserts.java
contains
called by 683
dflib/src/main/java/org/dflib/Exp.java
of
called by 541
dflib/src/main/java/org/dflib/Series.java
$int
called by 533
dflib/src/main/java/org/dflib/Exp.java
size
called by 532
dflib/src/main/java/org/dflib/builder/ValueAccum.java
of
called by 492
dflib-parquet/src/main/java/org/dflib/parquet/read/converter/StoringConverter.java

Shape

Method 10,983
Class 1,375
Interface 93
Enum 40

Languages

Java100%

Modules by API surface

dflib/src/main/java/org/dflib/ql/antlr4/ExpParser.java1,363 symbols
dflib/src/main/java/org/dflib/ql/antlr4/ExpBaseListener.java201 symbols
dflib/src/main/java/org/dflib/ql/antlr4/ExpListener.java197 symbols
dflib-jdbc/src/test/java/org/dflib/jdbc/connector/metadata/DbMetadataTest.java177 symbols
dflib/src/main/java/org/dflib/ql/antlr4/ExpVisitor.java99 symbols
dflib/src/main/java/org/dflib/ql/antlr4/ExpBaseVisitor.java99 symbols
dflib/src/main/java/org/dflib/Exp.java84 symbols
dflib/src/main/java/org/dflib/Series.java77 symbols
dflib-echarts/src/main/java/org/dflib/echarts/saver/HtmlPageModel.java62 symbols
dflib/src/main/java/org/dflib/IntSeries.java58 symbols
dflib/src/main/java/org/dflib/LongSeries.java57 symbols
dflib/src/main/java/org/dflib/FloatSeries.java57 symbols

For agents

$ claude mcp add dflib \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page