Python wrapper around MAME frontend commands and XML files.
Project description
pymame
pymame is a Python wrapper around MAME, including frontend commands from the executable, reading "support files" such as categories and history, parsing software lists to help identify files, provide a nicer/type-hintier wrapper around XML elements, and other related things. At the present time of writing, it is written primarily for my own mysterious personal use, and should not be relied on for anything important.
The intended use case is making it easier to develop Python tools that do MAME-related things.
Everything involving I/O should have an async version so you can more effectively use it from async code (some things are going to be missing right now, but this is the goal).
Requirements
python >=3.13 (sorry if you are on an older OS where this is unavailable, as I haven't had enough of a reason to check that it works with older Python yet), only been tested on Linux so far but probably works on Windows and macOS and whatever else.
Uses pydantic-settings and async-lru. In theory, everything else should be optional (e.g. you can get away with not having MAME actually installed, if you have the output of -listxml saved to a file), in the likely event that this doesn't work, this is a bug.
If lxml is installed, it will be used to parse XML files faster.
Example usage
import pymame
settings = pymame.MAMESettings.autodetect('/usr/bin/mame')
mame = pymame.MAME(settings)
for machine in mame.iter_runnable_machines():
if mame.machine.verifyroms(machine.basename):
print(machine.name, machine.platform)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pymame-0.0.1.tar.gz.
File metadata
- Download URL: pymame-0.0.1.tar.gz
- Upload date:
- Size: 35.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba231e2b8c951b13ec6003fb3020a1f013c5919d5d0f221614df3233495c9b29
|
|
| MD5 |
0ab39ab7d274892956f812ac7396aabe
|
|
| BLAKE2b-256 |
c1ee9ee6b058336276dc5c0055a928750d3355a1cd48b6dee07ffce06110bdfb
|
File details
Details for the file pymame-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pymame-0.0.1-py3-none-any.whl
- Upload date:
- Size: 46.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
431960391ccfb8af73236cedfb8cf6df74e1b0241ad708387120ef0d748950b2
|
|
| MD5 |
fbbf7738e35065a9118b82a583e5741f
|
|
| BLAKE2b-256 |
1f0f77079f021654faf001d24c02d4bcae1def274460a26ff97bf1b8d7abebb5
|