# Wame
Simple, Pythonic, Pygame Wrapper
- Latest Version `v0.8.0`
- Supports Python `3.7+`
[](https://wame.readthedocs.io/en/latest/?badge=latest)
## What is Wame?
Wame was created as a backend Pygame wrapper, where all backend (and tedious) code is left in the background. This allows for events to be dispatched in specific event methods rather than in a messy manner like default Pygame and most other engine program loops.
This is primarily because handling the game backend and frontend in a singular file (or a couple) can be an eyesore, and Wame fixes this issue.
## What are Wame's features?
- Encapsulates Pygame's backend game programming
- Dispatches and calls methods needed to render and update game code, while executing events in a structured manner
- Allows on-demand scene switching (more about this later)
- Provides basic objects like font rendering (text), drawing, buttons, etc. (a pain to always make on many projects)
## How do I use Wame?
- Install `Wame` via `PyPI`: `pip install wame-engine`
- Import it into your program using `import wame`
## Documentation
[You can find our documentation here.](https://wame.wildevstudios.net/)
## Getting Started
After installation:
- Instantiate a new `Engine` (runs the game loop and dispatches events)
- Define a new `~Scene` subclass (manages your objects and logic)
```python
import wame
class BasicScene(wame.Scene):
def on_init(self, *args, **kwargs) -> None:
...
def on_render(self) -> None:
...
def on_update(self) -> None:
...
engine: wame.Engine = wame.Engine("Basic Game Window", wame.Pipeline.PYGAME)
engine.register_scene("Basic", BasicScene)
engine.set_scene("Basic")
engine.start()
```
This will create a fullscreen, black window. You can close it by pressing `ALT`+`F4`.
- If you'd like to see more functional examples, visit our [Tutorials](https://wame.wildevstudios.net/en/latest/pages/tutorials) section of our documentation
## Contributing
Thanks for your interest in contributing to our game engine! Contributions are welcome, as they can only help us get to where we want to see `wame` go!
Whether you want to submit a bug report, fix a bug, add a new feature, remove parts of the program, we welcome your contributions.
### How to Contribute
1. Fork this repository
- Fork this repository to your own GitHub account by clicking the "Fork" button at the top-right of this page.
2. Clone your fork
- Clone the forked repository to your local machine using the following command:
- `git clone https://github.com/your-username/your-fork.git`
3. Create a new branch
- Before making any changes, create a new branch with a descriptive name for your work/changes. For example:
- `git checkout -b feature-name`
4. Make your changes
- Implement your changes, whether it's fixing bugs, improving documentation, or adding new features.
- Be sure to write clear, concise commit messages explaining the changes you've made.
5. Commit your changes
- Once your changes are ready, commit them to your local branch:
- `git add .`
- `git commit -m "Add feature-name"`
6. Push your changes
- Push your changes to your forked repository:
- `git push origin feature-name`
7. Create a pull request
- Open a pull request on the original repository from your fork.
- Ensure that your pull request explains the purpose of the changes and any relevant context.
- If applicable, include links to relevant issues.
### Reporting Bugs
- If you find a bug or issue, please open an issue on the `Issues` page above.
- Be sure to provide detailed information to help us understand and reproduce the problem.
### Feature Requests
- We welcome suggestions for new features.
- If you have an idea, please open an issue on the `Issues` page above to discuss it first.
- This ensures that we're all on the same page and helps us prioritize improvements.
### Thanks for Contributing
Your contributions make this project better and more useful for everyone! Thank you for taking the time to improve this project!
## License
This project is licensed under the [MIT License](https://github.com/WilDev-Studios/Wame/blob/main/LICENSE). Copyright © 2025 WilDev Studios. All rights reserved.
Raw data
{
"_id": null,
"home_page": null,
"name": "wame-engine",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "python, pygame, wrapper, engine, game, opengl, 2D, 3D",
"author": null,
"author_email": "WilDev Studios <wildevstudios@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d6/80/0032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300/wame_engine-0.8.0.tar.gz",
"platform": null,
"description": "# Wame\r\n\r\nSimple, Pythonic, Pygame Wrapper\r\n\r\n- Latest Version `v0.8.0`\r\n- Supports Python `3.7+`\r\n\r\n[](https://wame.readthedocs.io/en/latest/?badge=latest)\r\n\r\n## What is Wame?\r\n\r\nWame was created as a backend Pygame wrapper, where all backend (and tedious) code is left in the background. This allows for events to be dispatched in specific event methods rather than in a messy manner like default Pygame and most other engine program loops.\r\nThis is primarily because handling the game backend and frontend in a singular file (or a couple) can be an eyesore, and Wame fixes this issue.\r\n\r\n## What are Wame's features?\r\n\r\n- Encapsulates Pygame's backend game programming\r\n- Dispatches and calls methods needed to render and update game code, while executing events in a structured manner\r\n- Allows on-demand scene switching (more about this later)\r\n- Provides basic objects like font rendering (text), drawing, buttons, etc. (a pain to always make on many projects)\r\n\r\n## How do I use Wame?\r\n\r\n- Install `Wame` via `PyPI`: `pip install wame-engine`\r\n- Import it into your program using `import wame`\r\n\r\n## Documentation\r\n\r\n[You can find our documentation here.](https://wame.wildevstudios.net/)\r\n\r\n## Getting Started\r\n\r\nAfter installation:\r\n\r\n- Instantiate a new `Engine` (runs the game loop and dispatches events)\r\n- Define a new `~Scene` subclass (manages your objects and logic)\r\n\r\n```python\r\nimport wame\r\n\r\nclass BasicScene(wame.Scene):\r\n def on_init(self, *args, **kwargs) -> None:\r\n ...\r\n \r\n def on_render(self) -> None:\r\n ...\r\n \r\n def on_update(self) -> None:\r\n ...\r\n\r\nengine: wame.Engine = wame.Engine(\"Basic Game Window\", wame.Pipeline.PYGAME)\r\nengine.register_scene(\"Basic\", BasicScene)\r\nengine.set_scene(\"Basic\")\r\n\r\nengine.start()\r\n```\r\n\r\nThis will create a fullscreen, black window. You can close it by pressing `ALT`+`F4`.\r\n\r\n- If you'd like to see more functional examples, visit our [Tutorials](https://wame.wildevstudios.net/en/latest/pages/tutorials) section of our documentation\r\n\r\n## Contributing\r\n\r\nThanks for your interest in contributing to our game engine! Contributions are welcome, as they can only help us get to where we want to see `wame` go!\r\nWhether you want to submit a bug report, fix a bug, add a new feature, remove parts of the program, we welcome your contributions.\r\n\r\n### How to Contribute\r\n\r\n1. Fork this repository\r\n - Fork this repository to your own GitHub account by clicking the \"Fork\" button at the top-right of this page.\r\n2. Clone your fork\r\n - Clone the forked repository to your local machine using the following command:\r\n - `git clone https://github.com/your-username/your-fork.git`\r\n3. Create a new branch\r\n - Before making any changes, create a new branch with a descriptive name for your work/changes. For example:\r\n - `git checkout -b feature-name`\r\n4. Make your changes\r\n - Implement your changes, whether it's fixing bugs, improving documentation, or adding new features.\r\n - Be sure to write clear, concise commit messages explaining the changes you've made.\r\n5. Commit your changes\r\n - Once your changes are ready, commit them to your local branch:\r\n - `git add .`\r\n - `git commit -m \"Add feature-name\"`\r\n6. Push your changes\r\n - Push your changes to your forked repository:\r\n - `git push origin feature-name`\r\n7. Create a pull request\r\n - Open a pull request on the original repository from your fork.\r\n - Ensure that your pull request explains the purpose of the changes and any relevant context.\r\n - If applicable, include links to relevant issues.\r\n\r\n### Reporting Bugs\r\n\r\n- If you find a bug or issue, please open an issue on the `Issues` page above.\r\n- Be sure to provide detailed information to help us understand and reproduce the problem.\r\n\r\n### Feature Requests\r\n\r\n- We welcome suggestions for new features.\r\n- If you have an idea, please open an issue on the `Issues` page above to discuss it first.\r\n- This ensures that we're all on the same page and helps us prioritize improvements.\r\n\r\n### Thanks for Contributing\r\n\r\nYour contributions make this project better and more useful for everyone! Thank you for taking the time to improve this project!\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](https://github.com/WilDev-Studios/Wame/blob/main/LICENSE). Copyright © 2025 WilDev Studios. All rights reserved.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Wame Game Engine",
"version": "0.8.0",
"project_urls": {
"Homepage": "https://github.com/WilDev-Studios/Wame"
},
"split_keywords": [
"python",
" pygame",
" wrapper",
" engine",
" game",
" opengl",
" 2d",
" 3d"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "341ffc65fcce2c6421cbe50fc53a3468e9085268e169d2f5cd9778651fe828bb",
"md5": "e08ea6054ba57e514b7c2ba8bc32045c",
"sha256": "be5d7c481de0311baac65d97e04509b637f78117db03db350c4413510ddf3979"
},
"downloads": -1,
"filename": "wame_engine-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e08ea6054ba57e514b7c2ba8bc32045c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 45665,
"upload_time": "2025-07-19T04:39:51",
"upload_time_iso_8601": "2025-07-19T04:39:51.658178Z",
"url": "https://files.pythonhosted.org/packages/34/1f/fc65fcce2c6421cbe50fc53a3468e9085268e169d2f5cd9778651fe828bb/wame_engine-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d6800032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300",
"md5": "8faccffa998d41a1dd3a12d6aca6dbcf",
"sha256": "ce8c45050d3fbac74634457cf3b9764678c66bc2b32e1d7ce18dfc9533ad57b2"
},
"downloads": -1,
"filename": "wame_engine-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "8faccffa998d41a1dd3a12d6aca6dbcf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 38517,
"upload_time": "2025-07-19T04:39:52",
"upload_time_iso_8601": "2025-07-19T04:39:52.927931Z",
"url": "https://files.pythonhosted.org/packages/d6/80/0032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300/wame_engine-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-19 04:39:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "WilDev-Studios",
"github_project": "Wame",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "wame-engine"
}