Featune
Auditable feature search for tabular data. Featune proposes features through a constrained DSL, evaluates them with cross-validation, records each trial, and exports a fitted scikit-learn pipeline. Random and evolutionary search work without an LLM; Anthropic Messages and OpenAI Chat Completions are optional proposal sources.
Install
pip install featune
Python 3.10 or newer is required. The default model uses pinned TabPFN-2 weights downloaded on first use; the weights are not included in this package. Review NOTICE and the model licenses in LICENSES/ before using TabPFN. TabPFN-3.5 is an opt-in model with separate access and use restrictions.
Minimal example
import pandas as pd
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
import featune
data, labels = make_classification(
n_samples=120, n_features=2, n_informative=2, n_redundant=0, random_state=42
)
X = pd.DataFrame(data, columns=["signal_a", "signal_b"])
y = pd.Series(labels)
schema = featune.DatasetSchema(
fields=[
featune.FieldSchema(name="signal_a", description="First synthetic signal"),
featune.FieldSchema(name="signal_b", description="Second synthetic signal"),
],
objective="Predict a synthetic binary label",
)
train, test = train_test_split(range(len(X)), stratify=y, random_state=42)
study = featune.create_study(metric="auc", sampler=featune.RandomSampler(seed=42))
study.optimize(X.iloc[train], y.iloc[train], schema, evaluator=featune.CVEvaluator(cv=2), n_trials=1)
print(study.trials_dataframe())
Use a larger dataset and reserve an untouched test set for real evaluation. See the English notebook, Chinese notebook, and API guide. LLM credentials are read from FEATUNE_API_KEY; keep them outside source files and notebooks.
For LLM search, add search_guidance="Try missing-value flags and useful ratios" to DatasetSchema and use LLMSampler. Guidance affects column selection and proposals; the closed DSL and cross-validation still validate each candidate. Guidance is sent to the configured LLM provider, so omit secrets and private data.
Featune source code is MIT licensed. TabPFN code and model weights have separate licenses; see the included notices. Generated pipelines may retain training data and should be handled accordingly.
Metadata
Release files for featune 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| featune-1.1.0.tar.gz | 615.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| featune-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 717.9 kB
Release files / featune-1.1.0.tar.gz
| Download URL | featune-1.1.0.tar.gz |
|---|---|
| Size | 615.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97854f2f219af1f88f2c544cbacb3fb2f85e2a0d5bd7e64141431e0b6a8ea7c9
|
|
BLAKE2b-256 checksum How to use checksums |
672afbb7713bed73dd83bd5f5db5f74b1b749e6de5b5cc5518ee9a62ac93b2a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / featune-1.1.0-py3-none-any.whl
| Download URL | featune-1.1.0-py3-none-any.whl |
|---|---|
| Size | 102.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b70cb3bb4730ded96dc9720b4fa2d54cc55dbf79956a292a90cfc9bb2ea3c14f
|
|
BLAKE2b-256 checksum How to use checksums |
c2989e1debe7f973401809dbbdd6de78c5dbd2eebd96d564274126270ef66a37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log