A ctypes-based wrapper for GLFW3.
Project description
This module provides Python bindings for GLFW (on GitHub: glfw/glfw). It is a ctypes wrapper which keeps very close to the original GLFW API, except for:
function names use the pythonic words_with_underscores notation instead of camelCase
GLFW_ and glfw prefixes have been removed, as their function is replaced by the module namespace (you can use from glfw.GLFW import * if you prefer the naming convention used by the GLFW C API)
structs have been replaced with Python sequences and namedtuples
functions like glfwGetMonitors return a list instead of a pointer and an object count
Gamma ramps use floats between 0.0 and 1.0 instead of unsigned shorts (use glfw.NORMALIZE_GAMMA_RAMPS=False to disable this)
GLFW errors are reported as glfw.GLFWError exceptions if no error callback is set (use glfw.ERROR_REPORTING=False to disable this)
instead of a sequence for GLFWimage structs, PIL/pillow Image objects can be used
Installation
pyGLFW can be installed using pip:
pip install glfw
Windows
The GLFW shared library is included in the Python wheels for Windows, but the correct Microsoft Visual C++ Redistributable will be required:
Alternatively, you can download a shared library built for a runtime already installed on your system from glfw.org.
Linux and macOS
You will need to install the GLFW shared library yourself and should compile GLFW from source (use -DBUILD_SHARED_LIBS=ON).
pyGLFW will search for the library in a list of search paths (including those in LD_LIBRARY_PATH on Linux and DYLD_LIBRARY_PATH on macOS). If you want to use a specific library, you can set the PYGLFW_LIBRARY environment variable to its path.
Example Code
The example from the GLFW documentation ported to pyGLFW:
import glfw
def main():
# Initialize the library
if not glfw.init():
return
# Create a windowed mode window and its OpenGL context
window = glfw.create_window(640, 480, "Hello World", None, None)
if not window:
glfw.terminate()
return
# Make the window's context current
glfw.make_context_current(window)
# Loop until the user closes the window
while not glfw.window_should_close(window):
# Render here, e.g. using pyOpenGL
# Swap front and back buffers
glfw.swap_buffers(window)
# Poll for and process events
glfw.poll_events()
glfw.terminate()
if __name__ == "__main__":
main()
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file glfw-1.8.2.tar.gz.
File metadata
- Download URL: glfw-1.8.2.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.13.0 setuptools/28.8.0 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.13 Darwin/16.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eec70faed8f943761cb2f211bab630ca5a584656f8f8908b0a3458454061f5d
|
|
| MD5 |
9135d520de1aff829761db40c15e9183
|
|
| BLAKE2b-256 |
e6d5df9f72d65fb5587cfb76069c3d91a0252002f9288fd6fcd9d8bbe046b49d
|
File details
Details for the file glfw-1.8.2-py2.py3-none-win_amd64.whl.
File metadata
- Download URL: glfw-1.8.2-py2.py3-none-win_amd64.whl
- Upload date:
- Size: 63.0 kB
- Tags: Python 2, Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.13.0 setuptools/28.8.0 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.13 Darwin/16.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c947581895411984b369945398e213cb9461e53714bc97eefc1a6a7901d5e67a
|
|
| MD5 |
d544a67dc1c5cfc475f48dea9dd0454d
|
|
| BLAKE2b-256 |
8e0060d05345003649f61b7144dcc8507190cda0f46f2e8e46aa5c329a1f5717
|
File details
Details for the file glfw-1.8.2-py2.py3-none-win32.whl.
File metadata
- Download URL: glfw-1.8.2-py2.py3-none-win32.whl
- Upload date:
- Size: 59.3 kB
- Tags: Python 2, Python 3, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.13.0 setuptools/28.8.0 requests-toolbelt/0.7.1 clint/0.5.1 CPython/2.7.13 Darwin/16.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52153664da33a98f7423e38619c2942dc91e2b73afc2d36280b0aea134e2a252
|
|
| MD5 |
8367bd3e428300e304a52dc74fce99cb
|
|
| BLAKE2b-256 |
a739114cb2201349bb693e3483838bf0ce227cf11f35d9f7470f60c27772a44f
|