Metadata-Version: 2.4
Name: goudengine
Version: 0.0.835
Summary: Python SDK for GoudEngine. Build 2D and 3D games powered by a Rust core.
Author: Aram Hammoudeh
License: MIT
Project-URL: Homepage, https://github.com/aram-devdocs/GoudEngine
Project-URL: Repository, https://github.com/aram-devdocs/GoudEngine
Project-URL: Issues, https://github.com/aram-devdocs/GoudEngine/issues
Project-URL: Documentation, https://github.com/aram-devdocs/GoudEngine/tree/main/sdks/python
Keywords: game-engine,ecs,2d,3d,rust,ffi
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# GoudEngine Python SDK

[![PyPI](https://img.shields.io/pypi/v/goudengine.svg)](https://pypi.org/project/goudengine/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

> **Alpha** -- This SDK is under active development. APIs change frequently. [Report issues](https://github.com/aram-devdocs/GoudEngine/issues)

Thin Python wrapper over GoudEngine's FFI layer via ctypes.

## Installation

```bash
pip install goudengine
```

## Quick Start

```python
from goud_engine import GoudGame, Key

game = GoudGame(800, 600, "My Game")
player_tex = game.load_texture("assets/player.png")

while not game.should_close():
    game.begin_frame()

    if game.is_key_just_pressed(Key.ESCAPE):
        game.close()

    game.draw_sprite(player_tex, 400, 300, 64, 64)
    game.end_frame()

game.destroy()
```

## Documentation

See the [Getting Started guide](../../docs/src/getting-started/python.md) for installation, first project setup, sprites, input, and examples.

## Testing

```bash
cargo build --release
python3 sdks/python/test_bindings.py
```

Coverage gate: 80%+ line coverage across `sdks/python/goud_engine`.

## Platform Support

| OS | Architecture | Status |
|----|-------------|--------|
| Windows | x64 | Supported |
| macOS | x64 / ARM64 | Supported |
| Linux | x64 | Supported |

## Architecture

This SDK is a thin wrapper -- all engine logic lives in Rust. ctypes declarations live in `generated/_ffi.py`. Generated by `codegen/gen_python.py` from `codegen/goud_sdk.schema.json`.

## Links

- [Full documentation](../../docs/src/getting-started/python.md)
- [Examples](https://github.com/aram-devdocs/GoudEngine/tree/main/examples/python)
- [License: MIT](https://github.com/aram-devdocs/GoudEngine/blob/main/LICENSE)
