Skip to main content

A library for ray-mesh intersections on triangular meshes

Project description

pyraymesh

Description

pyraymesh is a Python library for performing ray intersection and occlusion tests on 3D meshes using a Bounding Volume Hierarchy (BVH). The library uses the C++ library bvh for building the BVH and performing the intersection tests.

While this library is reasonably fast for simpler meshes (benchmarks coming soon), it is not as fast as Embree, espcially for larger and more complex meshes. However, it does not have any dependencies on external libraries, and is thus easier to install and use.

Installation

Install the package either by

pip install pyraymesh

or cloning the repo and using pip:

pip install .

Note that the package requires a C++ compiler to build the C++ extension.

Usage

Building the BVH

To build the BVH for a mesh:

from pyraymesh import Mesh
import numpy as np

vertices = np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [0, 1, 0]])
faces = np.array([[0, 1, 2], [2, 3, 0]])
mesh = Mesh(vertices, faces)
mesh.build("medium")

The build method takes a string argument that specifies the BVH build type, which can be one of the following: "low", "medium" and "high". The build type determines the trade-off between build time and query time. For most cases "medium" is almost always the right choice.

Ray Intersection

To perform ray intersection tests:

ray_origin = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
ray_direction = [[0, 0, -1], [0, 0, 1]]
## or 
ray_origin = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
ray_direction = [0, 0, -1]  # multiple rays with same direction
## or 
ray_origin = [0.1, 0.2, 1]
ray_direction = [[0, 0, -1], [0, 0, 1]]  # multiple rays with same origin

result = mesh.intersect(ray_origin, ray_direction, tnear=0, tfar=1000)
print(result.num_hits)
print(result.coords)
print(result.tri_ids)
print(result.distances)

tnear and tfar can be scalars or lists of the same length as the number of rays. If they are scalars, the same value will be used for all rays. If they are lists, each value will be used for the corresponding ray.

If you set tnear to a value greater than 0, the intersection tests will ignore any intersections that are closer than tnear. Similarly, if you set tfar to a value less than infinity, the intersection tests will ignore any intersections that are farther than tfar. This library does not support negative values for tnear or tfar.

Reflections

If you want to get the reflection of the rays, add the calculate_reflections = True parameter to the intersect method:

ray_origin = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
ray_direction = [[0, 0, -1], [0, 0, 1]]
result = mesh.intersect(ray_origin, ray_direction, tnear=0, tfar=1000, calculate_reflections=True)
print(result.reflections)

results.reflections is a list of noramlized vectors representing the directions of the reflection of the rays. Only do this if you need the reflections, as it will slow down the intersection tests.

Occlusion Test

