Metadata-Version: 2.4
Name: tensorless
Version: 0.1.0
Summary: ML with maximum automation and minimum setup.
Author: Tensorless Contributors
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=2.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Dynamic: license-file

# Tensorless

**ML with maximum automation and minimum setup.**

```python
import tensorless as tl

tl.train("./data")
```

That's it. Tensorless inspects your dataset, figures out what kind of
task you're trying to solve, builds and configures a model, trains it,
validates it, checkpoints it, and saves a single portable `model.tl`
file you can move anywhere.

```python
model = tl.run("model.tl")   # interactive chat, if it's a text model
# or
model = tl.load("model.tl")
model.predict(...)
```

Simple by default. Powerful when you need it:

```python
tl.train(
    "./data",
    d_model=512,
    layers=6,
    learning_rate=3e-4,
    batch_size=32,
)
```

## Why Tensorless

Most ML frameworks assume you already know what model you want, how big
it should be, which optimizer and learning rate to use, and how to wire
up checkpointing and resumption yourself. Tensorless flips that: it
makes a reasonable, working choice for all of that automatically, and
lets you override exactly the parts you care about.

It also remembers what it already did. Run `tl.train("./data")` twice on
the same dataset and it won't retrain — it'll just hand you back the
model it already trained. Change the data, and it retrains. Get
interrupted partway through a long run, and the next call resumes right
where it left off. This is the **Smart Auto Check**, and it's the core
idea the whole framework is built around.

## Install

```bash
pip install -e .
```

See [docs/installation.md](docs/installation.md) for details and
requirements.

## Documentation

| Doc | What's in it |
|---|---|
| [Installation](docs/installation.md) | Requirements, install steps, verifying your setup |
| [Quick Start](docs/quickstart.md) | The fastest path to a trained model |
| [Beginner Tutorial](docs/tutorial.md) | A guided, from-scratch walkthrough |
| [Automatic Mode](docs/automatic_mode.md) | How auto-detection and auto-configuration work, and the Smart Auto Check |
| [Training](docs/training.md) | `tl.train()` in depth, all supported tasks and data formats |
| [Inference](docs/inference.md) | `tl.run()`, `tl.load()`, and the prediction API |
| [Checkpointing & Resume](docs/checkpointing.md) | How checkpoints work and how resumption is decided |
| [The `.tl` Format](docs/tl_format.md) | What's inside a `.tl` file and why it's portable |
| [Configuration](docs/configuration.md) | Every override you can pass, and what it does |
| [CLI](docs/cli.md) | `tensorless train / run / inspect / info` |
| [API Reference](docs/api_reference.md) | Full function/class signatures |
| [Examples](docs/examples.md) | Worked examples for each supported task |
| [Troubleshooting](docs/troubleshooting.md) | Common errors and what to do about them |
| [Architecture](docs/architecture.md) | How the codebase is organized, for contributors |
| [Contributing](docs/contributing.md) | How to add models, backends, or data formats |
| [Roadmap](docs/roadmap.md) | What's planned |
| [Limitations](docs/limitations.md) | What Tensorless deliberately doesn't do (yet) |

## Supported today

- **Text generation** (language modeling) from `.txt`/`.md` files or JSON/JSONL with a `text` field
- **Text classification** from a directory of class subfolders (`positive/`, `negative/`, ...) or labeled JSON/JSONL
- **Tabular classification and regression** from CSV/TSV/JSON/JSONL with a target column

## Project status

Tensorless is an early-stage, actively developed framework. The core
loop — inspect, auto-configure, train, checkpoint, save, reload, infer —
is real and tested end-to-end (see [tests/](tests/)). See
[docs/limitations.md](docs/limitations.md) for what's intentionally out
of scope right now, and [docs/roadmap.md](docs/roadmap.md) for what's next.

## License

MIT
