Skip to content

fix: avoid commonforms import crash on app startup#321

Open
lil-aditya wants to merge 1 commit intofireform-core:mainfrom
lil-aditya:fix/avoid-commonforms-import-crash
Open

fix: avoid commonforms import crash on app startup#321
lil-aditya wants to merge 1 commit intofireform-core:mainfrom
lil-aditya:fix/avoid-commonforms-import-crash

Conversation

@lil-aditya
Copy link

Problem

Importing the backend (import api.main) can crash in minimal or production environments.

Root Cause

  • src/file_manipulator.py imports commonforms at module import time
  • commonforms pulls heavy dependencies: ultralytics → cv2 → numpy
  • These may fail (e.g., missing native libs like libGL in Docker)

Result: FastAPI app crashes during import, even if template functionality is not used


Solution

  • Introduced lazy import wrapper:

Closes #320

Root cause: src/file_manipulator.py imported commonforms at module import time. commonforms pulls in ultralytics/cv2/numpy which can crash or fail to import in minimal environments (e.g. missing libGL in Docker), taking down the FastAPI app during import.

Solution: introduce src/pdf_template.py with a lazy importer (prepare_form_safe) and route template creation through it. This keeps template creation behavior unchanged while ensuring api.main can be imported without triggering the heavy dependency chain.

Tests: add regression test ensuring api.main import does not import commonforms; update template route test to stub template creation and avoid environmental dependency on OpenCV.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] API crashes on import due to eager commonforms dependency loading

1 participant