The repository source tree is organized below src/cooprecsys/. The package installed by Python is still imported as cooprecsys.
src/cooprecsys/
├── assets/
│ ├── icon/
│ ├── dashboard_utils.py
│ ├── statsrender.py
│ └── vizdata.py
├── configs/
│ ├── configuration.ini
│ ├── fallback_config.py
│ ├── lgbm_config.py
│ └── logged.py
├── db/
│ └── callduckdb.py
├── features/
│ ├── date_processor.py
│ ├── encdec.py
│ ├── feat_engine.py
│ ├── feat_utils.py
│ ├── lgbm_processor.py
│ └── load.py
├── models/
│ ├── ary2tower/
│ │ ├── CLtowers/
│ │ ├── inout/
│ │ ├── narative/
│ │ ├── viztower/
│ │ ├── a2tcysetup.py
│ │ ├── config.py
│ │ ├── cysetup.sh
│ │ ├── cysetup.ps1
│ │ ├── inference.py
│ │ ├── report.py
│ │ ├── towers.py
│ │ └── trainer.py
│ ├── arycolbring/
│ │ ├── CLproximity/
│ │ ├── assist/
│ │ ├── eval/
│ │ ├── inout/
│ │ ├── narative/
│ │ ├── cysetup.py
│ │ ├── inference.py
│ │ ├── reasoner2api.py
│ │ └── trainer.py
│ └── ltr_lgbm/
│ ├── ftcore/
│ ├── inout/
│ ├── report/
│ ├── dataprepared.py
│ ├── ltr_call.py
│ └── ltr_predict.py
├── noisemaker/
├── prepare/
└── qrates/
├── counterfeit.py
├── multi_scann.py
├── quasi_grade.py
└── sqlrender/
Directory responsibilities
assets— dashboard helper functions, statistics rendering, chart data and packaged UI assets.configs— shared INI defaults plus typed fallback/LTR configuration and logging.db— in-process DuckDB lifecycle and query helpers.features— date processing, category encoding, automated features, inference preparation and LTR data processing.noisemaker— controlled data splits and robustness/noise transformations.prepare— schema discovery, JSON/dict handling and filesystem/archive support.qrates— pseudo-ratings, composite scores and feature-space retrieval.models— recommendation algorithms and their model-specific native/reporting/visualization code.
Native extension directories
CLproximity/ and CLtowers/ contain Cython sources and the generated platform-specific extension modules. They are not interchangeable with pure Python modules and must be built for the target CPython/OS combination.
Repository path vs Python namespace
The source checkout may use:
src/cooprecsys/...
but application code should use:
import cooprecsys
This distinction is essential when moving from local development to a wheel installed by GitHub Actions/PyPI.