PyMemoryEditor is published on PyPI as a pure-Python wheel — there is no native build step or compiler required on any platform.
| Python | 3.10 or newer |
| Operating systems | 🪟 Windows · 🐧 Linux · 🍎 macOS (32-bit and 64-bit) |
| Runtime dependency | psutil (installed automatically) |
pip install PyMemoryEditorThe library ships an optional Cheat Engine-style GUI built on PySide6
(Qt for Python). To install it, use the app extra:
pip install "PyMemoryEditor[app]"Once installed, launch the app from any terminal:
pymemoryeditorThe library itself stays dependency-free — only the app extra pulls
PySide6 in.
See the GUI App guide for a tour of every feature.
git clone https://github.com/JeanExtreme002/PyMemoryEditor.git
cd PyMemoryEditor
pip install -e ".[dev]"The dev extra installs the test toolchain (pytest, pytest-xdist,
pytest-qt, hypothesis, mypy, etc.) — see
CONTRIBUTING.md
for the development workflow.
import PyMemoryEditor
print(PyMemoryEditor.__version__)If that prints a version number, you're ready to go — head to the Quick Start.
:class: note
Works out of the box. To attach to **protected processes** (system services,
elevated apps), run your terminal **as Administrator**.
:class: note
Access depends on `ptrace_scope` and process ownership. If the target is **not**
a child of the caller and `ptrace_scope=1` (the common default), you'll see a
`PermissionError`. Run as root, or relax it:
sudo sysctl kernel.yama.ptrace_scope=0
:class: note
Opening **another** process requires the Python binary to be signed with the
`com.apple.security.cs.debugger` entitlement (or SIP disabled and root).
**Opening the current process** always works — handy for self-inspection and
experimentation.
For the long version, see Platform Notes.