OakEmu-RL
Reinforcement learning for ZX Spectrum games, with Gymnasium environments and PyTorch training frameworks using OakEmu.
Local development
Use Python 3.13–3.15, uv and the .NET 10 runtime. The development lockfile selects a CUDA build of PyTorch; tests also run without a GPU.
uv sync --locked
uv run pytest --junitxml=test-results.xml tests/
uv run ruff check
uv run ruff format --check
uv run ty check
Build and Test runs on all three Python versions. It collects coverage for src, experiments and the assembly update script, generates the shared test and coverage reports, and validates documentation once.
Preview documentation
Run python3 docs/preview.py, or use the JetBrains Preview documentation configuration. Open http://localhost:5173/OakEmu-RL/.
Restart after editing source or guides. uv and Docker are required; API generation uses static analysis and does not start .NET or import PyTorch.
Generated API and site files live under ignored artifacts/.
Update emulator assemblies
Refresh and release the sibling OakEmu-Python project first. Then run:
uv run python scripts/update_assemblies.py
The script builds the sibling OakEmu checkout, copies resolved runtime assemblies that are not already bundled by OakEmu-Python, and removes JetBrains annotations. No NuGet version numbers are duplicated in this script.
Metadata
Release files for mrkwatkins-oakemu-rl 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mrkwatkins_oakemu_rl-0.1.0.tar.gz | 574.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mrkwatkins_oakemu_rl-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / mrkwatkins_oakemu_rl-0.1.0.tar.gz
| Download URL | mrkwatkins_oakemu_rl-0.1.0.tar.gz |
|---|---|
| Size | 574.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76750033671eaaa3a1d2e030678c9a541ee59059482aa8d08f90fcda58d3dfce
|
|
BLAKE2b-256 checksum How to use checksums |
530708ec9dfe9935c6473bfc6b73864e8eb9b5ac458f27824c47ab6fa196c1db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mrkwatkins_oakemu_rl-0.1.0-py3-none-any.whl
| Download URL | mrkwatkins_oakemu_rl-0.1.0-py3-none-any.whl |
|---|---|
| Size | 683.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b42d23d2b01e7c33644de4c083e8109cf7fa62a670c366121c6fc37eaf32c80b
|
|
BLAKE2b-256 checksum How to use checksums |
6e1a0467ee32943220db9dfc33319192b0b467fd238f26b8bcdf1d6aa83505ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for mrkwatkins-oakemu-rl 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.