About BloomEDA

An elegant botanical laboratory for safely inspecting, analyzing, and understanding serialized machine-learning artifacts.

The Botanical Laboratory Philosophy

Modern machine-learning workflows frequently produce serialized binary artifacts (Python .pkl files). Yet exploring what lies within them has traditionally required either opening a Jupyter notebook or trusting generic, clinical SaaS interfaces.

BloomEDA reimagines data exploration through a Bohemian Botanical aesthetic. Data points become flora, statistical health becomes a blooming data garden, and complex preprocessing pipelines become organic visual trees—while retaining strict mathematical precision.

Zero-Trust Subprocess Isolation

Python’s pickle protocol is inherently insecure when deserializing untrusted files. BloomEDA enforces rigorous architectural boundaries to protect the application and host:

RestrictedUnpickler AST

Overrides Python’s class loader to whitelist only standard scientific libraries (NumPy, Pandas, Scikit-learn, SciPy). All OS commands, subprocesses, and eval functions are actively rejected.

Subprocess Sandboxing

Analysis executes in an isolated worker process outside the main FastAPI thread and completely separated from the Next.js presentation server.

15-Second Execution Timeout

Hard timeouts prevent infinite loops, recursion bombs, or resource starvation attacks from consuming system CPU.

Ephemeral File Lifecycle

Uploaded artifacts reside in ephemeral job directories and can be scrubbed on-demand or upon job expiration.

Supported Artifact Flora

Pandas DataFrames & SeriesComprehensive EDA with missingness rankings, duplicate counts, continuous histogram distributions, Tukey IQR outlier boundaries, and correlation matrices.
Scikit-Learn ML PipelinesGraph flowcharts decomposing ColumnTransformers, Scalers, One-Hot Encoders, and terminal Estimators into sequential visual nodes.
Trained Machine Learning ModelsIntrospects hyperparameter values, fitted target classes, feature input counts, tree depth, and embedded evaluation metrics.
Containers, Bundles & NumPy ArraysRecursively traverses dictionary bundles containing multiple models, scalers, and metadata schemas up to configurable depth limits.