Skip to main content

Python CFFI bindings for Raylib

Project description

Python Bindings for Raylib 3.7

New CFFI API static bindings. Faster, fewer bugs and easier to maintain than ctypes.

Advert

RetroWar: 8-bit Party Battle is out now. Defeat up to 15 of your friends in a tournament of 80s-inspired retro mini games.

Install

Option 1: Install from Pypi (easiest but may not be up to date or be available for your platform)

We distribute a statically linked binary Raylib library, install from Pypi.

pip3 install raylib==3.7.0

Some platforms that should be available:

Windows 10 (64 bit): Python 3.7 - 3.9

Linux (Ubuntu 16.04+): Python 3.6 - 3.9

If yours isn't available then pip will attempt to build from source, so you will need to have raylib development libs installed.

See here for a Raspberry Pi build: https://github.com/electronstudio/raylib-python-cffi/issues/31#issuecomment-862078330

Option 2: Build from source

If you're using a platform we don't have binary builds for yet then you can either use the dynamic binding with your own dll or else you will have to build from source. If you do build on a new platform please submit your binaries as a PR.

These instructions have been tested on Ubuntu 20.10 and 16.04. Mac should be very similar. Windows is probably different.

Clone this repo including submodules so you get correct version of Raylib.

git clone --recurse-submodules https://github.com/electronstudio/raylib-python-cffi

Windows

Open Visual C++ command shell.

Fix the symlink that doesnt work on Windows

cd raylib-python-cffi
copy raylib-c\src\raylib.h raylib\raylib.h

Build and install Raylib from the raylib-c directory.

cd raylib-python-cffi/raylib-c
mkdir build
cd build
cmake -DWITH_PIC=on -DCMAKE_BUILD_TYPE=Release ..
msbuild raylib.sln /target:raylib /property:Configuration=Release
copy raylib\Release\raylib.lib ..\..
cd ..\..

To update the dynamic libs, download the official release, e.g. https://github.com/raysan5/raylib/releases/download/3.7.0/raylib-3.7.0_win64_msvc16.zip and extract raylib.dll into raylib/dynamic. Delete the files for other platforms, unless you want them in your distribution.

To build a binary wheel distribution:

rmdir /Q /S build
pip3 install cffi
pip3 install wheel
python setup.py bdist_wheel

and install it:

pip3 install dist\raylib-3.7.0-cp37-cp37m-win_amd64.whl

