filoma recommends using ydata-profiling to generate a report for a given dataframe. Below is an example of how to do this in a Jupyter notebook.

In [1]:
!uv pip install ydata-profiling ipywidgets ipympl setuptools --upgrade
Using Python 3.11.11 environment at: /home/kalfasy/repos/filoma/.venv
Resolved 70 packages in 272ms                                        
Audited 70 packages in 0.05ms
In [2]:
%reset -f
%load_ext autoreload
%autoreload 2
In [3]:
import filoma

df = filoma.probe_to_df("../")
df = df.filter(df["suffix"] == ".py")
2025-09-13 20:56:48.545 | DEBUG    | filoma.directories.directory_profiler:__init__:343 - Interactive environment detected, disabling progress bars to avoid conflicts
2025-09-13 20:56:48.545 | INFO     | filoma.directories.directory_profiler:probe:430 - Starting directory analysis of '../' using 🐍 Python implementation
2025-09-13 20:56:49.191 | SUCCESS  | filoma.directories.directory_profiler:probe:446 - Directory analysis completed in 0.65s - Found 44,134 items (40,782 files, 3,352 folders) using 🐍 Python
In [4]:
from ydata_profiling import ProfileReport

profile = ProfileReport(df.to_pandas(), title="Filoma Report");
Upgrade to ydata-sdk

Improve your data and profiling with ydata-sdk, featuring data quality scoring, redundancy detection, outlier identification, text validation, and synthetic data generation.

In [5]:
profile
Summarize dataset:   0%|          | 0/5 [00:00<?, ?it/s]
100%|██████████| 18/18 [00:00<00:00, 101.71it/s]
Generate report structure:   0%|          | 0/1 [00:00<?, ?it/s]
Render HTML:   0%|          | 0/1 [00:00<?, ?it/s]
Out[5]:

In [ ]: