Packaging model

Updated Jul 27, 2026

Stilyagi's v1 packaging boundary is a single Python-distributed application with an embedded Rust extension module. Users should expect one installable Python package, not a Python wrapper that shells out to a separately managed Rust helper binary.[^1][^2]

For users, that means:

  • installation and environment selection happen through the Python package surface;
  • the Rust extraction engine is part of that package's runtime, not a second tool to locate or configure separately; and
  • normal execution does not depend on launching a helper process for every extraction call.

In editable development installs, the embedded extension now lives under the package as stilyagi._stilyagi_rs rather than as a separate top-level module. That relocation is an internal packaging detail. User code should still import the public stilyagi package rather than importing the extension module directly.