Skip to main content

project-setup-python

Setting up a new Python project that uses ovstream. Use when user asks to create a new Python project, set up ovstream in Python, create a pyproject.toml, or scaffold a streaming app.

معلومات المصدر

المستودع
NVIDIA-Omniverse/ovstream
آخر نشاط في المصدر
٦ أكتوبر ٢٠٢٦ في ١٩:٢٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٢
التفرعات
٥

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
project-setup-python
description
Setting up a new Python project that uses ovstream. Use when user asks to create a new Python project, set up ovstream in Python, create a pyproject.toml, or scaffold a streaming app.
license
LicenseRef-NvidiaProprietary
author
NVIDIA ovstream
tags
["ovstream","python","setup"]
tools
["Read","Grep"]
# Project Setup (Python) ## Overview ovstream is distributed as a self-contained, platform-tagged Python wheel on PyPI. The wheel bundles the native library (`ovstream.dll` / `libovstream.so`), GStreamer, the bundled `gstnvenc` plugin, and the CUDA runtime — no environment variable tweaks needed after install. ## Project Structure ``` my-streaming-app/ pyproject.toml main.py ``` ## Setup with uv (Recommended) ```bash mkdir my-streaming-app && cd my-streaming-app uv init uv add ovstream ``` Then run: ```bash uv run main.py ``` The resulting `pyproject.toml` looks like: ```toml [project] name = "my-streaming-app" version = "0.1.0" requires-python = ">=3.8" dependencies = [ "ovstream", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" ``` ## Setup with pip ```bash pip install ovstream python main.py ``` ## Minimal main.py > **Source:** `examples/python/basic_stream/main.py` snippet `initialize-sdk` > > Followed by: `examples/python/basic_stream/main.py` snippet `create-server` > > Followed by: `examples/python/basic_stream/main.py` snippet `stream-loop` > > Followed by: `examples/python/basic_stream/main.py` snippet `cleanup` ## Optional dependencies | Package | Purpose | |---------|---------| | `ovstream` | The streaming SDK itself. | | `opencv-python` | Required by [`examples/python/local_stream/main_viewer.py`](../../examples/python/local_stream/main_viewer.py) for an OpenCV-rendered SHM reader, and by [`examples/python/local_stream/main_cudashm_viewer.py`](../../examples/python/local_stream/main_cudashm_viewer.py) for the equivalent CUDASHM (GPU-resident) reader. | | `numpy` | Required by `main_viewer.py` (zero-copy numpy view of SHM pixels) and `main_cudashm_viewer.py` (host buffer for the D2H copy used by display). | | `warp-lang` | If you produce CUDA frames with [NVIDIA Warp](https://developer.nvidia.com/warp-python). | | `ovrtx`, `ovstage` | If you compose ovstream with the ovrtx renderer; ovrtx 0.5 and later take scene data from ovstage (see [`examples/python/ovrtx_stream`](../../examples/python/ovrtx_stream/)). | ## Companion package: ovstream_utils The same wheel ships an optional companion module `ovstream_utils` with a small set of frame-pacing primitives: ```python import ovstream_utils with ovstream_utils.Loop(ovstream_utils.LoopConfig(fps_target=60)) as loop: while True: t = loop.tick() # ... render and stream ... ``` `import ovstream_utils` is optional — ovstream's API works on its own. ## Common Pitfalls - ovstream requires Python 3.8 or newer. (ovrtx is more restrictive at 3.10–3.13; if your app composes both, follow ovrtx's range.) - ovstream requires an NVIDIA GPU with a compatible driver. The bundled CUDA runtime needs the **driver-side** CUDA library (`libcuda.so.1` / `nvcuda.dll`) installed by the NVIDIA display driver. - The wheel is platform-tagged; `pip install` automatically picks the matching `linux-x86_64`, `linux-aarch64`, or `windows-x86_64` build. - If you see `ovstream.dll` / `libovstream.so` not found errors, the wheel install didn't complete — run `pip install --force-reinstall --no-deps ovstream` (a plain `pip install ovstream` reports the version as already installed and restores nothing). Setting `OVSTREAM_LIB_PATH` is only needed when running from a source checkout without installing.
عرض على GitHub