{"id":13737175,"url":"https://github.com/planetis-m/naylib","last_synced_at":"2025-04-06T20:08:25.660Z","repository":{"id":41542635,"uuid":"429763424","full_name":"planetis-m/naylib","owner":"planetis-m","description":"Yet another raylib Nim wrapper","archived":false,"fork":false,"pushed_at":"2025-03-25T16:38:00.000Z","size":5935,"stargazers_count":269,"open_issues_count":10,"forks_count":11,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-30T19:04:54.685Z","etag":null,"topics":["gamedev","nim","nim-lang","raylib","raylib-nim"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/planetis-m.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-19T10:52:31.000Z","updated_at":"2025-03-28T16:26:04.000Z","dependencies_parsed_at":"2022-08-25T13:41:47.647Z","dependency_job_id":"33d66ebb-91c5-4ac6-8c9b-4fe14630b7cb","html_url":"https://github.com/planetis-m/naylib","commit_stats":null,"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetis-m%2Fnaylib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetis-m%2Fnaylib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetis-m%2Fnaylib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/planetis-m%2Fnaylib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/planetis-m","download_url":"https://codeload.github.com/planetis-m/naylib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543588,"owners_count":20955865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamedev","nim","nim-lang","raylib","raylib-nim"],"created_at":"2024-08-03T03:01:36.925Z","updated_at":"2025-04-06T20:08:25.647Z","avatar_url":"https://github.com/planetis-m.png","language":"C","funding_links":[],"categories":["Game Development","Uncategorized"],"sub_categories":["Game Frameworks","Uncategorized"],"readme":"# Naylib\n\n\u003cimg src=\"assets/naylib.png\" alt=\"Naylib logo\" width=\"15%\" /\u003e\n\nWelcome to this repository! Here you'll find a Nim wrapper for raylib, a library for\ncreating 2D and 3D games. The Nim API is designed to be user-friendly and easy to use.\n\n## Features\n\n- **Easy-to-use API**: Simplified Nim interface for raylib functions\n- **Cross-platform support**: Develop for multiple platforms including Windows, Linux, macOS, Web and Android\n- **Comprehensive documentation**: Detailed guides and API references\n- **Active community**: Get support and share your creations\n\n## Documentation\n\nTo learn more about how to use this wrapper, you can check out the documentation:\n\n- [raylib](https://planetis-m.github.io/naylib/raylib.html) - Core library for videogame programming\n- [raymath](https://planetis-m.github.io/naylib/raymath.html) - Mathematical functions for game development\n- [rlgl](https://planetis-m.github.io/naylib/rlgl.html) - Abstraction layer for OpenGL with immediate-mode API\n- [reasings](https://planetis-m.github.io/naylib/reasings.html) - Smooth animation transitions\n- [rmem](https://planetis-m.github.io/naylib/rmem.html) - Memory pool and objects pool allocators\n- [rcamera](https://planetis-m.github.io/naylib/rcamera.html) - Basic camera system\n\nIf you're familiar with the C version of raylib, you may find the\n[cheatsheet](https://www.raylib.com/cheatsheet/cheatsheet.html) useful.\n\n## Installation\n\nInstall naylib easily with `nimble install naylib`.\n\nFor Linux users only: Ensure you have the [required](https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux)\ndependencies installed using your distribution's native package manager.\n\n## Examples\n\nWe've also provided some example code to help you get started. You can find it in the\naccompanying [example repository](https://github.com/planetis-m/raylib-examples).\nTo compile and run an example: `nim c -r -d:release example.nim`\n\n## Changes from Raylib to Naylib\n\nNaylib introduces several improvements and changes compared to the original Raylib.\nFor a comprehensive overview of these changes, including memory management, naming\nconventions, and API improvements, please refer to our\n[Changes Overview](manual/changes_overview.md) document.\n\n## Advanced Usage\n\nFor detailed instructions on advanced topics, please refer to our\n[Advanced Usage Guide](manual/advanced_usage.md).\n\nHere are quick links to some important sections:\n\n- [Customize raylib settings](manual/advanced_usage.md#changing-raylib-settings-with-nim-defines) - Learn how to customize raylib settings with Nim defines\n- [Important Usage Tips](manual/advanced_usage.md#important-usage-tips) - Learn how to properly call `closeWindow` and other crucial tips\n- [Building for the Web (WebAssembly)](manual/advanced_usage.md#building-for-the-web-webassembly) - Instructions for compiling your project for web browsers\n- [Building for Android](manual/advanced_usage.md#building-for-android) - Step-by-step guide for Android development\n- [Raylib Functions to Nim Alternatives](manual/alternatives_table.rst) - Find Nim equivalents for raylib functions\n\nCheck out the wrapper's [Configuration Guide](manual/config_guide.md) for detailed information on how to use and contribute to naylib-wrapper.\n\n## Platform Support\n\n| Target           | Windows           | Linux             | macOS             |\n|------------------|-------------------|-------------------|-------------------|\n| Native           | Supported, Tested | Supported, Tested | Supported, Tested |\n| WebAssembly      | Supported, Tested | Supported, Tested | Supported, Tested |\n| DRM              | Untested          | Supported         | Untested          |\n| Android          | Supported, Tested | Supported, Tested | Possibly Works    |\n| Windows (Cross)  | N/A               | Known Issues      | Untested          |\n\n### Development Status\n\n- Our CI pipeline ensures quality across Windows, Linux, and macOS for both native and WebAssembly builds.\n- We also maintain a separate CI for Android cross-compilation from Windows and Linux hosts.\n\n### CI Status\n\n[![Native \u0026 WebAssembly CI](https://img.shields.io/github/actions/workflow/status/planetis-m/naylib/ci.yml?branch=main\u0026label=Native%20%26%20WebAssembly%20CI)](https://github.com/planetis-m/naylib/actions/workflows/ci.yml)\n\n[![Android CI](https://img.shields.io/github/actions/workflow/status/planetis-m/naylib-game-template/ci.yml?branch=master\u0026label=Android%20CI)](https://github.com/planetis-m/naylib-game-template/actions/workflows/ci.yml)\n\n[![Examples CI](https://img.shields.io/github/actions/workflow/status/planetis-m/raylib-examples/ci.yml?branch=main\u0026label=Examples%20CI)](https://github.com/planetis-m/raylib-examples/actions/workflows/ci.yml)\n\n## Alternative Game Development Libraries\n\nWhile we believe that Naylib provides a great option for game development with Nim, we understand\nthat it may not be the perfect fit for everyone. Here are some noteworthy alternatives:\n\n- [NimForUE](https://github.com/jmgomez/NimForUE): Plugin for Unreal Engine 5\n- [nim-sdl3](https://github.com/transmutrix/nim-sdl3): Nim wrapper for SDL3.x\n- [sokol-nim](https://github.com/floooh/sokol-nim): Auto-generated bindings for sokol headers\n- [gdextcore](https://github.com/godot-nim/gdext-nim): Godot 4.x bindings\n- [godot-nim](https://github.com/pragmagic/godot-nim): Godot 3 bindings\n- [nico](https://github.com/ftsf/nico): Pico-8 inspired game framework\n- [p5nim](https://github.com/pietroppeter/p5nim): Processing library\n\nFor a comprehensive list of game development resources in Nim,\nvisit [awesome-nim](https://github.com/ringabout/awesome-nim#game-development).\n\n## Contributing\n\nWe welcome contributions! Whether it's bug reports, feature requests, or code contributions,\nplease feel free to engage with our project.\n\n## License\n\nNaylib is open-source software licensed under the [MIT](LICENSE) License.\n\nPlease note that the raylib [source](src/raylib) code included in this distribution is licensed under\nthe [zlib](LICENSE-RAYLIB) license.\n\n## Contact\n\nFor support and discussions, join us on Discord:\n- Nim server (#gamedev): [discord.gg/nim](https://discord.gg/nim)\n- Raylib server (#raylib-nim): [discord.gg/raylib](https://discord.gg/raylib)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetis-m%2Fnaylib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplanetis-m%2Fnaylib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplanetis-m%2Fnaylib/lists"}