Metadata-Version: 2.4
Name: miniform
Version: 0.1.1
Summary: A neat little thing... with nightly updates
Home-page: https://github.com/r3shape/miniform
Author: Izaiyah Stokes
Author-email: zafflins@gmail.com
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: pygame-ce
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: summary

<div align="center">
<img src="miniform/assets/images/icon.png" alt="miniform Logo"/>  

<h3>Miniform</h3>

![Version](https://img.shields.io/pypi/v/miniform?style=for-the-badge&logo=pypi&logoColor=white&label=miniform&labelColor=black&color=white&link=https%3A%2F%2Fpypi.org%2Fproject%2Fminiform%2F2025.0.2%2F)  
![GitHub Stars](https://img.shields.io/github/stars/r3shape/miniform?style=for-the-badge&label=stars&labelColor=black&color=white)
![License](https://img.shields.io/badge/mit-badge?style=for-the-badge&logo=mit&logoColor=white&label=License&labelColor=black&color=white)  
![Build](https://github.com/r3shape/miniform/actions/workflows/miniform.yml/badge.svg)  

</div>

## What?
**miniform** is a game development framework designed to help developers **create more with less hassle**. It provides a structured foundation for handling Worlds, objects, UI, input, and rendering, so you can focus on making games instead of reinventing the wheel.

## Why?
- **Save Time** â€“ No need to build a game structure from scratch.
- **Better Organization** â€“ Worlds, assets, and objects are neatly managed.
- **Pygame, but Better** â€“ All the flexibility of Pygame, with added convenience.

## Content?
- **Modularity** â€“ Manage your game with a clean and modular API.
- **World & Object Management** â€“ Easily define and swap worlds.
- **Custom UI System** â€“ Interface-scripting made simple.
- **Asset Loading** â€“ Load sprites and animations efficiently.
- **Input Handling** â€“ Keyboard and mouse events with built-in support.
- **Partitioning Systems** â€“ Efficient object management for game worlds of any size.

## Download?
Install **miniform** via pip:

```sh
pip install miniform
```

## Getting Started?
After youv'e installed `miniform` go ahead and create a script named `main.py` somwhere and paste in the following code:

```python
import miniform

class MyGame(miniform.app.MiniApp):
    def __init__(self) -> None:
        super().__init__(
            title = "My Game",
            window_size = [800, 600],
        )

    def init(self) -> None: pass
    def exit(self) -> None: pass

    def update_hook(self, dt: float) -> None: pass
    def render_hook(self) -> None: pass

if __name__ == "__main__":
    MyGame().run()
```
| NOTE: The methods `init()`, `exit()` must be defined for any instance of `MiniApp`; a `NotImplementedError` is raised otherwise.

Above is the minimal code needed to get a simple `MiniApp` up and running. From here you can explore the `MiniWorld` and the other classes provided in `miniform.core.resource` and `miniform.core.resource.interface`.

## Contributions?  
Want to help improve **miniform**? Feel free to contribute by submitting issues, suggesting features, or making pull requests!  

## License  
**miniform** is open-source under the **MIT License.**
</div>
