Metadata-Version: 2.5
Name: freeweight
Version: 1.0.0
Summary: Measures local open-weight models across capability, efficiency, reliability and resource use, with reproducible provenance and exportable capability evidence.
Project-URL: Homepage, https://github.com/JPKell/FreeWeight
Project-URL: Documentation, https://github.com/JPKell/FreeWeight/tree/main/docs
Project-URL: Changelog, https://github.com/JPKell/FreeWeight/blob/main/CHANGELOG.md
Author: Local AI Suite contributors
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: alembic<2,>=1.13
Requires-Dist: baseaicore<0.5,>=0.4
Requires-Dist: fastapi<1,>=0.115
Requires-Dist: httpx<1,>=0.27
Requires-Dist: jinja2<4,>=3.1
Requires-Dist: mirrorwall<0.3,>=0.2
Requires-Dist: modelrack<0.6,>=0.5
Requires-Dist: pydantic-settings<3,>=2.4
Requires-Dist: pydantic<3,>=2.9
Requires-Dist: python-multipart<1,>=0.0.9
Requires-Dist: setspec<0.5,>=0.4
Requires-Dist: sqlalchemy<3,>=2.0.30
Requires-Dist: sweatmeter<0.5,>=0.4
Requires-Dist: typer<1,>=0.12
Requires-Dist: uvicorn[standard]<1,>=0.30
Requires-Dist: weightsdb<0.3,>=0.2
Provides-Extra: dev
Requires-Dist: diff-cover<11,>=9; extra == 'dev'
Requires-Dist: import-linter<3,>=2.13; extra == 'dev'
Requires-Dist: jsonschema<5,>=4.23; extra == 'dev'
Requires-Dist: mypy<3,>=2; extra == 'dev'
Requires-Dist: psycopg[binary]<4,>=3.2; extra == 'dev'
Requires-Dist: pytest-cov<8,>=7; extra == 'dev'
Requires-Dist: pytest-randomly<5,>=4; extra == 'dev'
Requires-Dist: pytest<10,>=9; extra == 'dev'
Requires-Dist: respx<1,>=0.23; extra == 'dev'
Requires-Dist: ruff<1,>=0.16; extra == 'dev'
Requires-Dist: types-jsonschema<5,>=4.23; extra == 'dev'
Provides-Extra: postgresql
Requires-Dist: psycopg[binary]<4,>=3.2; extra == 'postgresql'
Description-Content-Type: text/markdown

# FreeWeight

Measures local open-weight models across capability, efficiency, reliability and resource use, with reproducible provenance and exportable capability evidence.

**Status:** `1.0.0rc1` — Phases 1–11 built; M3's contract freeze. Every native suite runs and
measures, subjective goals are authored, calibrated and scored from the UI, and the application
exports **capability evidence** — one `capability.evidence` record per model, runtime profile,
machine and capability, with ADR-0017's confidence beside the score — as a
`benchmark.evidence_bundle` a consumer reads with `setspec` alone. Phases 12–14 (the shared
packages, external adapters, hardening) take it to 1.0; see the
[development plan](docs/apps/freeweight/development-plan.md).

Reference documents generated from the code, checked in CI: the
[configuration reference](docs/configuration.md) and the [OpenAPI snapshot](docs/openapi.json).

Part of the **Local AI Suite**.

## Install

```bash
pip install freeweight
freeweight serve
```

Starts on `127.0.0.1:8765` with zero configuration. See [docs/apps/freeweight/spec.md](docs/apps/freeweight/spec.md) §12 for the full configuration surface and `FREEWEIGHT_*` environment variables.

## Quickstart

```bash
pip install freeweight
freeweight serve            # starts the web UI + API on 127.0.0.1:8765
freeweight health --json     # same health data the API reports, from the CLI
freeweight --help
```

## Documentation

Project documentation lives under [`docs/`](docs/README.md). Start with [`docs/README.md`](docs/README.md).

| Read this | For |
|---|---|
| [docs/apps/freeweight/spec.md](docs/apps/freeweight/spec.md) | Purpose, scope, non-goals, public contracts, configuration, acceptance criteria |
| [docs/apps/freeweight/development-plan.md](docs/apps/freeweight/development-plan.md) | The phased build plan: goals, work, tests, acceptance criteria per phase |

## Development

```bash
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install
pytest -m "not live and not performance"
```

See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the full workflow and [`SECURITY.md`](SECURITY.md) for
how to report a vulnerability.

## License

Apache-2.0 — see [`LICENSE`](LICENSE).
