Skip to main content

Run pygame-ce games on iPhones and iPads easily.

Project description

Disclaimer

This library is not well tested, and shouldn't be considered production ready. Most importantly, I haven't tested App Store builds yet.

There's still a lot of work to be done and I'm working on documenting what's doable and what's not.


screenshot

pygame-ios

Run pygame-ce games on iPhones and iPads easily.

This package contains a simple CLI tool that downloads a template from pygame-ios-templates and adds your game files to it. After that you can run the Xcode project and see your pygame-ce game on your device or simulator of choice.

Usage

To use this package, you need macOS, and you need Xcode and Python 3 installed.

Run this to install the package:

pip install pygame-ios

This gives you a command you can run with one of the following:

pygame_ios
python -m pygame_ios

Notice the underscore. Type pygame_ios, not pygame-ios.

This command needs arguments. You need to provide a location for your project folder where your files will be copied from, as well as an entry point script which will be renamed to __main__.py and used as the entry point in Xcode. You must also specify the pygame-ce version.

Example usage:

pygame_ios . game.py 2.5.6 # copies files from current folder, uses game.py as the entry point script, pygame-ce v2.5.6

After running this command, an Xcode project will be downloaded. You can open this project in Xcode and run it on a device or simulator.

To update your Xcode project with new files or changes, just run the command again. The download step is skipped and your files are copied, overwriting previous files.

It's recommended that you modify the Xcode project directly if you want to change metadata like the product name and icon, and add it to source control. You cannot recover these changes if you delete the project, like you might be able to in other libraries like Briefcase or Flutter.

Not all pygame-ce versions are supported, see here for supported versions, and see the repository README for details on how to make your own.

Other Arguments

If you have a template .zip file on your machine, you can specify a path to that file instead of downloading one:

pygame_ios . game.py 2.5.6 ./template/your-template.zip

This is useful for custom templates, or if you just want to reduce network use.

It's assumed that this template has the same folder structure as a template from pygame-ios-templates. The version number is also ignored if you specify a local path.

Installing Packages with pip install

You can install pure Python packages into the Xcode template using the --target flag. For example with pytmx:

pip install --target ./pygame-ios-template/pygame-ios/app_packages.iphoneos pytmx
pip install --target ./pygame-ios-template/pygame-ios/app_packages.iphonesimulator pytmx

I recommend using a Python version that matches the XCFramework in the template, which is 3.13 as of time of writing.

Binary modules are a lot more complicated. You would need to find wheels that are already built for iOS (for example in the BeeWare Anaconda repository, which is where the numpy build comes from) or build those packages yourself using largely undocumented methods of building for iOS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygame_ios-0.0.4.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygame_ios-0.0.4-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file pygame_ios-0.0.4.tar.gz.

File metadata

  • Download URL: pygame_ios-0.0.4.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for pygame_ios-0.0.4.tar.gz
Algorithm Hash digest
SHA256 26bfe4547bafc0de6aefa015f0dfcd1f4b8f58c9c1d23b212fca935580b6832a
MD5 934ecf54a772727d8239b12d7991bb7b
BLAKE2b-256 8aa5cbfccabcac11ebcc052d488ecd9eff8d3e477c8ce33c5239720c46a8ec42

See more details on using hashes here.

File details

Details for the file pygame_ios-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pygame_ios-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for pygame_ios-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 249088a125b83cdfa04fe6f6a53b166ac3f242c38fbbf99800bcdec3b976d2e9
MD5 438d2f66f01b886aa4c8b93e7882e3ad
BLAKE2b-256 1f6562a3efd99385c68d43068a00a121d894f9beb8a014be9437cbe87ab0f0a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page