raylib 5.0.0.5__cp312-cp312-macosx_14_0_arm64.whl → 5.5.0.2__cp312-cp312-macosx_14_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of raylib might be problematic. Click here for more details.
- pyray/__init__.py +3 -4
- pyray/__init__.pyi +336 -124
- raylib/__init__.pyi +323 -111
- raylib/_raylib_cffi.cpython-312-darwin.so +0 -0
- raylib/build.py +46 -14
- raylib/defines.py +27 -5
- raylib/enums.py +16 -11
- raylib/glfw3.h.modified +226 -110
- raylib/raygui.h.modified +53 -31
- raylib/raylib.h.modified +133 -94
- raylib/raymath.h.modified +40 -10
- raylib/rlgl.h.modified +55 -38
- raylib/version.py +1 -1
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.2.dist-info}/METADATA +131 -58
- raylib-5.5.0.2.dist-info/RECORD +23 -0
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.2.dist-info}/WHEEL +1 -1
- raylib-5.0.0.5.dist-info/RECORD +0 -23
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.2.dist-info}/LICENSE +0 -0
- {raylib-5.0.0.5.dist-info → raylib-5.5.0.2.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: raylib
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.5.0.2
|
|
4
4
|
Summary: Python CFFI bindings for Raylib
|
|
5
5
|
Home-page: https://github.com/electronstudio/raylib-python-cffi
|
|
6
6
|
Author: Electron Studio
|
|
@@ -12,40 +12,47 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
18
15
|
Description-Content-Type: text/markdown
|
|
19
16
|
License-File: LICENSE
|
|
20
17
|
Requires-Dist: cffi>=1.17.1
|
|
21
18
|
|
|
22
|
-
# Python Bindings for Raylib 5.
|
|
19
|
+
# Python Bindings for Raylib 5.5
|
|
20
|
+
## Libraries: raymath, raygui, rlgl, physac and GLFW
|
|
21
|
+
## Backends: Desktop, SDL, DRM, Web
|
|
22
|
+
## Platforms: Windows, Mac, Linux, Raspberry Pi, Web
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+

|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Chatroom: [Discord](https://discord.gg/fKDwt85aX6)
|
|
27
|
+
|
|
28
|
+
HELP WANTED: [writing examples](https://github.com/electronstudio/raylib-python-cffi/issues/155)
|
|
29
|
+
|
|
30
|
+
Features:
|
|
31
|
+
|
|
32
|
+
* CFFI API static bindings.
|
|
27
33
|
* Automatically generated to be as close as possible to
|
|
28
34
|
original Raylib.
|
|
29
35
|
* Faster, fewer bugs and easier to maintain than ctypes.
|
|
30
36
|
* Commercial-friendly license.
|
|
31
37
|
* Docstrings and auto-completion.
|
|
32
|
-
*
|
|
38
|
+
* Type checking with Mypy
|
|
39
|
+
|
|
33
40
|
|
|
34
41
|
[Full documentation](http://electronstudio.github.io/raylib-python-cffi)
|
|
35
42
|
|
|
36
43
|
# Quickstart
|
|
37
44
|
|
|
38
|
-
`pip3 install raylib`
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
`pip3 install raylib==5.5.0.0`
|
|
46
|
+
```python
|
|
47
|
+
from pyray import *
|
|
48
|
+
init_window(800, 450, "Hello")
|
|
49
|
+
while not window_should_close():
|
|
50
|
+
begin_drawing()
|
|
51
|
+
clear_background(WHITE)
|
|
52
|
+
draw_text("Hello world", 190, 200, 20, VIOLET)
|
|
53
|
+
end_drawing()
|
|
54
|
+
close_window()
|
|
55
|
+
```
|
|
49
56
|
|
|
50
57
|
# Installation
|
|
51
58
|
|
|
@@ -56,90 +63,146 @@ First make sure you have the latest pip installed:
|
|
|
56
63
|
Then install
|
|
57
64
|
|
|
58
65
|
python3 -m pip install setuptools
|
|
59
|
-
python3 -m pip install raylib
|
|
66
|
+
python3 -m pip install raylib==5.5.0.0
|
|
60
67
|
|
|
61
|
-
On most platforms it should install a binary wheel
|
|
62
|
-
|
|
63
|
-
If yours isn't available then pip will attempt to build from source, in which case you will need to have Raylib development libs installed, e.g.
|
|
68
|
+
On most platforms it should install a binary wheel. If yours isn't available then pip will attempt to build from
|
|
69
|
+
source, in which case you will need to have Raylib development libs installed, e.g.
|
|
64
70
|
using homebrew, apt, etc.
|
|
65
71
|
|
|
72
|
+
## Windows
|
|
73
|
+
|
|
74
|
+
Binaries require x64 Windows 10 or newer. (For x86 or older Windows you will have to build from source.)
|
|
75
|
+
|
|
76
|
+
Use an [official Windows Python release](https://www.python.org/downloads/windows/) rather than WSL, MSYS, etc.
|
|
77
|
+
|
|
78
|
+
## MacOS
|
|
79
|
+
|
|
80
|
+
Binaries require:
|
|
81
|
+
* arm64 MacOS 14
|
|
82
|
+
* x64 MacOS 10.13, or newer.
|
|
83
|
+
|
|
84
|
+
Older MacOS requires building from source but this is usually simple:
|
|
85
|
+
|
|
86
|
+
brew install pkg-config
|
|
87
|
+
brew install raylib
|
|
88
|
+
python3 -m pip install raylib==5.5.0.0
|
|
89
|
+
|
|
90
|
+
(I do have binaries for arm64 MacOS 11, 12 and 13 but I have no way of testing they work, so post an issue
|
|
91
|
+
if you want to test them.)
|
|
92
|
+
|
|
93
|
+
## Linux
|
|
94
|
+
|
|
95
|
+
Binaries require OS newer than Ubuntu 2020, x64 or arm64. Otherwise build from source.
|
|
96
|
+
(Pip should attempt automatically but will need Raylib itself installed and also pkg-config.)
|
|
97
|
+
|
|
98
|
+
The arm64 binaries are built on Raspberry Pi arm64 Bullseye with OpenGL 2.0
|
|
99
|
+
so may not work on other boards.
|
|
100
|
+
|
|
66
101
|
## Raspberry Pi
|
|
67
102
|
|
|
68
103
|
[Using on Rasperry Pi](RPI.rst)
|
|
69
104
|
|
|
105
|
+
# Backends
|
|
106
|
+
|
|
70
107
|
## Dynamic binding version
|
|
71
108
|
|
|
72
109
|
There is now a separate dynamic version of this binding:
|
|
73
110
|
|
|
111
|
+
python3 -m pip uninstall raylib
|
|
74
112
|
python3 -m pip install raylib_dynamic
|
|
75
113
|
|
|
76
114
|
It works on some systems where the static version doesn't, [but be sure to read these caveats before using it](https://electronstudio.github.io/raylib-python-cffi/dynamic.html)
|
|
77
115
|
|
|
78
|
-
|
|
116
|
+
You can't have multiple raylib packages installed at once.
|
|
117
|
+
|
|
118
|
+
## SDL backend
|
|
119
|
+
|
|
120
|
+
This is not well tested but has better support for controllers:
|
|
121
|
+
|
|
122
|
+
python3 -m pip uninstall raylib
|
|
123
|
+
python3 -m pip install raylib_sdl
|
|
124
|
+
|
|
125
|
+
You can't have multiple raylib packages installed at once.
|
|
79
126
|
|
|
80
|
-
|
|
81
|
-
You can install an alpha or beta version by specifying the exact version number like this:
|
|
127
|
+
## DRM backend
|
|
82
128
|
|
|
83
|
-
|
|
129
|
+
This uses the Linux framebuffer for devices that don't run X11/Wayland:
|
|
130
|
+
|
|
131
|
+
python3 -m pip uninstall raylib
|
|
132
|
+
python3 -m pip install raylib_drm
|
|
133
|
+
|
|
134
|
+
You can't have multiple raylib packages installed at once.
|
|
84
135
|
|
|
85
136
|
## Problems?
|
|
86
137
|
|
|
87
138
|
If it doesn't work, [try to build manually.](BUILDING.rst). If that works then [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues)
|
|
88
139
|
to let us know what you did.
|
|
89
140
|
|
|
90
|
-
If you need help you can try asking
|
|
141
|
+
If you need help you can try asking on [our discord](https://discord.gg/fKDwt85aX6). There is also a large [Raylib discord](https://discord.gg/raylib)
|
|
142
|
+
for issues that are not Python-specific.
|
|
91
143
|
|
|
92
144
|
If it still doesn't work, [submit an issue](https://github.com/electronstudio/raylib-python-cffi/issues).
|
|
93
145
|
|
|
94
146
|
|
|
95
147
|
# How to use
|
|
96
148
|
|
|
97
|
-
There are two
|
|
149
|
+
There are *two* modules in the raylib package, `raylib` and `pyray`. (There is no separate package for
|
|
150
|
+
pyray. Do *not* `pip install pyray`). You can use either or both:
|
|
98
151
|
|
|
99
152
|
### If you are familiar with C coding and the Raylib C library and you want to use an exact copy of the C API
|
|
100
153
|
|
|
101
|
-
Use [the
|
|
154
|
+
Use [the raylib module](https://electronstudio.github.io/raylib-python-cffi/raylib.html).
|
|
102
155
|
|
|
103
|
-
### If you prefer a
|
|
156
|
+
### If you prefer a more Pythonistic API
|
|
104
157
|
|
|
105
|
-
Use [the
|
|
158
|
+
Use [the pyray module](https://electronstudio.github.io/raylib-python-cffi/pyray.html).
|
|
106
159
|
|
|
107
160
|
# Running in a web browser
|
|
108
161
|
|
|
109
|
-
[Pygbag](https://pypi.org/project/pygbag/) >=0.8.7 supports running in a web browser.
|
|
162
|
+
[Pygbag](https://pypi.org/project/pygbag/) >=0.8.7 supports running in a web browser. Usually the latest git version
|
|
163
|
+
is recommended.
|
|
110
164
|
|
|
111
165
|
Make a folder `my_project` with a file `main.py`:
|
|
112
166
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
167
|
+
```python
|
|
168
|
+
# /// script
|
|
169
|
+
# dependencies = [
|
|
170
|
+
# "cffi",
|
|
171
|
+
# "raylib"
|
|
172
|
+
# ]
|
|
173
|
+
# ///
|
|
174
|
+
import asyncio
|
|
175
|
+
import platform
|
|
176
|
+
from pyray import *
|
|
177
|
+
|
|
178
|
+
async def main(): # You MUST have an async main function
|
|
179
|
+
init_window(500, 500, "Hello")
|
|
180
|
+
platform.window.window_resize() # You MAY want to add this line
|
|
181
|
+
while not window_should_close():
|
|
182
|
+
begin_drawing()
|
|
183
|
+
clear_background(WHITE)
|
|
184
|
+
draw_text("Hello world", 190, 200, 20, VIOLET)
|
|
185
|
+
end_drawing()
|
|
186
|
+
await asyncio.sleep(0) # You MUST call this in your main loop
|
|
187
|
+
close_window()
|
|
188
|
+
|
|
189
|
+
asyncio.run(main())
|
|
190
|
+
```
|
|
135
191
|
|
|
136
192
|
Then to create the web files and launch a web server:
|
|
137
193
|
|
|
138
194
|
python3.12 -m pip install --user --upgrade pygbag
|
|
139
|
-
python3.12 -m pygbag --PYBUILD 3.12 --ume_block 0 --template noctx.tmpl my_project
|
|
195
|
+
python3.12 -m pygbag --PYBUILD 3.12 --ume_block 0 --template noctx.tmpl --git my_project
|
|
140
196
|
|
|
141
197
|
Point your browser to http://localhost:8000
|
|
142
198
|
|
|
199
|
+
Some features may not work, so you can disable them like this:
|
|
200
|
+
|
|
201
|
+
```python
|
|
202
|
+
if platform.system() != "Emscripten": # audio does not work on current version of emscripten
|
|
203
|
+
init_audio_device()
|
|
204
|
+
```
|
|
205
|
+
|
|
143
206
|
This is all done by Pygbag rather than by me, so you should probably contact them with any issues.
|
|
144
207
|
Carefully read all their [documentation](https://pygame-web.github.io/).
|
|
145
208
|
|
|
@@ -147,10 +210,20 @@ It does work for most of [these examples](https://electronstudio.github.io/rayli
|
|
|
147
210
|
|
|
148
211
|
# App showcase
|
|
149
212
|
|
|
213
|
+
[Tempest-raylib](https://github.com/Emtyloc/tempest-raylib)
|
|
214
|
+
|
|
215
|
+
[KarabinerKeyboard](https://github.com/bilbofroggins/KarabinerKeyboard)
|
|
216
|
+
|
|
217
|
+
[PyTaiko](https://github.com/Yonokid/PyTaiko)
|
|
218
|
+
|
|
219
|
+
[DOOM-Clone](https://github.com/StanislavPetrovV/DOOM-Clone)
|
|
220
|
+
|
|
150
221
|
[Tanki](https://github.com/pkulev/tanki)
|
|
151
222
|
|
|
152
223
|
[Alloy Bloxel Editor](https://pebaz.itch.io/alloy-bloxel-editor)
|
|
153
224
|
|
|
225
|
+
[Eidolon](https://github.com/Miou-zora/Eidolon)
|
|
226
|
+
|
|
154
227
|
Add your app here!
|
|
155
228
|
|
|
156
229
|
# RLZero
|
|
@@ -164,9 +237,9 @@ A related library (that is a work in progress!):
|
|
|
164
237
|
* Converting more examples from C to Python
|
|
165
238
|
* Testing on more platforms
|
|
166
239
|
|
|
167
|
-
# License
|
|
240
|
+
# License
|
|
168
241
|
|
|
169
|
-
|
|
242
|
+
Eclipse Public License, so you are free to
|
|
170
243
|
statically link and use in non-free / proprietary / commercial projects!
|
|
171
244
|
|
|
172
245
|
# Performance
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
pyray/__init__.py,sha256=vIG3y6niJNvKobp0h6z24OmlxRbKnSwNho_3pjG7KdU,7115
|
|
2
|
+
pyray/__init__.pyi,sha256=T47R66T43lCZeJXJKi-pfXnSt3SxyDDDCQdEVZCv3TQ,183078
|
|
3
|
+
pyray/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
raylib/__init__.py,sha256=zTSGLz_KdS8jJZKAXOGeaaWHZZPsrmFKAwxRt4iDFvU,1193
|
|
5
|
+
raylib/__init__.pyi,sha256=lQk7oP0o-bWBnFpFlUn4cCFYBLec8bUCuF8gQNsTmIM,162287
|
|
6
|
+
raylib/_raylib_cffi.cpython-312-darwin.so,sha256=DWjLsHJyx0islzy-_cUr_WzVR3Dq8tYdUA8vhGlFbd8,2821392
|
|
7
|
+
raylib/build.py,sha256=Ihu2a28O9gs0XlGtjfBZ2geD32vUkVlatUAUMP8AdY4,10018
|
|
8
|
+
raylib/colors.py,sha256=_u-mYrpdx7_v_4wnJrnSu_m36ixKJWbort780_V6rTw,1523
|
|
9
|
+
raylib/defines.py,sha256=CvpTK0ogvLKPHTWSulj-vBuTrV57HVAb0mNHvfNvgPc,16835
|
|
10
|
+
raylib/enums.py,sha256=A-9DdfE-AsGXjPWM-VNhMHxgas2lzHH8gTrhK4VufrI,17786
|
|
11
|
+
raylib/glfw3.h.modified,sha256=Ih-BKuxr3r4iwOMrObhLA-RgR62hsd40feqUqcri0Ks,214101
|
|
12
|
+
raylib/physac.h.modified,sha256=GZEIVO0ot8kuHkb7IIuNPieilfC3Poxn6BLlQyvRGEY,9895
|
|
13
|
+
raylib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
raylib/raygui.h.modified,sha256=75djppnwPjTjTfNVcUaXKxGau2PqUisL9oy_yVXQgV8,46107
|
|
15
|
+
raylib/raylib.h.modified,sha256=utxLqc62ZVOQsjcFHESVsqEDylRm1UuKMS2bA1PYewY,107888
|
|
16
|
+
raylib/raymath.h.modified,sha256=4DQgPGjaFbbIceBAucTw2luV8AvSUFGQx-i-Y-jsM-U,28298
|
|
17
|
+
raylib/rlgl.h.modified,sha256=wuxfJ5rPQ0YI63uP12fAZAwxI1tETOXz-6x1Hb604Mc,37519
|
|
18
|
+
raylib/version.py,sha256=-qaV_iVmeZ2ed1zc21TOAfM25ysLZQUtJxazCcR1li4,23
|
|
19
|
+
raylib-5.5.0.2.dist-info/LICENSE,sha256=C-zxZWe-t3-iUrdmRjHdF3yPmhiJ5ImVtFN5xxMOUwM,14198
|
|
20
|
+
raylib-5.5.0.2.dist-info/METADATA,sha256=02yqpQbaVA8vEUb-TVTFpMHP3BPo8oSSAz9-DPO4EDk,9868
|
|
21
|
+
raylib-5.5.0.2.dist-info/WHEEL,sha256=68miiZVF0Vu0w2nj5tXUUyL44VTV0_i5TIpA8LsZ5r4,109
|
|
22
|
+
raylib-5.5.0.2.dist-info/top_level.txt,sha256=PnMBDWaUP4jsbn_NewagcC9FjHYpzSAIQuhxNzt9hkg,13
|
|
23
|
+
raylib-5.5.0.2.dist-info/RECORD,,
|
raylib-5.0.0.5.dist-info/RECORD
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
pyray/__init__.py,sha256=6sEm8KxRaK2B2PQo7ZlbXkHoxBDLW43wYSs_Cl7rUMg,7119
|
|
2
|
-
pyray/__init__.pyi,sha256=TlSjWwfJdjyVBAMm3eS6ueCh-Wz0Vq6gVSFabEzFxyc,173184
|
|
3
|
-
pyray/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
raylib/__init__.py,sha256=zTSGLz_KdS8jJZKAXOGeaaWHZZPsrmFKAwxRt4iDFvU,1193
|
|
5
|
-
raylib/__init__.pyi,sha256=5X8aWKjsPEVzMlXaAmej-y8FQfevmwGDhci8SQVGrsM,152655
|
|
6
|
-
raylib/_raylib_cffi.cpython-312-darwin.so,sha256=IA0_vwOz7ctISNmyggkIIAOZz6F5M-x3A4BtSM7WiLQ,2846960
|
|
7
|
-
raylib/build.py,sha256=2ALzT9DBkpN8qReIarxFcAlVJ3fcrmxpZBX2CEm7QRQ,8679
|
|
8
|
-
raylib/colors.py,sha256=_u-mYrpdx7_v_4wnJrnSu_m36ixKJWbort780_V6rTw,1523
|
|
9
|
-
raylib/defines.py,sha256=L1Wr1LGz1da7wCvYCXHTpZFfVNbra8S4bcFim28LjJM,15807
|
|
10
|
-
raylib/enums.py,sha256=RtQpN23zViI2mQSHPPc0Ay4IvNdiDk_xggdMPLCR0ng,17586
|
|
11
|
-
raylib/glfw3.h.modified,sha256=NIUx9jE3V1Ir4NQehh02sTwiT_7i4PxlZshO24gHfGg,208458
|
|
12
|
-
raylib/physac.h.modified,sha256=GZEIVO0ot8kuHkb7IIuNPieilfC3Poxn6BLlQyvRGEY,9895
|
|
13
|
-
raylib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
raylib/raygui.h.modified,sha256=5NKMOQHYZsoD51ewmIezTkNuTKdERqde486NXjbys6M,44607
|
|
15
|
-
raylib/raylib.h.modified,sha256=unvQ4E54KOdr8ScXltaLbgF4eh7wZbVHGFqCupeL3hE,102852
|
|
16
|
-
raylib/raymath.h.modified,sha256=GaiB8wHjC-Hzfx7DWrK9geLH555QFBJyAMszTWP9q0g,23185
|
|
17
|
-
raylib/rlgl.h.modified,sha256=F0bhxnn3Y7K9XOSjOag0N4xpcavCZ9riSFjUT3A9uWk,35329
|
|
18
|
-
raylib/version.py,sha256=TJFIkW6_BlGa9PGistgwofqMEQ6si0P5KY5qQyU8jyc,23
|
|
19
|
-
raylib-5.0.0.5.dist-info/LICENSE,sha256=C-zxZWe-t3-iUrdmRjHdF3yPmhiJ5ImVtFN5xxMOUwM,14198
|
|
20
|
-
raylib-5.0.0.5.dist-info/METADATA,sha256=rQk2FgvjX8-kQk0m_c29eCIYzevno2nvBlbBWyYY3no,8070
|
|
21
|
-
raylib-5.0.0.5.dist-info/WHEEL,sha256=q7AmnxQZUqrqe4YLRmQEjqVDZIHQKXfTZEoBTbDZ01I,109
|
|
22
|
-
raylib-5.0.0.5.dist-info/top_level.txt,sha256=PnMBDWaUP4jsbn_NewagcC9FjHYpzSAIQuhxNzt9hkg,13
|
|
23
|
-
raylib-5.0.0.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|