Skip to main content

No project description provided

Project description

Python binding of TinyUSDZ

Currently in testing stage. Does not work well.

Core part is deletegated to native module(ctinyusd.so)

W.I.P.

Requirements

  • Python 3.7 or later
    • Python 3.10+ recommended
    • For developping and testing, Python 3.8 or later is required.

Recommended python modules

  • numpy
    • For efficient Attribute data handling.
    • from_numpy and to_numpy method available when numpy is installed..
  • pandas
    • To support TimeSamples data efficiently(e.g. read/write to CSV, Excel)
  • typeguard
    • To do type check at runtime.

Structure

  • ctinyusdz: Native C++ module of tinyusdz
    • Python binding on top of C binding of TinyUSDZ.
  • tinyusdz: Python module. Wraps some functions of ctinyusdz

TinyUSDZ's Python binding approach is like numpy: Frontend is written in Python for better Python integration(type hints for lsp(Intellisense), debuggers, exceptions, ...), and calls native C modules as necessary.

Supported platform

  • Linux
    • x86-64
    • aarch64
  • Windows
    • 64bit AMD64
    • 32bit x86
    • ARM64(not intensively tested, but should work)
  • macOS
    • arm64
    • Intel

Features

  • T.B.W.

Optional

  • pxrUSD compatible Python API?(pxr_compat folder)

Install through PyPI

$ python -m pip install tinyusdz

For developers. Build from source

Back to tinyusdz's root directory, then

# Use `build` module(install it with `python -m pip install build`) 
$ python -m build .

If you are working on TinyUSDZ Python module, Using setup.py recommended.

# install dependencies
$ python -m pip install setuptools scikit-build cmake ninja
$ python setup.py build
# Then copy `./_skbuild/<arch>-<version>/cmake-install/tinyusdz/ctinyusdz.*.so/dll to `<tinyusdz>/python` folder.

Re-generate ctinyusdz.py

When TinyUSDZ C API has been updated, need to re-genrerate <tinyusdz>/python/tinyusdz/ctinyusd.py using ctypesgen https://github.com/ctypesgen/ctypesgen .

# if you do not install ctypesgen
$ python -m pip install ctypesgen


$ cd <tinyusdz>/python
$ sh gen-ctypes.sh 

Asan support

If you built ctinyusdz with ASAN enabled, use LD_PRELOAD to load asan modules.

LD_PRELOAD=/path/to/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/14.0.0/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.so  python tutorial.py

Please see https://tobywf.com/2021/02/python-ext-asan/ for more infos.

License

Apache 2.0 license.

EoL.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tinyusdz-0.8.0rc6.tar.gz (2.1 MB view hashes)

Uploaded Source

Built Distributions

tinyusdz-0.8.0rc6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp311-cp311-win_arm64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 Windows ARM64

tinyusdz-0.8.0rc6-cp311-cp311-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

tinyusdz-0.8.0rc6-cp311-cp311-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.11 Windows x86

tinyusdz-0.8.0rc6-cp311-cp311-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp311-cp311-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp311-cp311-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tinyusdz-0.8.0rc6-cp311-cp311-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

tinyusdz-0.8.0rc6-cp311-cp311-macosx_10_9_universal2.whl (3.3 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

tinyusdz-0.8.0rc6-cp310-cp310-win_arm64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 Windows ARM64

tinyusdz-0.8.0rc6-cp310-cp310-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

tinyusdz-0.8.0rc6-cp310-cp310-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.10 Windows x86

tinyusdz-0.8.0rc6-cp310-cp310-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp310-cp310-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp310-cp310-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tinyusdz-0.8.0rc6-cp310-cp310-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tinyusdz-0.8.0rc6-cp310-cp310-macosx_10_9_universal2.whl (3.3 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

tinyusdz-0.8.0rc6-cp39-cp39-win_arm64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 Windows ARM64

tinyusdz-0.8.0rc6-cp39-cp39-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

tinyusdz-0.8.0rc6-cp39-cp39-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.9 Windows x86

tinyusdz-0.8.0rc6-cp39-cp39-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp39-cp39-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp39-cp39-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tinyusdz-0.8.0rc6-cp39-cp39-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tinyusdz-0.8.0rc6-cp39-cp39-macosx_10_9_universal2.whl (3.3 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

tinyusdz-0.8.0rc6-cp38-cp38-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

tinyusdz-0.8.0rc6-cp38-cp38-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.8 Windows x86

tinyusdz-0.8.0rc6-cp38-cp38-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp38-cp38-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp38-cp38-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

tinyusdz-0.8.0rc6-cp38-cp38-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

tinyusdz-0.8.0rc6-cp38-cp38-macosx_10_9_universal2.whl (3.3 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

tinyusdz-0.8.0rc6-cp37-cp37m-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

tinyusdz-0.8.0rc6-cp37-cp37m-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.7m Windows x86

tinyusdz-0.8.0rc6-cp37-cp37m-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp37-cp37m-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp37-cp37m-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp37-cp37m-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

tinyusdz-0.8.0rc6-cp36-cp36m-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.6m Windows x86-64

tinyusdz-0.8.0rc6-cp36-cp36m-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.6m Windows x86

tinyusdz-0.8.0rc6-cp36-cp36m-musllinux_1_1_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

tinyusdz-0.8.0rc6-cp36-cp36m-musllinux_1_1_i686.whl (2.7 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

tinyusdz-0.8.0rc6-cp36-cp36m-musllinux_1_1_aarch64.whl (2.4 MB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

tinyusdz-0.8.0rc6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

tinyusdz-0.8.0rc6-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (2.3 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686

tinyusdz-0.8.0rc6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

tinyusdz-0.8.0rc6-cp36-cp36m-macosx_10_9_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page