If you just care about whether a ray is occluded or not (i.e., you don't care about the intersection point) you can use the occlusion method which is faster than the intersect method and just returns an array of booleans.

ray_origin = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
ray_direction = [[0, 0, -1], [0, 0, 1]]
occluded = mesh.occlusion(ray_origin, ray_direction)
print(occluded)

Count intersections

If you want to know the total number of intersections for each ray along its path, without stopping at the first intersection, you can use the count_intersections method:

total_intersections = mesh.count_intersections(ray_origin, ray_direction)
print(total_intersections)

This method returns an array of integers representing the total number of triangles that each ray intersects between tnear and tfar.

Test line-of-sight

If you want to know if two points are visible to each other, you can use the line_of_sight method:

origin_point = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
target_point = [[0, 0, -1], [0, 0, 1]]
## or 
origin_point = [[0.1, 0.2, 1], [0.2, 0.1, 1]]
target_point = [0, 0, -1]  # multiple origin points with same target
## or 
origin_point = [0.1, 0.2, 1]
target_point = [[0, 0, -1], [0, 0, 1]]  # multiple target points with same origin

visible = mesh.line_of_sight(origin_point, target_point)

visible is a list of booleans representing whether the target point is visible from the origin point.

Parallelization

The intersect and occlusion methods can be parallelized by passing threads parameter when calling the methods:

result = mesh.intersect(ray_origin, ray_direction, tnear=0, tfar=1000, threads=4)

The threads parameter specifies the number of threads to use for the intersection tests. If set to -1, the number of threads will be equal to the number of cores on the machine. In general you shouldn't set the number of threads to be greater than the number of cores on the machine.

For a small number of rays, the overhead of parallelization might make the parallel version slower than the serial version, so it is recommended to test the performance of both versions for your specific use case.

Testing

To run the tests:

pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

pyraymesh-0.2.1.tar.gz (52.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyraymesh-0.2.1-pp310-pypy310_pp73-win_amd64.whl (108.8 kB view details)

Uploaded PyPyWindows x86-64

pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (134.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (139.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

pyraymesh-0.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (96.5 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pyraymesh-0.2.1-cp313-cp313-win_amd64.whl (110.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pyraymesh-0.2.1-cp313-cp313-win32.whl (95.0 kB view details)

Uploaded CPython 3.13Windows x86

pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (572.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_i686.whl (618.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (136.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (142.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pyraymesh-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (98.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyraymesh-0.2.1-cp313-cp313-macosx_10_14_universal2.whl (197.6 kB view details)

Uploaded CPython 3.13macOS 10.14+ universal2 (ARM64, x86-64)

pyraymesh-0.2.1-cp312-cp312-win_amd64.whl (110.5 kB view details)

Uploaded CPython 3.12Windows x86-64

pyraymesh-0.2.1-cp312-cp312-win32.whl (95.0 kB view details)

Uploaded CPython 3.12Windows x86

pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (572.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_i686.whl (618.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (136.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (142.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pyraymesh-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (98.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyraymesh-0.2.1-cp312-cp312-macosx_10_14_universal2.whl (197.6 kB view details)

Uploaded CPython 3.12macOS 10.14+ universal2 (ARM64, x86-64)

pyraymesh-0.2.1-cp311-cp311-win_amd64.whl (111.1 kB view details)

Uploaded CPython 3.11Windows x86-64

pyraymesh-0.2.1-cp311-cp311-win32.whl (95.1 kB view details)

Uploaded CPython 3.11Windows x86

pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (573.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_i686.whl (619.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (137.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (143.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pyraymesh-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (99.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyraymesh-0.2.1-cp311-cp311-macosx_10_14_universal2.whl (199.1 kB view details)

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

pyraymesh-0.2.1-cp310-cp310-win_amd64.whl (111.2 kB view details)

Uploaded CPython 3.10Windows x86-64

pyraymesh-0.2.1-cp310-cp310-win32.whl (95.3 kB view details)

Uploaded CPython 3.10Windows x86

pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (573.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_i686.whl (619.8 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (137.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (143.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pyraymesh-0.2.1-cp310-cp310-macosx_11_0_arm64.whl (99.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyraymesh-0.2.1-cp310-cp310-macosx_10_14_universal2.whl (199.5 kB view details)

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

File details

Details for the file pyraymesh-0.2.1.tar.gz.

File metadata

  • Download URL: pyraymesh-0.2.1.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fb114dbe58654a8237b1c05bddca20198bc4c6111ac9bff9a2459365d24c0246
MD5 50ce1f630423f03deec8b2dfcf2e2751
BLAKE2b-256 b416ccaf46d48d1721f9d33f0a432415870809f7dde9cf5f14e4d7af21e8adf3

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 6ff09497022823449c11a11a4cd44576369a9ac4e13162dffc5fb49ddb3e9af9
MD5 8cf0be49a9b42a24a6a19a7354aad610
BLAKE2b-256 d8c7cbc12c080af67cb3e98e32955710ab2671a7add8d4f035d0e5745dc292e6

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e937b775398386f041278ea4e32c6dd38335e6a7a02c93be7836f7cf8b041a0
MD5 0665013135581b90a306a3ea6c575fa4
BLAKE2b-256 4630196f43519fd5802352afd7fcc0314a63126ea7b31421360c41dc2a923e12

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 44b638ffb90bbc37c72d7991ff2d3deb3cf6a4fe0784b3d2f6342760bed99b9f
MD5 79aed2974b759b1848cdb14e911adeb1
BLAKE2b-256 9ed8270e5a383419adac4514b8fee277fa7e0d1e83b744cd655be2908f743655

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abaa2274f8fd6782ba43b2f4084bfdc999cef1e89030e0cac6ed95e8173d2cf8
MD5 8fd77a46fe4b88273e811abaa80ce437
BLAKE2b-256 31298d50fb80a986080fdc77b645f6cd34cfc765f049a7641f3997fc0d5db023

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 110.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dd9dcd3a2ac367e6086547fd8b7d61e5da187194fde227c2621f20ab50d693b3
MD5 8b9b2f9f660778650ddd89e960e841a6
BLAKE2b-256 e84a74a5d4a5844d08e54814aedf05470d29ae33cda7e0bb67ccbf46062302d4

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 95.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 fc49a77e50ae44bfdc7007c22bbac7a2af1c3e4d3df636f5eb77449390ad677d
MD5 1baf12de413a9492e3570410bf1d1c10
BLAKE2b-256 9825bc71239712110862269e3d7c82187c1bb2cd8fef61aa39c36196508daa51

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7d5bc27701b3fd9716a8cf2fb83388f91b76d55ee1a96e42bc5eae6aa2bbdf1f
MD5 20b6064bfaab154c2e9ec3f96c798ab2
BLAKE2b-256 5fe414a4b6ca6800674e197d1a3cd302cc2a2d68e24a9fd4105075590ae212ab

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 81e338f80281beac5f115e2ebcfa760b8f2fd4700dc2f2ac0b8df9cf5b3a9161
MD5 b75278f9cd1f41b1d2c0a16422e5ea3a
BLAKE2b-256 be07e4e1a36188957dc9af9f183e2a8dbefaae07f89ade759c2fafb7788c8386

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6ec82fcd964d15fbaea6d0fd7d60adb6d3f5efde7b84e5f25ef3090fe34ae6f
MD5 e805ea32fe091b5110fb931a984edf7d
BLAKE2b-256 b38a7df0b9a11f913546cf4b8d03742d6b0cd0a07e4e14e819b48aad81ca7c81

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bfffb964d5bdaf3f9fa822842f23ef2320b519a0a40e967a8297dc204f6a449f
MD5 818f931cd6d26a5403c1909d6fdb3aba
BLAKE2b-256 07dd7db48f6be5f866485fad1c72a36f5e6381779352e8821234f5ec0cdddba6

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e63f9a1ea33efca5931e056d07d122cb321eca866498baaa8272209e39ca623d
MD5 746e9e1429814a14147b25906a94e13a
BLAKE2b-256 02bff7bf1953ca0bd89105e106aa95c884a3e7c1e0ef087856ef165ad920d93e

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp313-cp313-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 6e2697f289b3ad1c2962ba73d10bb13bbcd33b80ee481260e63d944efe8a6987
MD5 5c791fcf92ac5db56648754c08107b98
BLAKE2b-256 51679cd06ed7293a89c29408b7c31ea921f83b8e771c37c9883117df8f3aedbc

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 110.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dcb4098b8efc0ccfa0aa41d140f5b9541d6142c255befe620977941d549d1c8c
MD5 e591fadeee71f5ce0035b615b3578443
BLAKE2b-256 b64f3a022bdf607662a1830e9cfff40378aeae598447a37d2d2e67be64a9bb33

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 95.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 7b83bb838e0d74ea4a3fab977c80bf1a27d21c074d892da02332437bd75149cb
MD5 a1e4d41ecf9b704476eacb6c6affde0d
BLAKE2b-256 e1bfc92761a571cbce26b2f4f5998c2f36ef3b7f63f57677f23b1192f08cc2fa

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3aa8cf6d064ded1e053217fe969ead986ac7758949bf5186f27e157d0f838f2e
MD5 76df1a6a945e221011f0085045cb0b48
BLAKE2b-256 904798979ea65a4ddbb34e942d039089d65d565b569e2a2f6df43f6ab458451f

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 18edc63ef2ef8eaa0339a9a145fe11b1ec9b6776812a0cdc3e9b65a2f72028bf
MD5 b9c9e041b746bc26f58cb796b654b518
BLAKE2b-256 2fbf28487ed0b604a19e73ca7c7265ea70b3d1dfeed8fe10675cc0087c4b11b5

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b09d2a20168244c4c05c4a2e722a5909d406b3ced98b79cc4748547d2c40afa
MD5 c3dced43a9a0b5fe8ebabd004b7558df
BLAKE2b-256 7f21eea470a9d401d80775000d6f0cba1365f24d1ab4414b3db1000b85bab464

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8884a8b4736f7943c5605fcbff768a71e15922ada94d21278436ff0874fd39ed
MD5 2c5c440fb11d7bd67871374c82ab224a
BLAKE2b-256 85e00c283e7e3bbe77b3dfabedd842d367cb68d250fbcda558168e156c1f0cab

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16e0f060889b675ec11df446c7cb6415e975784b62ff5f55a58590369ffd7410
MD5 9c7371820add0a3f4e445a2a2a52e8a4
BLAKE2b-256 6cdb89f04eafabc11e495beb37f622a592922e6c1257deecf477d8f09237fcce

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp312-cp312-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 1931dfb71eced7609f8ba8c371486fce0cf9a6ecb7f28975f07efdaaa7903074
MD5 60af59e2a66488b1030cbd8f84376655
BLAKE2b-256 e7c0a8ceafe48d66e68cee041ed209a3d65c98ed5c353d5ea9ae03b7958e6b4e

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 111.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ce84ea9734f945981dd2357f41e67ce79d77bd3998c84620ce9f7d87e147773f
MD5 168ec0ae0e1730e17fce0a8f36e6ee6c
BLAKE2b-256 6a75a577bc91b72eaa1a527be6b4160506d9f9ad63e1d5dd3bd1932395e885ff

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 95.1 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 873b9e376d0ad9d4ed8fc16481ec7d454f1e6431c77a30c60e641d6927dd7bf9
MD5 dedfedad64c0ce5de5f2326513bdd8e5
BLAKE2b-256 33d403c311d0b67e218ab8008c1e4ecebc1c2e568e98608f963be08c40ceb340

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 107ce7c335a37630c4d889146acc829ece27fe68a71be04fa1fd1a685244f59f
MD5 034899359f8d082770c6bebb50ae0f22
BLAKE2b-256 e69cc3da49c9c7b5cbaef896edffb18489223b7e8ef73778b45c8eac4d395aa6

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 820a5a8da673e2f57b34636c2f9298ba7301e4cb6c1728138a2f58c180fbea31
MD5 8d56c51e58ea424151b1fa4e88f24970
BLAKE2b-256 30911616e9171d61513c1c2a48bba25c217433ca79efb798b90d8219549db577

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 121e892ebb66e9ef23f25556fee7b0e893b638194a6bbcca5859df6bf29b2f57
MD5 9c76540b19f5b1425ff80173816dde4c
BLAKE2b-256 ad6f76b81458815e8a5308ce9c89de120ed5c6d523c4b044416319213bf1302f

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0badbf7588f926e22d2ac368cc32fb766d6473126280cd0e0078fe8afc5a6211
MD5 4fee9bf8a7b55932c27995b766dfc993
BLAKE2b-256 1b10ebb701cda3fd3923450e0e30bcad80035df11bed15989e9b2c26a9297368

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ed6f626acb71d8d9aa6012bd1a51b4f02fefeea644be00531a1a701ef0a1361
MD5 0d922cadb8dedd210de1b3154a257d9d
BLAKE2b-256 46e7012bf73d3521ed4bf4b744cae3320cda99489d5cc644ab6f368e16c87bed

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp311-cp311-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 d45fc43d5d491b7cb498b8a9bfadabc13fe0c3129641698971fa0ff4f442104d
MD5 01b1469167477c48e1e134b0a9cebd10
BLAKE2b-256 1b7e56fcb63aa37b7595b63938e570b9415a44a43c66127db1b05185c96d2ff6

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 111.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eef28d5917beaf33d8cc832d2201753365b35f7e154091db2c85d9b6bbd4060a
MD5 6043879871d40e03daef6a29cd536477
BLAKE2b-256 5715bd86c51618ee5d38da24c05430351b1355b7b7ec3d6e6c833aa222a0b972

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: pyraymesh-0.2.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 95.3 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 bf3c22e50dc9a5cfd69a169e34c9f876a3e47a08f7603434b90e8ab7e2d4b331
MD5 c6272ad4e04fbdcbfdb5c3929422382c
BLAKE2b-256 ac39f0e0c9732a8cbe0d4aee477145c43f7ca47472a023d8ce42f64a108bee2e

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f471fccf8c1c3a54172b227ee54b74baf8e19e10f907ffd5cfb722a337206ed3
MD5 947ba77b9a71ffa2e63a26d75cee44dd
BLAKE2b-256 4fe38f46b682b736560a24e1088efc5a2ea266adc21060b862e44240ba03417f

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cf5acea0c9cf5673d0aece0f67f21dd3f28206162a5f2a85e0bd13b32386e2e6
MD5 b1e97106cdc59cf3436cf25b2fa9d516
BLAKE2b-256 8d3cb9c3aee2a35af8b37a7e555eb5a3aea2fcf11d13dfb7fe56d963637f5960

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc6ac271066c6e2103a789147b2b3a0ca34a27c16ef6296070a09a1a102bd600
MD5 8c569f4dbda5aaab168690a0f7bda4c8
BLAKE2b-256 537e855897069a687d53cfe55dfea8f4d06db552455363d220744a0b4480097d

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c3d9a248bd2c078923a6904907021e0c40c4f87678d62f039cb8b9499094ea76
MD5 7cf10c840af53ce2479c3a1fb862d363
BLAKE2b-256 506e7b96558780cbc5f38bf10d890f63c1db9f08fb3512b754158041110c7d12

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 704b68c17cbfc46379f534e94a69f8196c9c760f1b7ad1333060956d756246d9
MD5 83ef7cc190a4ded51db4dfc7720e9487
BLAKE2b-256 08cfdc45219b03b5076ae699d292faf8dcbb9cf9538428000fbe4756da88c267

See more details on using hashes here.

File details

Details for the file pyraymesh-0.2.1-cp310-cp310-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for pyraymesh-0.2.1-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 b599e563e2333dbab22f2943b1a0d6349cc2d1c414dfbe670f2086c4f1c56ab3
MD5 892059ef9118c57cb062709d568ba406
BLAKE2b-256 5a669f44853856198f5f068c5b077e3312b7a9d8b354b6c72ce89d792e4ba923

See more details on using hashes here.

Supported by

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