Каркас Python-пакета `cuframes`: - python/pyproject.toml — scikit-build-core конфиг - python/CMakeLists.txt — pybind11 module через FetchContent - python/src/_native.cpp — module entry, error таксономия, enum mirrors (PixelFormat, SubscriberMode), version - python/cuframes/__init__.py — re-export публичного API - python/tests/test_smoke.py — smoke tests без real subscribe - python/README.md — статус + build instructions - CMakeLists.txt — подключение python/ при BUILD_PYTHON_BINDINGS=ON Реальный subscriber/frame wrapper в следующих коммитах (tasks #198-#202). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
[build-system]
|
||||
requires = [
|
||||
"scikit-build-core>=0.10",
|
||||
"pybind11>=2.13",
|
||||
]
|
||||
build-backend = "scikit_build_core.build"
|
||||
|
||||
[project]
|
||||
name = "cuframes"
|
||||
version = "0.4.0"
|
||||
description = "Python bindings for cuframes — zero-copy CUDA frame sharing"
|
||||
readme = "README.md"
|
||||
license = { text = "LGPL-2.1+" }
|
||||
requires-python = ">=3.10"
|
||||
authors = [{ name = "Evgeny Demchenko", email = "demchenkoev@gmail.com" }]
|
||||
keywords = ["cuda", "video", "ipc", "zero-copy"]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Topic :: Multimedia :: Video",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
torch = ["torch>=2.4"]
|
||||
cupy = ["cupy-cuda12x>=13"]
|
||||
dev = ["pytest>=8", "ruff>=0.6"]
|
||||
|
||||
[tool.scikit-build]
|
||||
cmake.version = ">=3.20"
|
||||
cmake.build-type = "Release"
|
||||
build-dir = "build/{wheel_tag}"
|
||||
wheel.packages = ["cuframes"]
|
||||
# Будем строить только Python модуль; libcuframes собирается отдельно
|
||||
# в основном CMake-проекте и линкуется как imported target.
|
||||
cmake.args = ["-DBUILD_PYTHON_BINDINGS=ON", "-DBUILD_EXAMPLES=OFF", "-DBUILD_TOOLS=OFF"]
|
||||
cmake.source-dir = ".."
|
||||
|
||||
[tool.scikit-build.cmake.define]
|
||||
BUILD_PYTHON_BINDINGS = "ON"
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["tests"]
|
||||
Reference in New Issue
Block a user