-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: amillolive/StatLine
Releases · amillolive/StatLine
StatLine v3
Changelog
[3.0.0] - 2026年06月11日
Release Summary
StatLine 3.0.0 is a major release. It moves StatLine from a primarily SLAPI-driven scoring CLI into a fuller local-first toolkit with a typed public Python API, richer adapter metadata, map/calc/score workflows, bundled datasets, expanded CLI commands, and a new device/API-key authentication model for SLAPI.
Added
- Added explicit package version
3.0.0and runtime version export throughstatline.__version__. - Added local-first operation through
--mode local,--mode remote, and--mode autoruntime modes. - Added a stable public Python API in
statline.public, exported fromstatline, including:list_adapters()load_adapter()map_row()/map_batch()score_row()/score_batch()score()list_datasets()/load_dataset()
- Added bundled dataset discovery/loading helpers in
statline.datasets. - Added a
slapiconsole entry point for launching the API server. - Added new CLI command groups:
adapterfor adapter listing, specs, inputs, metrics, weights, dimensions, filters, traits, and sniffing.mapfor raw-row-to-metric mapping without scoring.calcfor scoring already-mapped metric rows.authfor device initialization, enrollment, API key requests, API key claims, API key listing, and identity checks.adminfor registration tokens, enrollment approvals/denials, API key approvals/denials, DEVKEY management, and debug inspection.modfor audit/API-key/device moderation.sysfor runtime and auth status.cache,storage, andweightsutility groups.
- Added SLAPI v3 endpoints for:
- datasets and adapter metadata,
- adapter sniffing,
- adapter traits/dimensions/filters/specs,
- raw mapping,
- mapped-row PRI calculation,
- raw-row PRI scoring,
- device enrollment,
- API key request/claim flows,
- admin and moderation operations.
- Added Ed25519-backed device enrollment and device-proof authentication for SLAPI.
- Added server-side SQLite auth storage for enrollments, devices, API key requests, API keys, nonces, and audit events.
- Added registration-token workflow for onboarding devices.
- Added API-key request/approval/claim workflow, replacing the older gifted-key style flow.
- Added scoped principals and access checks for userbase, moderation, and admin capabilities.
- Added audit logging for auth/admin/moderation operations.
- Added typed adapter metadata sections:
dimensionssnifffilters- typed
buckets - typed
source - typed
transform - typed
score_profiles
- Added adapter sniffing support through
statline/core/adapters/sniff.py. - Added score profiles with affine and windowed scoring modes.
- Added multi-profile scoring output through
scores, while keeping the primary score inprifor compatibility. - Added optional percentile output support.
- Added output toggles for weights, components, buckets, raw PRI, and context details.
- Added schema-driven filters for metric and dimension filtering.
- Added new bundled adapters:
eba_playerseba_teamsvalorantexample_game
- Added shareable adapter example at
shareable/adapter/eba_players.public.yaml. - Added bundled EBA/Elevate302 datasets for players, teams, and hybrid data.
- Added
HOWTO.mdwith install, scoring, adapter-building, SLAPI, auth, development, and release workflow guidance. - Added
TRADEMARK_POLICY.md. - Added CI and publish GitHub workflow files.
- Added
mypy.ini,typings/fastapi, andtypings/pydanticsupport files for stricter typing. - Added public API tests in
tests/test_public_api.py. - Added operational scripts for local admin/bootstrap/device repair flows.
Changed
- Changed package metadata from
2.0.5to3.0.0. - Changed supported Python range from
>=3.10,<3.14to>=3.10,<3.15, adding Python 3.14 support. - Reworked optional dependency groups:
- old:
sheets,cli-pretty,cli,api,dev - new:
remote,extras,devpack
- old:
- Reworked the CLI from a small remote-oriented command set into a large local/remote-capable command surface.
- Changed
statline scoreso it can run locally through the core package or remotely through SLAPI. - Reworked adapter loading into a stricter typed loader with validation for adapter shape, source blocks, transforms, filters, buckets, and score profiles.
- Reworked adapter compilation to use typed
SourceSpecandTransformSpecobjects. - Changed adapter source support toward
field,expr, andconstsources. - Changed transforms toward typed forms such as
expr,affine,scale,clip,round, andcustom. - Reworked scoring internals around adapter-defined
score_profilesinstead of a single implicit PRI render. - Changed bucket/metric weighting to resolve per-profile weight presets and apply adapter penalty profiles to bucket weights.
- Changed single-row scoring context to use adapter clamp ranges when no explicit context/caps are provided.
- Changed batch scoring context to derive leader/floor values from the batch where no context/caps are supplied.
- Changed output payloads to include richer score details such as
scores,primary_profile,components,buckets,weights,context_used, and flattened non-primary score keys. - Changed filtering to support flexible predicate payloads, include-only/exclude-only modes, and case-insensitive dimension matching.
- Reorganized bundled datasets under nested folders such as
DEMO/,DBA/, andEBA_Elevate302/. - Updated the README into a v3-oriented guide covering install variants, local CLI usage, Python API usage, CLI overview, scoring concepts, input formats, remote/API mode, development, and legal notes.
- Updated legal documents and license/trademark presentation.
- Tightened build configuration to include package data while excluding local databases,
.git, logs, secrets, bytecode, and cache directories from built distributions.
Fixed / Improved
- Added test coverage for the public Python API, dataset loading, adapter loading, EBA batch scoring, string adapter resolution, and filtered-out rows.
- Verified the uploaded newer source tree passes its current test suite:
6 passed. - Improved numeric coercion for mapped/scored data paths, including numeric strings and comma decimal handling.
- Improved SLAPI error handling through structured
SlapiErrorconversion. - Improved CLI status/auth diagnostics and display cleanup.
- Improved adapter inspection data for guided clients through adapter
traits. - Improved dataset name resolution with case-insensitive and stem-based matching.
- Improved build hygiene configuration in
pyproject.tomlby explicitly excluding local-only files from wheels/sdists.
Removed
- Removed generated
PKG-INFOfrom the source tree. - Removed
statline/core/introspect.py. - Removed old top-level dataset paths:
statline/data/stats/demo.csvstatline/data/stats/dba_s0.csv
- Removed old adapter example path:
statline/core/adapters/example.yaml
- Removed old SQL migration files under
statline/slapi/storage/migrations/from the newer tree. - Removed the old simple registration-key CLI flow:
generate-keykeysuse-key
- Removed the old
dev-logscommand from the top-level CLI.
Breaking Changes
- The CLI command surface changed substantially. Existing scripts that call top-level
generate-key,keys,use-key, or remote-only scoring behavior will need updates. - SLAPI auth changed from the older local registration-key model to device enrollment plus API key request/approval/claim workflows.
- Adapter authors must update adapters to the v3 typed schema. Legacy/loose mapping patterns are no longer the intended path.
- Score rendering now depends on adapter-defined
score_profiles; adapters without score profiles cannot score through the v3 scorer. - Optional dependency names changed. Install instructions should use
statline[remote],statline[extras], orstatline[devpack]instead of the old extras. - Bundled dataset paths changed due to folder reorganization.
- Direct imports from removed modules such as
statline.core.introspectwill fail.
Find it on PyPI: https://pypi.org/project/statline/
Assets 2
StatLine v3.0.0rc2
StatLine v3.0.0rc2
Pre-release
Pre-release
Full Changelog: v3.0.0rc1...v3.0.0rc2
Assets 2
StatLine v3.0.0rc1
StatLine v3.0.0rc1
Pre-release
Pre-release
Full Changelog: v2.0.1...v3.0.0rc1
Assets 2
StatLine v2.0.1
Full Changelog: v1.1.7...v2.0.1
Want to try?
https://pypi.org/project/statline/2.0.1/
pip install statline==2.0.1
Assets 2
StatLine v1.1.7
Full Changelog: v1.1.1...v1.1.7
Want to try?
https://pypi.org/project/statline/1.1.7/
pip install statline==1.1.7
Assets 2
StatLine v1.1.1
First viable release to the public.
Want to try?
https://pypi.org/project/statline/1.1.1/
pip install statline==1.1.1