From 1c2f622a2f2b6aa3a0347e75149168d2170bebf4 Mon Sep 17 00:00:00 2001 From: Repo Bot Date: Sun, 19 Oct 2025 12:48:59 +0200 Subject: [PATCH] docs(ipm): canonicalize README.md to English (from README_en.md) --- app/ipm/README.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/app/ipm/README.md b/app/ipm/README.md index 539fe9e..306b036 100644 --- a/app/ipm/README.md +++ b/app/ipm/README.md @@ -36,6 +36,45 @@ Best practices For French documentation see: [README_fr.md](README_fr.md) +```` +````markdown +# IPM native integration (app.ipm) + +This folder contains the Python wrapper that calls the native refifc libraries. + +Goals +- Centralize the Python wrapper under `app/ipm` so application code can import `app.ipm.simple_refrig_api`. +- Provide a clear location for native binaries (DLLs for Windows, .so for Linux). + +Where to place native binaries +- Windows (local/dev): place DLL files in `app/ipm/lib/windows/`. +- Linux (container/production): place .so files in `app/ipm/lib/linux/`. + +The wrapper `app/ipm/simple_refrig_api.py` will look first in `app/ipm/lib/` (`windows` or `linux`) and fall back to the package directory if nothing is found. + +Do NOT commit native binaries +-------------------------------- +Native binaries should not be committed to the repo (size, licensing, portability). The repo contains a `.gitignore` rule excluding `app/ipm/lib/windows/*.dll` and `app/ipm/lib/linux/*.so`. + +CI/CD +- Store binaries in a secure artifact repository (releases, internal storage, S3, etc.). +- During CI, download them and copy into `app/ipm/lib/` before building the image or deploying. + +Quick local test +1. Copy the binaries into the correct folder (e.g. `app/ipm/lib/windows/refifc.dll`). +2. Test locally: + +```powershell +.venv\Scripts\python -c "import app.ipm.simple_refrig_api as s; r=s.Refifc('R290'); print('hsl_px exists', hasattr(r,'hsl_px'))" +``` + +Best practices +- Avoid committing binaries in Git. +- Record the exact origin and version of native binaries in release notes. +- Provide small helper scripts (`scripts/copy-ipm-libs.*`) to automate copying binaries into build environments. + +For French documentation see: [README_fr.md](README_fr.md) + ```` # IPM native integration (app.ipm) — English (default)