docs(ipm): remove README_en.md and keep canonical English README.md with link to README_fr.md
This commit is contained in:
parent
1c2f622a2f
commit
ec73a755c2
@ -1,4 +1,3 @@
|
|||||||
````markdown
|
|
||||||
# IPM native integration (app.ipm)
|
# IPM native integration (app.ipm)
|
||||||
|
|
||||||
This folder contains the Python wrapper that calls the native refifc libraries.
|
This folder contains the Python wrapper that calls the native refifc libraries.
|
||||||
@ -15,7 +14,7 @@ The wrapper `app/ipm/simple_refrig_api.py` will look first in `app/ipm/lib/<plat
|
|||||||
|
|
||||||
Do NOT commit native binaries
|
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`.
|
Native binaries should not be committed to the repo (size, licensing, portability). The repo contains a `.gitignore` rule excluding `app/ipm/lib/windows/*.dll`.
|
||||||
|
|
||||||
CI/CD
|
CI/CD
|
||||||
- Store binaries in a secure artifact repository (releases, internal storage, S3, etc.).
|
- Store binaries in a secure artifact repository (releases, internal storage, S3, etc.).
|
||||||
@ -30,13 +29,12 @@ Quick local test
|
|||||||
```
|
```
|
||||||
|
|
||||||
Best practices
|
Best practices
|
||||||
- Avoid committing binaries in Git.
|
- Avoid committing binaries in Git unless necessary for your release process.
|
||||||
- Record the exact origin and version of native binaries in release notes.
|
- 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.
|
- 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)
|
For the complete French documentation see: [README_fr.md](README_fr.md)
|
||||||
|
|
||||||
````
|
|
||||||
````markdown
|
````markdown
|
||||||
# IPM native integration (app.ipm)
|
# IPM native integration (app.ipm)
|
||||||
|
|
||||||
|
|||||||
@ -1,85 +0,0 @@
|
|||||||
# 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/<platform>` (`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/<platform>` 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)
|
|
||||||
|
|
||||||
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/<platform>` (`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`.
|
|
||||||
|
|
||||||
Deployment / Docker
|
|
||||||
- The Dockerfile should copy the appropriate native binaries into `app/ipm/lib/<platform>` during the build. Example (Linux image):
|
|
||||||
|
|
||||||
```Dockerfile
|
|
||||||
FROM python:3.12-slim
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . /app
|
|
||||||
|
|
||||||
# Copy native linux libs into the package
|
|
||||||
COPY path/to/linlibs/*.so /app/app/ipm/lib/linux/
|
|
||||||
|
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
|
||||||
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
||||||
```
|
|
||||||
|
|
||||||
CI/CD
|
|
||||||
- Store binaries in a secure artifact repository (releases, internal storage, S3, etc.).
|
|
||||||
- During CI, download them and copy into `app/ipm/lib/<platform>` 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.
|
|
||||||
Loading…
x
Reference in New Issue
Block a user