{ "info": { "author": "Electron Studio", "author_email": "github@electronstudio.co.uk", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Python Bindings for Raylib 2.5\n\nNew CFFI API static bindings. Faster, fewer bugs and easier to maintain than ctypes.\n\n### Advert\n\n[RetroWar: 8-bit Party Battle](https://retrowar.net) is out now. Defeat up to 15 of your friends in a tournament of 80s-inspired retro mini games.\n\n# Install\n\n**Windows 10 (64 bit): Python 3.6 - 3.7**\n\n**MacOS: Python 3.5 - 3.7**\n\n**Linux (Ubuntu 16.04+): Python 3.5 - 3.7**\n\nWe distribute a statically linked Raylib library, install from Pypi.\n\n pip3 install raylib\n\nIf you're a different version of Python, or a Linux with incompatible libraries\nthen you can either *use the dynamic binding only* or else you will have to build from source. Download, compile\nand install Raylib 2.5 then\n\n cd raylib/static\n python3 build_linux.py\n\n# Use\n\n## raylib.static\n\nGoal is make usage as similar to the original C as CFFI will allow. There are a few differences\nyou can see in the examples. See test_static.py and examples/*.py for how to use.\n\n```\nfrom raylib.static import *\n\nInitWindow(800, 450, b\"Hello Raylib\")\nSetTargetFPS(60)\n\ncamera = 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])\nSetCameraMode(camera[0], CAMERA_ORBITAL)\n\nwhile not WindowShouldClose():\n UpdateCamera(camera)\n BeginDrawing()\n ClearBackground(RAYWHITE)\n BeginMode3D(camera[0])\n DrawGrid(20, 1.0)\n EndMode3D()\n DrawText(b\"Hellow World\", 190, 200, 20, VIOLET)\n EndDrawing()\nCloseWindow()\n\n```\n\n## raylib.pyray\n\nWrapper around the static bindings. Makes the names snakecase and converts strings to bytes automatically. See test_pyray.py.\n\n\n```\nfrom raylib.pyray import PyRay\nfrom raylib.colors import *\n\npyray = PyRay()\n\npyray.init_window(800, 450, \"Hello Pyray\")\npyray.set_target_fps(60)\n\ncamera = pyray.Camera3D([18.0, 16.0, 18.0], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], 45.0, 0)\npyray.set_camera_mode(camera, pyray.CAMERA_ORBITAL)\n\nwhile not pyray.window_should_close():\n pyray.update_camera(pyray.pointer(camera))\n pyray.begin_drawing()\n pyray.clear_background(RAYWHITE)\n pyray.begin_mode_3d(camera)\n pyray.draw_grid(20, 1.0)\n pyray.end_mode_3d()\n pyray.draw_text(\"Hello world\", 190, 200, 20, VIOLET)\n pyray.end_drawing()\npyray.close_window()\n\n```\n\n## raylib.dynamic\n\nIn addition to the API static bindings we have CFFI ABI dynamic bindings in order to avoid the need to compile a C extension module.\nThere have been some weird failures with dynamic bindings and ctypes bindings before and often the failures are silent\nso you dont even know. Also the static bindings should be faster. Therefore I recommend the static ones...\n\nBUT the dynamic bindings have the big advantage that you don't need to compile anything to install. You just need a Raylib DLL,\nwhich we supply for Windows/Mac/Linux.\n\nSee test_dynamic.py for how to use.\n\n## richlib\n\n[A simplified API for Raylib for use in education and to enable beginners to create 3d games](https://github.com/electronstudio/richlib)\n\n# Platforms tested\n\n * MacOS 10.12.6 - Python 3.7\n * Ubuntu 18.04 LTS - Python 3.6\n * Windows 10 (64 bit) - Python 3.7\n\n# HELP WANTED\n\n * converting more examples from C to python\n * testing and building on more platforms\n * sorting out binary wheel distribution for Mac/Win and compile-from-source distributtion for Linux\n * dealing with conversions to pointers in PyRay automatically\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/electronstudio/raylib-python-cffi", "keywords": "", "license": "LGPLv3+", "maintainer": "", "maintainer_email": "", "name": "raylib", "package_url": "https://pypi.org/project/raylib/", "platform": "", "project_url": "https://pypi.org/project/raylib/", "project_urls": { "Homepage": "https://github.com/electronstudio/raylib-python-cffi" }, "release_url": "https://pypi.org/project/raylib/2.5.0.post4/", "requires_dist": [ "cffi (>=1.12.3)", "inflection" ], "requires_python": "", "summary": "Python CFFI bindings for Raylib", "version": "2.5.0.post4" }, "last_serial": 5480375, "releases": { "2.5.0": [ { "comment_text": "", "digests": { "md5": "7750d5d040a3b5bc12081c945f2ab1ea", "sha256": "3d3fa0ac4ae217c0b6e59ffa121cad58219daf68b0b8520f60dce500af7f8416" }, "downloads": -1, "filename": "raylib-2.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7750d5d040a3b5bc12081c945f2ab1ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10865362, "upload_time": "2019-06-06T02:56:33", "url": "https://files.pythonhosted.org/packages/9d/6e/6a6a91e566a01e168a096950d98b8810c083b968e76894f0e0112f1cc823/raylib-2.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cef9bdd309d7b91886c9f9458b038838", "sha256": "ae347b6066c6a05481604522728be008cdc75968c17d7b2dad87a32733b0dab0" }, "downloads": -1, "filename": "raylib-2.5.0.tar.gz", "has_sig": false, "md5_digest": "cef9bdd309d7b91886c9f9458b038838", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9602844, "upload_time": "2019-06-06T02:56:45", "url": "https://files.pythonhosted.org/packages/8c/22/c983f24c084b6a689c7a4f8e49bfef466f80c49eefadb1333f0cfcb96e31/raylib-2.5.0.tar.gz" } ], "2.5.0.post1": [ { "comment_text": "", "digests": { "md5": "61090dae0f6c19ab1ae9538eba6e542e", "sha256": "303182bcafb603be929894f0357447498c325273e4ae30f157a74e6270615033" }, "downloads": -1, "filename": "raylib-2.5.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "61090dae0f6c19ab1ae9538eba6e542e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10905094, "upload_time": "2019-06-06T03:08:53", "url": "https://files.pythonhosted.org/packages/03/00/fc1295c50a1b84b697deddb3a4e89fc8a94bc8284d60e4fc4e17bb7b612f/raylib-2.5.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae669ece1630d8be75a09d4b4b2885cc", "sha256": "a7188da0106760182d81c586ca9d58514a278c0a69e43317d5b3516f86cfe87b" }, "downloads": -1, "filename": "raylib-2.5.0.post1.tar.gz", "has_sig": false, "md5_digest": "ae669ece1630d8be75a09d4b4b2885cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9642168, "upload_time": "2019-06-06T03:09:05", "url": "https://files.pythonhosted.org/packages/61/60/dd1ffd30c1da589fe29116ae96f128f536243d367d8a5c2920d73a92bbb3/raylib-2.5.0.post1.tar.gz" } ], "2.5.0.post2": [ { "comment_text": "", "digests": { "md5": "9a73851cba92a7ac0b40528858a9bef6", "sha256": "f15575a6ac624110d1d582be5867b174fafff598dc00f97ba23c775b26fd0b34" }, "downloads": -1, "filename": "raylib-2.5.0.post2-py3-none-any.whl", "has_sig": false, "md5_digest": "9a73851cba92a7ac0b40528858a9bef6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11404221, "upload_time": "2019-06-07T00:28:46", "url": "https://files.pythonhosted.org/packages/6d/ac/c2c2ab696b8f24394b5eccd2aa4ec26c6c6b0f3d7c73d57bcdd4818dbd42/raylib-2.5.0.post2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bc4016eae7e2afe49dc07dd0fc82a2b", "sha256": "82334218a6b5d082cb65684e9da0f6d63d27fba49c293a25e97b8fa136381194" }, "downloads": -1, "filename": "raylib-2.5.0.post2.tar.gz", "has_sig": false, "md5_digest": "2bc4016eae7e2afe49dc07dd0fc82a2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10140484, "upload_time": "2019-06-07T00:29:05", "url": "https://files.pythonhosted.org/packages/0f/ba/e742490748111a3459fec426b51f176e360a69fb0e70d942a4f08a1ed93f/raylib-2.5.0.post2.tar.gz" } ], "2.5.0.post3": [ { "comment_text": "", "digests": { "md5": "11cfb1d1a256aca7db76106d374b1b82", "sha256": "88135ecc6f8fd1184ed29f4edd369d64d7023f05c3f32ce51e13b0102252beab" }, "downloads": -1, "filename": "raylib-2.5.0.post3-py3-none-any.whl", "has_sig": false, "md5_digest": "11cfb1d1a256aca7db76106d374b1b82", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11404970, "upload_time": "2019-06-07T02:51:44", "url": "https://files.pythonhosted.org/packages/c6/4b/df850000ae68026a2815d4c1111cb645efb9aa6ba2a9e7088bca077c5446/raylib-2.5.0.post3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6bec4d063b5a0511753695ca0504c625", "sha256": "07ccaa1eb837b12d73e94f3fb7f9f11fff1b819cdd998bbb057b6a973ac2ca16" }, "downloads": -1, "filename": "raylib-2.5.0.post3.tar.gz", "has_sig": false, "md5_digest": "6bec4d063b5a0511753695ca0504c625", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10140304, "upload_time": "2019-06-07T02:51:57", "url": "https://files.pythonhosted.org/packages/26/dd/34cc47d119569bcfca0e41c00cc89fedafa5090a5db6381f1274a8767441/raylib-2.5.0.post3.tar.gz" } ], "2.5.0.post4": [ { "comment_text": "", "digests": { "md5": "3dbb118f1065de8a1d531fde8190f7d2", "sha256": "bf9e550992824ea781ddeac86feb08400bde16fdf85f6779c66e6ad020577ca6" }, "downloads": -1, "filename": "raylib-2.5.0.post4-py3-none-any.whl", "has_sig": false, "md5_digest": "3dbb118f1065de8a1d531fde8190f7d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11412136, "upload_time": "2019-07-03T09:28:30", "url": "https://files.pythonhosted.org/packages/63/8f/82f1bca3175769b96e00d450bc1111e66125da0327882b7798e2a4bee38a/raylib-2.5.0.post4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9350a7e32a79daf6ad79c3870952da36", "sha256": "6ec4c72e55f2d588254d85224e41c7ae1efc1eea87f917b4309b0f6dacff471d" }, "downloads": -1, "filename": "raylib-2.5.0.post4.tar.gz", "has_sig": false, "md5_digest": "9350a7e32a79daf6ad79c3870952da36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10141030, "upload_time": "2019-07-03T09:28:43", "url": "https://files.pythonhosted.org/packages/bb/83/214eeb6323e95c38c438bd1474b061ac0107d104252b3e05ab3b257fc478/raylib-2.5.0.post4.tar.gz" } ], "2.5.dev3": [ { "comment_text": "", "digests": { "md5": "e2c9c58d7306e0e3f2dab3518dd352b4", "sha256": "4c35c7e4949220c15becf84c097760b7c9b9cee69e524ba5c01ec4bae452ecb5" }, "downloads": -1, "filename": "raylib-2.5.dev3-py3-none-any.whl", "has_sig": false, "md5_digest": "e2c9c58d7306e0e3f2dab3518dd352b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 762683, "upload_time": "2019-05-21T21:18:04", "url": "https://files.pythonhosted.org/packages/74/54/3b1ab5fd7cd8947f0d5e5629f0b029ff902df738887bf5957e62b4ebaa52/raylib-2.5.dev3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ccd61fb0a406e63ff978aab47e6e3f50", "sha256": "bc8b3453531d9d51136aedf69a946d33668c77abcaa19f18ee351f6420aff190" }, "downloads": -1, "filename": "raylib-2.5.dev3.tar.gz", "has_sig": false, "md5_digest": "ccd61fb0a406e63ff978aab47e6e3f50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 758728, "upload_time": "2019-05-21T21:18:07", "url": "https://files.pythonhosted.org/packages/dd/23/3ffe7bc948d01807c269b48d6274da3c4a776f2e8ae6bee2f459242c119b/raylib-2.5.dev3.tar.gz" } ], "2.5.dev4": [ { "comment_text": "", "digests": { "md5": "293a92abbc8969a4bb6a0430ddfde16b", "sha256": "6588941c6728afb25c9ae16089536995fa8db4e8fd6767bd1d4c4a545fddea6c" }, "downloads": -1, "filename": "raylib-2.5.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "293a92abbc8969a4bb6a0430ddfde16b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1197712, "upload_time": "2019-05-24T00:09:37", "url": "https://files.pythonhosted.org/packages/00/da/8e28065bbf2f3bb09fc089caf22a10a3783a23854525a6efc3a24f3d7e67/raylib-2.5.dev4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e49f0bfbca386ffacdfcdce05913aa3", "sha256": "4950f50c1d6f292c7122cb9150622141ece99d6a2ee88ca1df6c0670a1aa0b03" }, "downloads": -1, "filename": "raylib-2.5.dev4.tar.gz", "has_sig": false, "md5_digest": "2e49f0bfbca386ffacdfcdce05913aa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1190561, "upload_time": "2019-05-24T00:09:40", "url": "https://files.pythonhosted.org/packages/e1/0e/224f31965d7df3df7c17fdccf360314484842f1150f897324e1b50a99930/raylib-2.5.dev4.tar.gz" } ], "2.5.dev5": [ { "comment_text": "", "digests": { "md5": "0928b055099ac16d1f1dd8a1914db8d2", "sha256": "b0bef5d781c822ef03a43aa8b449e92e8db9844a181470eb4b6057996e40a3f7" }, "downloads": -1, "filename": "raylib-2.5.dev5-py3-none-any.whl", "has_sig": false, "md5_digest": "0928b055099ac16d1f1dd8a1914db8d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3579510, "upload_time": "2019-05-24T03:23:56", "url": "https://files.pythonhosted.org/packages/45/e4/4e58f196a0ea89e3704c0b7acbda59423357b1564a2e5f0f3a614cfce7da/raylib-2.5.dev5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36bb8d1bb385ccab3f79e963a8703640", "sha256": "729f4df17e34f809edf28f322390856baa20c0d32d0f0b7579672557c6252030" }, "downloads": -1, "filename": "raylib-2.5.dev5.tar.gz", "has_sig": false, "md5_digest": "36bb8d1bb385ccab3f79e963a8703640", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2380676, "upload_time": "2019-05-24T03:24:01", "url": "https://files.pythonhosted.org/packages/5f/81/7257fedfbb9062fe2acf4324d8e94b657aa765f85d8bfbae0c5b211605c3/raylib-2.5.dev5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3dbb118f1065de8a1d531fde8190f7d2", "sha256": "bf9e550992824ea781ddeac86feb08400bde16fdf85f6779c66e6ad020577ca6" }, "downloads": -1, "filename": "raylib-2.5.0.post4-py3-none-any.whl", "has_sig": false, "md5_digest": "3dbb118f1065de8a1d531fde8190f7d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11412136, "upload_time": "2019-07-03T09:28:30", "url": "https://files.pythonhosted.org/packages/63/8f/82f1bca3175769b96e00d450bc1111e66125da0327882b7798e2a4bee38a/raylib-2.5.0.post4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9350a7e32a79daf6ad79c3870952da36", "sha256": "6ec4c72e55f2d588254d85224e41c7ae1efc1eea87f917b4309b0f6dacff471d" }, "downloads": -1, "filename": "raylib-2.5.0.post4.tar.gz", "has_sig": false, "md5_digest": "9350a7e32a79daf6ad79c3870952da36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10141030, "upload_time": "2019-07-03T09:28:43", "url": "https://files.pythonhosted.org/packages/bb/83/214eeb6323e95c38c438bd1474b061ac0107d104252b3e05ab3b257fc478/raylib-2.5.0.post4.tar.gz" } ] }