Skip to main content

Blender with CUDA support as a python module

Project description

blenderpy

Blender as a python module with easy-install

About

Meant for installation into a virtualenv or wherever, for unit testing of Blender extensions being authored, or developement of a Blender 3d-enabled Python application.

Depends upon the bpy-build module to make sure the Blender bpy module environment is correct.

For more information, please see:

bpy-build repository

Getting Started

Prebuilt wheels are provided for popular Platforms (MacOS, Windows, and Ubuntu). Prebuilds include "normal" installation (bpy), CUDA (bpy-cuda) and Optix (bpy-optix). Choosing the correct version depends on your use-case and hardware but in general bpy should be just fine for non-rendering automation tasks while bpy-optix has the best performance but requires a NVIDIA RTX Card and up to date drivers.

Installing

Installing a prebuilt on these platforms is simple.

pip install bpy && bpy_post_install

Self Building

Building the Blender API for your own platform can be difficult, however this repo should make it easy enough for you to create your own builds by hand.

Build from sdist

You can build from a source distribution using pip.

Prerequisites

Performing a build from sdist requires at least the prerequisites for building Blender. See the wiki for the list of prerequisite applications.

Windows

py -3.7-64 -m pip install --upgrade pip wheel future-fstrings

Other

python3.7 -m pip install --upgrade pip wheel future-fstrings
Build

Windows

py -3.7-64 -m pip install bpy --no-binary

Other

python3.7 -m pip install bpy --no-binary

Build from repo

You can also build after cloning the repository, this is helpful during development.

Prerequisites
python3 -m pip install --upgrade pip wheel future-fstrings
git clone https://github.com/TylerGubala/blenderpy.git
Build

If you have a specific version of bpy you want, you have to change the VERSION string at the beginning of the bpy_<optional extra>_setup.py file.

To build, run the below command.

Windows py bpy_setup.py sdist bdist_wheel Other python3 bpy_setup.py sdist bdist_wheel

The resultant wheel in the dist folder can be installed using pip.

Post any errors you have as an issue.

FAQ

Q. I am getting failed to find 'bpy_types' module

A. Please see issue #13

Q. I am getting ImportError: DLL load failed: The specified module could not be found

A. Please see issue #15

Q. How do I import addons?

A. Addons (Blender internal and third party) can be imported using the code referenced here.

Q. How can I use Blender in multiprocessing?

A. Blender runtime usage and compatibility with multiprocessing is limited, see the documentation.

Q. What about my operating system of choice?

A. MacOS support is on its way. After that is Ubuntu.

Q. What about my Python version of choice?

A. Some builds you will have to make yourself if you have a specific version of the API you want. Likewise, if you are contrained to a specific Python version (especially those that aren't shipped by python.org) then you may have to try and build yourself.

Gotchas

I have not tested this for platforms other than Windows Python 3.6.x at the moment. More to come soon.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

bpy_cuda-2.82-cp37-cp37m-win_amd64.whl (128.9 MB view details)

Uploaded CPython 3.7m Windows x86-64

File details

Details for the file bpy_cuda-2.82-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: bpy_cuda-2.82-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 128.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.0

File hashes

Hashes for bpy_cuda-2.82-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8029a98d79959af6d0881835c0ed542f01c76da4124833ec65077b3d8dc04c0f
MD5 dea192f400e67f3fafb328bd8350f6fc
BLAKE2b-256 ce7808a413323feaa2ca3a4eb71a50ab44b11600bb5f50df544d37aff94ad13f

See more details on using hashes here.

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