Skip to main content

A simple Python wrapper for Assimp using ctypes to access the library. Requires Python >= 2.6.

Python 3 support is mostly here, but not well tested.

Note that pyassimp is not complete. Many ASSIMP features are missing.

USAGE

Complete example: 3D viewer

pyassimp comes with a simple 3D viewer that shows how to load and display a 3D model using a shader-based OpenGL pipeline.

Screenshot

Screenshot

To use it, from within /port/PyAssimp:

$ cd scripts
$ python ./3D-viewer <path to your model>

You can use this code as starting point in your applications.

Writing your own code

To get started with pyassimp, examine the simpler sample.py script in scripts/, which illustrates the basic usage. All Assimp data structures are wrapped using ctypes. All the data+length fields in Assimp’s data structures (such as aiMesh::mNumVertices, aiMesh::mVertices) are replaced by simple python lists, so you can call len() on them to get their respective size and access members using [].

For example, to load a file named hello.3ds and print the first vertex of the first mesh, you would do (proper error handling substituted by assertions …):

from pyassimp import load
with load('hello.3ds') as scene:

    assert len(scene.meshes)
    mesh = scene.meshes[0]

    assert len(mesh.vertices)
    print(mesh.vertices[0])

Another example to list the ‘top nodes’ in a scene:

from pyassimp import load
with load('hello.3ds') as scene:

    for c in scene.rootnode.children:
        print(str(c))

INSTALL

Install pyassimp by running:

$ python setup.py install

PyAssimp requires a assimp dynamic library (DLL on windows, .so on linux, .dylib on macOS) in order to work. The default search directories are:

  • the current directory

  • on linux additionally: /usr/lib, /usr/local/lib, /usr/lib/x86_64-linux-gnu

To build that library, refer to the Assimp master INSTALL instructions. To look in more places, edit ./pyassimp/helper.py. There’s an additional_dirs list waiting for your entries.

Metadata

Release files for pyassimp 5.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyassimp 5.2.5
File Size Uploaded
pyassimp-5.2.5.tar.gz 101.1 kB Details

Release files / pyassimp-5.2.5.tar.gz

Download URL pyassimp-5.2.5.tar.gz
Size 101.1 kB
Tags Source
SHA-256 checksum
How to use checksums
107d93780e4300d70698c4291c54dd32ff78e8cf0dafd56ac1801cd0260c36f3
BLAKE2b-256 checksum
How to use checksums
995ff5577fe7f48be4d2bdf7e3284285469da80b99e4a4c34d4c927466317053
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

5.2.5 This release

1 release file

4.1.4

1 release file

4.1.3

1 release file

4.1.2

1 release file

4.1.1

1 release file

3.3

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page