Skip to content

francis-clairicia/PyDiamond

Repository files navigation

PyDiamond

Build Test Lint

pre-commit pre-commit.ci status

PyPI PyPI - License PyPI - Python Version

Checked with mypy Code style: black Imports: isort

PyDiamond engine is a game engine for Python game developers.

The framework uses the popular pygame library.

Installation

The installation can be done using pip:

pip install pydiamond-engine

Usage

Example with the minimal requirements:

from pydiamond.window.display import Window

def main() -> int:
    w: Window = Window(title="my window", size=(800, 600))
    with w.open():
        while w.loop():
            for event in w.process_events():
                # do some stuff
                pass
            w.clear()
            # draw your objects
            w.refresh()
    return 0

if __name__ == "__main__":
    exit(main())

This code will open a small window.

Documentation

Coming soon. :)

Development

Dependencies

PyDiamond is developed based on pygame and Python (obviously). In addition, some features of pygame are available with a specific version of the SDL.

Dependency version:

  • CPython >= 3.10
  • pygame == 2.1.2
  • SDL >= 2.0.16 (vendored in pygame)
  • SDL_image >= 2.0.0 (vendored in pygame)
  • SDL_mixer >= 2.0.0 (vendored in pygame)
  • Other python dependencies referred by pyproject.toml

Setup

Use the following command to install all the necessary dependencies

python -m devtools repo

Credits

Vendored-in packages

License

This project is licensed under the terms of the GNU General Public License v3.0.