Skip to main content

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)

Source distribution for featune 1.1.0
File Size Uploaded
featune-1.1.0.tar.gz 615.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for featune 1.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page