(Note: your wheel's filename will probably be different than the one here.)

Linux etc

Build and install Raylib from the raylib-c directory.

sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev
cd raylib-python-cffi/raylib-c
mkdir build
cd build
cmake -DWITH_PIC=on -DCMAKE_BUILD_TYPE=Release ..
sudo make install

Optional: Build the Raylib shared libs, if you plan to use raylib.dynamic binding.

rm -rf *
cmake -DWITH_PIC=on -DBUILD_SHARED_LIBS=on -DCMAKE_BUILD_TYPE=Release ..
sudo make install

Optional: Make a patched version of raylib header. (Not necessary if you've already got raylib_modifed.h from repo and haven't changed anything.)

cd ../../raylib
cp raylib.h raylib_modified.h
patch  -p0 <raylib_modified.h.patch

Build

pip3 install cffi
cd ..
rm -rf build raylib/static/_raylib_cffi.*
python3 raylib/static/build.py

To update the Linux dynamic libs (names will be different on other platfroms):

rm raylib/dynamic/*.so*
cp -P /usr/local/lib/libraylib.so* raylib/dynamic/

To build a binary wheel distribution:

pip3 install wheel
python3 setup.py bdist_wheel

and install it:

pip3 install dist/raylib*.whl

To build a complete set of libs for Python 3.6, 3.7, 3.8 and 3.9:

./raylib/static/build_multi.sh

(NOTE pypi wont accept Linux packages unless they are built --plat-name manylinux2014_x86_64 so on linux please run ./raylib/static/build_multi_linux.sh )

(TODO move the dynamic libs into a separate package rather than include them with every one.)

Raspberry Pi

The integrated GPU hardware in a Raspberry Pi ("VideoCore") is rather idiosyncratic, resulting in a complex set of software options. Probably the most interesting two options for Raylib applications are:

  1. Use the Broadcom proprietary Open GL ES 2.0 drivers, installed by Raspbian into /opt/vc. These are 32-bit only, and currently X11 doesn't use these for its acceleration, so this is most suitable for driving the entire HDMI output from one application with minimal overhead (no X11).

  2. Use the more recent open-source vc4-fkms-v3d kernel driver. This can run in either 32-bit or 64-bit, and X11 can use these, so using X11 is probably the more common choice here.

With option 2, the regular linux install instructions above should probably work as-is.

For option 1, then also follow the above instructions, but with these modifications:

  • With cmake, use cmake -DWITH_PIC=on -DSTATIC=on -DSHARED=on -DPLATFORM='Raspberry Pi' ..

Use

raylib.static

Goal is make usage as similar to the original C as CFFI will allow. There are a few differences you can see in the examples. See test_static.py and examples/*.py for how to use.

from raylib.static import *

InitWindow(800, 450, b"Hello Raylib")
SetTargetFPS(60)

camera = ffi.new("struct Camera3D *", [[18.0, 16.0, 18.0], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], 45.0, 0])
SetCameraMode(camera[0], CAMERA_ORBITAL)

while not WindowShouldClose():
    UpdateCamera(camera)
    BeginDrawing()
    ClearBackground(RAYWHITE)
    BeginMode3D(camera[0])
    DrawGrid(20, 1.0)
    EndMode3D()
    DrawText(b"Hellow World", 190, 200, 20, VIOLET)
    EndDrawing()
CloseWindow()

raylib.pyray

Wrapper around the static bindings. Makes the names snakecase and converts strings to bytes automatically. See test_pyray.py.

from raylib.pyray import PyRay
from raylib.colors import *

pyray = PyRay()

pyray.init_window(800, 450, "Hello Pyray")
pyray.set_target_fps(60)

camera = pyray.Camera3D([18.0, 16.0, 18.0], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], 45.0, 0)
pyray.set_camera_mode(camera, pyray.CAMERA_ORBITAL)

while not pyray.window_should_close():
    pyray.update_camera(camera)
    pyray.begin_drawing()
    pyray.clear_background(RAYWHITE)
    pyray.begin_mode_3d(camera)
    pyray.draw_grid(20, 1.0)
    pyray.end_mode_3d()
    pyray.draw_text("Hello world", 190, 200, 20, VIOLET)
    pyray.end_drawing()
pyray.close_window()

raylib.dynamic

In addition to the API static bindings we have CFFI ABI dynamic bindings in order to avoid the need to compile a C extension module.

Currently the github version includes bundled DLLs in raylib/dynamic but the pypi version requires a system installed Raylib. You can put your own versions in raylib/dynamic if you prefer.

If your system already has the Raylib library installed, you can set the environment variable 'USE_EXTERNAL_RAYLIB' and it will always be used instead of the bundled DLLs.

See test_dynamic.py for how to use.

(Note There have been some weird failures with dynamic bindings and ctypes bindings before and often the failures are silent so you dont even know. Also the static bindings should be faster. Therefore I personally recommend the static ones. But the dynamic bindings have the big advantage that you don't need to compile anything to install. You just need a Raylib DLL.)

richlib

A simplified API for Raylib for use in education and to enable beginners to create 3d games

HELP WANTED

  • converting more examples from C to python
  • testing and building on more platforms

Performance

For fastest permformance use Pypy rather than standard python.

Every call to C is costly, so it's slightly faster if you use Python data structures and functions when calculating in your update loop and then only convert them to C data structures when you have to call the C functions for drawing.

Bunnymark

Library Implementation Bunnies (60 FPS) Percentage
Raylib 3.7 C 168100 100%
Raylib Python CFFI 3.7 Pypy 3.7 33800 20%
Raylib Python CFFI 3.7 Python 3.9 7700 4.5%
Raylib Python CFFI 3.7 Python 3.9 Nuitka 8600 5.1%
Raylib Python CFFI 3.7 Dynamic Python 3.9 6300 3.7%

Packaging your app

You can create a standalone binary using the Nuitka compiler. For example, here is how to package Bunnymark:

pip3 install nuitka
cd examples/textures
python3 -m nuitka --onefile --linux-onefile-icon resources/wabbit_alpha.png textures_bunnymark.py

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

raylib-3.7.0.post2.tar.gz (59.5 kB view details)

Uploaded Source

Built Distributions

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

raylib-3.7.0.post2-cp39-cp39-win_amd64.whl (608.1 kB view details)

Uploaded CPython 3.9Windows x86-64

raylib-3.7.0.post2-cp39-cp39-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9

raylib-3.7.0.post2-cp39-cp39-macosx_10_14_x86_64.whl (646.0 kB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

raylib-3.7.0.post2-cp38-cp38-win_amd64.whl (608.1 kB view details)

Uploaded CPython 3.8Windows x86-64

raylib-3.7.0.post2-cp38-cp38-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8

raylib-3.7.0.post2-cp38-cp38-macosx_10_14_x86_64.whl (646.0 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

raylib-3.7.0.post2-cp37-cp37m-win_amd64.whl (608.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

raylib-3.7.0.post2-cp37-cp37m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m

raylib-3.7.0.post2-cp37-cp37m-macosx_10_14_x86_64.whl (646.0 kB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

raylib-3.7.0.post2-cp36-cp36m-win_amd64.whl (608.0 kB view details)

Uploaded CPython 3.6mWindows x86-64

raylib-3.7.0.post2-cp36-cp36m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m

raylib-3.7.0.post2-cp36-cp36m-macosx_10_14_x86_64.whl (646.0 kB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

File details

Details for the file raylib-3.7.0.post2.tar.gz.

File metadata

  • Download URL: raylib-3.7.0.post2.tar.gz
  • Upload date:
  • Size: 59.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2.tar.gz
Algorithm Hash digest
SHA256 ce5d2d8f7ae4250705818d95cb9b843950b57ea12ad8fcfd7609ec89be843db2
MD5 a367c5ae24c4ee8ea8169561245debf9
BLAKE2b-256 781e72b081d90888c2a61fe6ad89e8023c9a01653e7252f0cbfa6f54a9069b88

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-pp37-pypy37_pp73-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for raylib-3.7.0.post2-pp37-pypy37_pp73-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4add5c65765c68fdbb712e36b6b2e79d56c5bfaf7f3f243d31b0e284fcf53aaa
MD5 49f6e72866ccb250d736abe2a376e9d6
BLAKE2b-256 d0f27148389f235d508d17b8086d3fa0ddd79cb87fa9cad00151c884797aac0a

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-pp36-pypy36_pp73-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for raylib-3.7.0.post2-pp36-pypy36_pp73-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5eafff72e6774cc192f561190de6902856f1381088e80ca2db86463f42f00bc5
MD5 4d42e732f4f434512b5445098b054ea9
BLAKE2b-256 4cc45469319c31cc67b5f08f6354d7a29fb1d5267b484eaa5a8ddf57bf63e836

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 608.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 65a4b0f18e0c2af78b0cadb6d55eeb9daed8a664994c67e3c889b9f6e191eeaa
MD5 3ebb94fd505030d1464f5200bd30bf79
BLAKE2b-256 af17ac4433ffadaead3704f27e1d3f5199fe31e116e6c2e61b8eb64d2047faa2

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2844e62d2cc61e313b0b03459571598959ef2fcfe0b09e98c5e0a1f4c73e450
MD5 b0051cd8be2df322fcfa4e34b8cca279
BLAKE2b-256 65558410475fa4106d656e6ddc3b05c817fe6073c37f394bd82d6c4ba7beea41

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp39-cp39-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 646.0 kB
  • Tags: CPython 3.9, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for raylib-3.7.0.post2-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 588998582da3b3d86746889413a6392e70562842bbd7e288010fe7a1bc24a3d5
MD5 4e82ca755efadf95c18379ef20b7e679
BLAKE2b-256 29b6357c6b9dfed2c19c4589c029f46dc506372be7e1dc46608b20ac001c510a

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 608.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 af9172dc671cd00f63d3585081093c8e24375435dd3d8893b19408674d5b4883
MD5 29c6b2603099851225a38ae75bfe9a66
BLAKE2b-256 86b559bfec3ef62a7502d8a737f7c846cf940d1c78170b3ad99b00d7968c85c1

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed5a6927154cf8e2d910b8fafe3e06c14c379b9993ab842977d592b25d6b804f
MD5 286ca1d4b038e436938da6e13a29ff77
BLAKE2b-256 224264117c0d654853de40122235c388e70736e2614a0ccf605376d5509f9559

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp38-cp38-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 646.0 kB
  • Tags: CPython 3.8, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for raylib-3.7.0.post2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 113deb2a37b842be003bb2c74dcf6b64c8b09d81ba23d072a45b88a19cdf8150
MD5 b030f20b4dc9590ce7b28b377ae43cc5
BLAKE2b-256 06d1524197dcc34a6a000989f48899e3de6b7ebb70f88558f18679a9f1edbc56

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 608.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3d9b807495787d425c818bd7dcc5c5e208f619b7d70b36aed5a1cbf84fba00ba
MD5 9282f54696e683cebee12e5adb6ef5dc
BLAKE2b-256 dc077cecb486c286c1135bea8c83730ea6977d4f29ed8aaabc29399fa31c9a96

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86a3c07a6c0dc5b974d12b744291d121aa3c4a94626b851a128237998827fe18
MD5 a7fc7be61bb1d09e202f3f27a0121ef9
BLAKE2b-256 f94d792a4ae11ed4c1f267cba785292f22e5ab95b913e0d82ff85f572c034885

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 646.0 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for raylib-3.7.0.post2-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3c6ae2a73275eb9ef1aefde5bc615227f5ebfd33b9b4ae1d46e0cd876f4ed4ce
MD5 fc62921c26983e327890ce19ebd1a607
BLAKE2b-256 1bde1fa8776fc3713c756311f38c1697cb0762f2287cb12e3abe9ac243ab1676

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 608.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d2160a11a109d7378269bbb0cdab7757f6476008c8691fc621f71892f7acf24c
MD5 6a73e081bcb14774f593f13571e76ea6
BLAKE2b-256 1be824aef55539b266bea7d1093c88655a6fbacc7814417409cb1335aa55df29

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 PyPy/7.3.5

File hashes

Hashes for raylib-3.7.0.post2-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c915693268f81a1cc33eb6af6aa5496fd931acba7bd99e783099ee3890f16018
MD5 2eec54f02d3889e899b0a119201e560f
BLAKE2b-256 ea7ed649b2995b96a9f6704317dbb496f3e74b47dea899b3cf0417c054b5bea8

See more details on using hashes here.

File details

Details for the file raylib-3.7.0.post2-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: raylib-3.7.0.post2-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 646.0 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.1

File hashes

Hashes for raylib-3.7.0.post2-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 20542810de9fd126529ba07fe9208d3e1329435d35a6e1c0829c7c5bd6a6e808
MD5 292077e4c566c3ae89e75f1a123cdada
BLAKE2b-256 cfad90f87b62381d1f8b19bef48e59a760d6fdfae16e9b11e6bdc2437fbbb2a8

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