Skip to main content

Tabular classification benchmarking toolkit for model selection, repeated stratified cross-validation, final model export, and artifact-based inference.

Project description

MELITE: Multi-model Evaluation and Learning for Inference-ready Tabular Experiments

CI License: LGPL v3 Version Python

MELITE is a pre-stable Python toolkit for tabular classification benchmarking, model selection, repeated stratified cross-validation, final model export, and artifact-based inference.

MELITE is tabular at the modeling level. The learning algorithms consume numeric X and y arrays, so the feature matrix may come from PCA, UMAP, fingerprints, descriptors, clinical variables, experimental measurements, industrial features, or manually selected numeric features.

Project Identity

Project: MELITE
PyPI distribution: melite
Import package: melite
CLI: melite
Version: 0.1.11
License: LGPL-3.0-or-later
Status: alpha / pre-stable

Documentation

The live documentation is published at:

https://nanobiostructuresrg.github.io/melite/

Key pages:

Installation

After PyPI publication:

python -m pip install melite

For local development:

git clone https://github.com/NanoBiostructuresRG/melite.git
cd melite
python -m pip install -e .

For development and documentation tools:

python -m pip install -e ".[dev]"
python -m pip install -e ".[docs]"

Quick Start

Run a fast smoke benchmark with the bundled synthetic example dataset:

melite run --smoke --config examples/example_config.toml

Export a selected model artifact:

melite export --row 0 --csv examples/output/results.csv --outdir examples/output/

Run artifact-based inference:

import numpy as np
from melite import predict

X_new = np.load("examples/sample_PCA70.npz")["X"]
result = predict("examples/output/Model_SVC_PCA70.pkl", X_new)
print(result["predictions"])
print(result["probabilities"])

Scope

MELITE does MELITE does not
Accept prepared X and y arrays. Generate fingerprints.
Benchmark SVC, Random Forest, and XGBoost classifiers. Process SMILES.
Select the best row by F1-macro. Generate PCA or UMAP reductions from raw data.
Export a final retrained .pkl model. Act as a general AutoML framework.
Run artifact-based inference through predict(). Promise a stable 1.0 API yet.
Handle any numeric tabular matrix. Use a generalized dataset layer yet; PCA/UMAP naming is historical.

!!! note "Current dataset orchestration" The current dataset orchestration still reflects MELITE's PCA/UMAP origin and uses concepts such as reduction type and level. Future versions will generalize dataset definitions so arbitrary prepared tabular matrices can be registered directly.

Future configuration may look conceptually like this; it is not current behavior:

[datasets.morgan]
path = "data/morgan.npz"
label_path = "raw/labels.npy"

[datasets.descriptors]
path = "data/descriptors.npz"
label_path = "raw/labels.npy"

[datasets.pca85]
path = "data/PCA85.npz"
label_path = "raw/labels.npy"

CLI

melite --help
melite run --help
melite export --help
melite --version

Common commands:

melite run
melite run --smoke
melite run --config my_config.toml
melite export --row 0
melite export --config my_config.toml --row 0
melite export --row 0 --force

Public API

from melite import Config
from melite import load_dataset
from melite import ResultManager
from melite import plot_cv_distributions
from melite import predict
from melite import __version__

Modules not listed above are importable directly but are not part of the public contract and may change before 0.2.0.

Input Format

raw/labels.npy          <- target vector y, shape (n_samples,)
data/PCA70.npz          <- required key: X, optional key: y
data/PCA85.npz
data/UMAP70.npz
data/UMAP85.npz

Each .npz file must contain an X array. If an embedded y array is present, MELITE validates it against raw/labels.npy.

Outputs

output/
|-- results.txt
|-- results.csv
|-- Model_<model>_<reduction><level>.pkl
`-- figures/
    `-- <model>_<reduction><level>.png

Local inputs and generated artifacts such as raw/, data/, output/, .pkl, and .joblib files are intentionally ignored by Git.

Validation

The current dev/v0.1.11 branch targets:

python -m pytest tests/ -v --basetemp=.review_pytest_tmp -o cache_dir=.review_pytest_cache
mkdocs build --strict
python -m build
python -m twine check dist/*
melite --help
melite run --help
melite export --help
melite --version

Citation

If you use MELITE in your research, please cite it using the metadata in CITATION.cff.

Contreras-Torres, F. F., & Murrieta, A. C. (2026). MELITE: Multi-model
Evaluation and Learning for Inference-ready Tabular Experiments (0.1.11).
Tecnologico de Monterrey. https://github.com/NanoBiostructuresRG/melite

Authors

Developed by Flavio F. Contreras-Torres

Tecnologico de Monterrey

Co-author: Ana C. Murrieta

Tecnologico de Monterrey

License

This project is licensed under the terms of the GNU Lesser General Public License v3.0 or later.

SPDX identifier: LGPL-3.0-or-later

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

melite-0.1.11.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

melite-0.1.11-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file melite-0.1.11.tar.gz.

File metadata

  • Download URL: melite-0.1.11.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for melite-0.1.11.tar.gz
Algorithm Hash digest
SHA256 e0fd406e326d01bda1b4838b898018b7725d2dfa944268421b4afc0f7dd3ca77
MD5 4e5cdcf3688d0e99e92f7b662024bb5e
BLAKE2b-256 061aea18f84ecb4976417212f7f644701af0b5b3521b3f40b10ef0d2a3259c7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for melite-0.1.11.tar.gz:

Publisher: publish-to-pypi.yml on NanoBiostructuresRG/melite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file melite-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: melite-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for melite-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 6a3cf4e83c83f7e9420f70ef3f9d217142f1ccb489d25ea19fcdca1658d2013d
MD5 189f0d2770328faad8ef4c27901f0860
BLAKE2b-256 c7d3d5aff464a66851e030a6c01f5f4e32368ee033cb90eee236fb2408529288

See more details on using hashes here.

Provenance

The following attestation bundles were made for melite-0.1.11-py3-none-any.whl:

Publisher: publish-to-pypi.yml on NanoBiostructuresRG/melite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page