Skip to content

v0.3.0 — generic-core refactor + named profiles

Choose a tag to compare

@Mrrobi Mrrobi released this 25 May 00:09
b18b2d6

Why

The original library framed itself as a Norwegian-narrative tool, which limited adoption even though the engine was already generic. v0.3 keeps the engine neutral and moves opinionated configuration into a separate Profile registry, so callers can re-opt-in to the previous defaults with one named argument instead of having them forced.

Breaking (tiny)

Only two defaults flip:

  • Compressor(source_lang=...): \"no\"\"en\"
  • Compressor(schema=...): \"narrative\"\"qa\"

Existing users have two clean migration paths:

```python

v0.2 implicit defaults — no longer the same in v0.3

Compressor()

v0.3 equivalent 1: name the profile

Compressor.from_profile("narrative-no")

v0.3 equivalent 2: pass the old kwargs explicitly

Compressor(source_lang="no", schema="narrative")
```

Highlights

  • Named profiles: nine bundled (`rag-en`, `qa-en`, `narrative-en`, `interview-en`, `dialogue-en`, `news-en`, `long-en`, `narrative-no`, `rag-no`). `register_profile()` is public — define your own.
  • **`Compressor.from_profile(name, overrides)` classmethod for one-line setup.
  • 12-language stopword bundle: en, no, de, fr, es, it, pt, nl, sv, da, fi, pl.
  • CLI: `narratoflow profiles` and `narratoflow schemas` list commands; `narratoflow compress --profile ` plus per-call overrides.

Tests

42 passing (was 32). New `tests/test_profiles.py` covers registry, overrides, custom registration, default genericity.

Install

```bash
pip install narratoflow==0.3.0
```

Full notes: see CHANGELOG.md.