The .gitignore excludes *.so files, which caused hatchling to silently
drop the compiled CUDA extension from the wheel.
pyproject.toml: add artifacts glob so hatchling includes the .so
despite gitignore; add ninja to build hook deps for faster compilation.
hatch_build.py: set a platform-specific wheel tag (cpXY-cpXY-linux_*)
instead of py3-none-any when the extension is built.
README.md + quickstart.md: rewrite install instructions to recommend
installing torch first with the correct CUDA index URL, then using
--no-build-isolation to avoid CUDA version mismatches during the
extension build.
Remove unused code: training-only methods, dead model blocks, and test files
Strip inference-only package of ~1,500 lines of dead code:
- Remove tests/ (hardcoded paths, not useful for end users)
- Remove 11 unused nn.Module classes from blocks.py (ResBlock, Inception, GC/MAGC attention, mCReLU, etc.), keep only conv2d_block
- Remove training-only methods from encoders (base, recognizer, relational)
- Remove worker_messages.py (training message protocol, unused at inference)
- Remove rrect_to_quads.py (unused Python wrapper; C++ function imported directly)
- Remove NaNHook and GradReversal from fots_detector.py
- Remove find_checkpoint, tensor_all_reduce, tensor_all_gather from utils.py
- Simplify data_container.py to minimal base class
- Update quickstart.md for NemotronOCRV2
Made-with: Cursor
Clean up docs, make syncs optional, update examples for new modes
- Remove unused _SUPPORTS_PAD_COLOR and import inspect
- Rename _HF_* constants to _DEFAULT_*
- Update module and class docstrings for current features
- Gate all CUDA syncs and per-batch logging behind verbose_post flag
- Update example.py to use NemotronOCRV2 with --detector-only and
--skip-relational flags
- Add inference modes section to README.md and quickstart.md
Duplicate from nvidia/nemotron-ocr-v2-multilingual