MaruOps Python development environment examples
Date: 2026-10-18 (Asia/Seoul)

The uv-demo, web-demo, data-demo, and ocr-demo directories are independent projects.
Run commands from the selected project root. Use uv 0.13.1 with Python 3.12.
The included uv.lock files were generated and tested on Ubuntu 24.04; the same source recipes also passed on Rocky Linux 9.8. Install OS packages separately as explained in the articles.

Typical workflow: uv sync --locked; uv run --locked python -m pytest
Web example: uv run --locked uvicorn web_demo.main:app --host 127.0.0.1 --port 8000
Data example: uv run --locked python -m data_demo.summary data/raw/sales.csv data/processed/totals.csv
OCR example: prepare OS Tesseract eng/kor packs and DejaVu fonts, then run uv run --locked python tools/make_test_image.py; uv run --locked python -m ocr_demo.cli inputs/sample.png outputs/sample.txt --lang eng

The OCR fixture is synthetic text for a runtime smoke test, not a document-accuracy benchmark.
The ai-cpu-config directory is a documented PyTorch configuration example; GPU inference/training was not tested. Conda YAML is a portable intent specification; the explicit file is for compatible Linux x86_64 systems and covers conda artifacts, not arbitrary pip packages.
No venv is shipped. Rebuild from the manifests. Systemd deployment and full virtual machines were not tested.

Series: https://blog.maruops.com/ (Python development environments category)
