Built on the shoulders of giants
MLJAR AutoML is built with tools created by many talented people. Their work helps us train models, find useful features, explain predictions, and create reports.
Thank you to the researchers, developers, and communities behind these projects. We also thank everyone who writes documentation, fixes bugs, and helps other users.
Below you can see which projects we use, what they do, and their licenses. A license explains how software may be used, changed, and shared. MLJAR's own code uses the MIT license. The projects we use keep their own licenses.
The tools behind our models
MLJAR trains and compares models using the libraries below. We credit both the people who developed the methods and the people who built the software.
| Model or feature | Built with | Main license |
|---|---|---|
| Baseline | scikit-learn DummyClassifier / DummyRegressor |
BSD-3-Clause |
| Linear | scikit-learn logistic and linear regression | BSD-3-Clause |
| Decision Tree | scikit-learn | BSD-3-Clause |
| Random Forest | scikit-learn | BSD-3-Clause |
| Extra Trees | scikit-learn | BSD-3-Clause |
| Nearest Neighbors | scikit-learn | BSD-3-Clause |
| Neural Network | scikit-learn multilayer perceptron | BSD-3-Clause |
| Xgboost | XGBoost contributors; xgboost-cpu or xgboost |
Apache-2.0 |
| LightGBM | LightGBM developers and Microsoft contributors | MIT |
| CatBoost | CatBoost contributors | Apache-2.0 |
| RealMLP | David Holzmüller and collaborators, through pytabkit | Apache-2.0 |
| TabM mini | TabM researchers and pytabkit contributors; adapted MLJAR training loop | Apache-2.0 |
| Kumo | NVIDIA Kumo Tabular through structured-data-models | Apache-2.0 for the library; saved model license below |
| TabICLv2 | Jingang Qu, David Holzmüller, Gaël Varoquaux, Marine Le Morvan, and contributors; through structured-data-models | BSD-3-Clause for the model code; Apache-2.0 for SDM |
| Ensemble selection and stacking | MLJAR, using the models listed above | MIT for MLJAR code; each model keeps its license |
| Golden features and feature selection | MLJAR, using scientific Python and scikit-learn | MIT for MLJAR code; library licenses also apply |
| Feature discovery | Features Goldmine and its contributors | Apache-2.0 |
Visit these projects to learn more or find out how to cite their research: scikit-learn, XGBoost, LightGBM, CatBoost, pytabkit / RealMLP, TabM, structured-data-models, TabICL, and Features Goldmine. If you use these methods in a paper, please follow the projects' citation instructions.
Packages installed with AutoML
These packages help AutoML work. Click a package name to visit its PyPI page.
Your computer uses either xgboost-cpu or xgboost, depending on the platform.
The license column gives the main license. Some packages include other projects with their own license terms; those are marked below.
| Package | Used for | License summary |
|---|---|---|
| numpy | Working with numbers | BSD-3-Clause; includes other licenses too |
| pandas | Working with tables of data | BSD-3-Clause |
| scipy | Scientific computing and statistics | BSD-3-Clause; includes other licenses too |
| scikit-learn | Training and checking models; preparing data | BSD-3-Clause |
| features-goldmine | Finding useful new input features | Apache-2.0; see note below |
| xgboost-cpu | XGBoost for supported Linux and Windows computers | Apache-2.0 |
| xgboost | XGBoost on other platforms | Apache-2.0 |
| lightgbm | Gradient-boosted trees | MIT; includes other licenses too |
| catboost | Gradient-boosted trees | Apache-2.0 |
| joblib | Saving models and running work in parallel | BSD-3-Clause |
| tabulate | Report tables | MIT |
| matplotlib | Plots and figures | Matplotlib license; includes other licenses too |
| dtreeviz | Drawing decision trees | MIT |
| shap | Explaining model predictions with SHAP | MIT |
| seaborn | Charts for exploring data | BSD-3-Clause; includes other licenses too |
| optuna-integration | Helping tune models and stop weak trials early | MIT |
| mljar-scikit-plot | Charts for checking models; based on scikit-plot | MIT |
| markdown | Markdown-to-HTML reports | BSD-3-Clause |
| typing-extensions | Supporting Python type hints | PSF-2.0 |
| ipython | Displaying results in notebooks | BSD-3-Clause |
| threadpoolctl | Controlling how many CPU threads libraries use | BSD-3-Clause |
A few license details
- Features Goldmine: its source code uses Apache-2.0. The published 1.1.0 package is missing the license file and license information on PyPI. These should be added in a future release.
- Matplotlib: it has its own license, based on the Python Software Foundation license.
- Packages that include other code: keep the license files that come with them if you share a copy of the software.
- mljar-scikit-plot: thank you also to Reiichiro Nakano and the original scikit-plot project, which this package builds on.
Optional packages
You only need these packages for certain features. RealMLP and TabM use pytabkit and PyTorch. Kumo and TabICLv2 use structured-data-models, PyTorch, Hugging Face Hub, and psutil. Mercury turns a trained model into a web app.
The [all] installation option adds the optional models. To add web apps too,
use [all,apps]. See the installation guide for commands.
| Package | Used for | License summary |
|---|---|---|
| mercury | Running prediction web apps | Apache-2.0 |
| structured-data-models | Running Kumo and TabICLv2 | Apache-2.0; includes BSD-3-Clause and other notices |
| torch | Running neural models and calculations | BSD-style license for core code; includes other licenses |
| huggingface-hub | Downloading saved models | Apache-2.0 |
| psutil | Resource and memory monitoring | BSD-3-Clause |
| pytabkit | Running RealMLP and TabM mini | Apache-2.0 |
Other packages we use
These packages are installed through the libraries above. MLJAR also uses them directly. The libraries themselves may use more packages.
| Package | Used for | License summary |
|---|---|---|
| optuna | Finding good model settings | MIT |
| packaging | Checking package versions and requirements | Apache-2.0 OR BSD-2-Clause |
| matplotlib-inline | Showing plots in notebooks | BSD-3-Clause |
| pytorch-lightning | Helping train models through pytabkit | Apache-2.0 |
Models downloaded for you
Kumo and TabICLv2 download models that have already been trained. These saved models have their own licenses, which can differ from the code used to run them. The links below point to the exact versions used by this AutoML release.
| Model | Download source | Saved model license |
|---|---|---|
| Kumo Tabular, small / medium / large, classifier and regressor | Kumo Tabular — reviewed version | OpenMDW License Agreement 1.1 |
TabICLv2 classifier and regressor, v2-20260212 |
TabICLv2 — reviewed version | BSD-3-Clause, listed in the model description |
MLJAR saves the model descriptions and license files with these models. Keep those files if you share a saved model or a prediction app.
RealMLP and TabM mini learn from your data without downloading a pretrained model.
Code we have adapted
Our TabM training code builds on pytabkit. Thank you to David Holzmüller and
contributors. We keep their credit in the code and include their Apache-2.0
license in LICENSE-pytabkit.txt.
Tools that help us build AutoML
We use these tools to test the code and create this documentation. You do not need to install them just to train a model. We also use psutil, listed above, during development.
| Package | Used for | License summary |
|---|---|---|
| pytest | Tests | MIT |
| black | Formatting | MIT |
| pytest-cov | Checking which code is tested | MIT |
| coveralls | Sharing test coverage reports | MIT |
| mkdocs-material | Building the docs website and its images | MIT |
| Pygments | Coloring code examples | BSD-2-Clause |
| mkdocstrings | API documentation | ISC |
| mkdocstrings-python | Generating Python API documentation | ISC |
About this list
Last checked: 29 October 2026, for MLJAR AutoML 1.4.0b2.
This page lists the packages named in our installation files, the other packages our code uses directly, and our development tools. It does not list every package used inside those projects. Your installed versions may also differ from the versions we checked.
Python, system libraries, fonts, and tutorial datasets can have their own licenses too. Check the files included with the software or data you share.
Download the detailed package list for the versions and sources we checked. This JSON file is a review record, not a list of everything installed on your computer.
Giving credit when you share your work
- Link to the projects you use. This helps others discover their work.
- Cite their research. Each project explains how its authors would like to be cited.
- Keep license files and copyright notices. A thank-you page does not replace them.
- List what you ship. If you distribute an app or software package, record the exact versions and licenses included with it, including any downloaded models.
For a software release, that detailed list is often called a software bill of materials, or SBOM. Think of it as an ingredients list for software. It needs to be made from the actual release because different computers and installation options can use different packages. This page is not a full SBOM.
There are useful standards for keeping this information clear:
| Standard | What it helps with |
|---|---|
| SPDX | Gives licenses consistent names, such as MIT and Apache-2.0, and provides a format for software inventories. |
| CycloneDX | Stores a software ingredients list in a format that tools can read. |
| REUSE | Records who owns the copyright and which license applies to each source file. |
| Citation File Format | Tells researchers how to cite a project, using a CITATION.cff file. |
For MLJAR releases, we recommend sharing this credits page alongside the license notices and a release-specific SBOM. Tools such as CycloneDX Python can help collect the installed Python packages. Downloaded models and system libraries need to be checked too.