mirror of
https://github.com/lighttransport/tinyusdz.git
synced 2026-01-18 01:11:17 +01:00
Introduces a Python binding experiment using stable ABI (ABI3) for forward compatibility across Python 3.10+. Key features include custom Python limited API headers (no python3-dev dependency), buffer protocol implementation for zero-copy NumPy array access, and RAII + reference counting memory management. The binding provides: - Custom py_limited_api.h for Python 3.10+ stable ABI declarations - Stage, Prim, Value, and ValueArray classes with buffer protocol - GeomMesh to NumPy example demonstrating array extraction - uv-based environment setup for fast dependency installation - Multiple build methods (setup.py, CMake, Makefile) - Comprehensive documentation (README, QUICKSTART, DESIGN, REFERENCE) Location: sandbox/abi3/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
41 lines
850 B
Bash
Executable File
41 lines
850 B
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: Apache 2.0
|
|
#
|
|
# Quick script to install dependencies using uv
|
|
|
|
set -e
|
|
|
|
echo "Installing dependencies with uv..."
|
|
|
|
# Check if uv is available
|
|
if ! command -v uv &> /dev/null; then
|
|
echo "Error: uv not found"
|
|
echo
|
|
echo "Install uv with one of these methods:"
|
|
echo " curl -LsSf https://astral.sh/uv/install.sh | sh"
|
|
echo " pip install uv"
|
|
echo " cargo install uv"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Using: $(uv --version)"
|
|
|
|
# If .venv doesn't exist, create it
|
|
if [ ! -d ".venv" ]; then
|
|
echo "Creating virtual environment..."
|
|
uv venv .venv
|
|
fi
|
|
|
|
# Install packages
|
|
echo "Installing numpy..."
|
|
uv pip install numpy
|
|
|
|
echo "Installing build tools..."
|
|
uv pip install setuptools wheel
|
|
|
|
echo
|
|
echo "✓ Dependencies installed!"
|
|
echo
|
|
echo "Activate the environment with:"
|
|
echo " source .venv/bin/activate"
|