Pymem
python memory access made easy
Decision gist · record as of 2026-08-14
Yes, if you need direct Windows process memory access from Python. The package is actively maintained, has no dependencies, installs easily, and carries a permissive license. Be aware that this is a low-level tool requiring careful use—memory manipulation can crash processes or introduce security risks if misused, and it typically requires elevated privileges.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Windows OS and typically administrator privileges to attach to processes.
- Low friction to install; the package is a pure Python wheel with no runtime dependencies.
- Maintenance is active with recent commits and steady development since 2015.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute pymem freely in commercial and private projects with minimal restrictions.
last release 2024-10-27 (656 days) · last repo commit 2026-05-19 · 381 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 153,605 downloads/mo, #10,875 on PyPI
Alternatives
Verify before relying
import pymem
pm = pymem.Pymem('notepad.exe')
modules = list(pm.list_modules())
for module in modules:
print(module.name)- Whether the package requires administrative privileges to attach to processes.
- Compatibility with Windows versions other than those implied by the classifiers.
- Whether injected Python code runs in the target process's Python interpreter or in a separate instance.
What it is and what it does
Pymem is a Python library that lets you interact with Windows processes directly from your code, reading and writing memory at arbitrary addresses. It works with both 32-bit and 64-bit processes and supports modern Python versions (3.8 through 3.12). The library handles the low-level details of attaching to a process, enumerating its modules, and performing memory operations, so you can focus on what you want to do with that access.
Common use cases include inspecting process state for debugging or reverse engineering, modifying game memory or application behavior at runtime, and injecting Python code into running processes to execute arbitrary logic within their address space. The package is actively maintained and has no known security vulnerabilities.
Use it for
- Inspect and modify game memory or application state at runtime for testing or reverse engineering.
- Inject Python code into a running process to execute logic within its context and interact with its memory.
- Enumerate loaded modules and memory layout of a Windows process for debugging or analysis.
- Patch application behavior by writing to specific memory addresses without modifying the executable.
- Automate interaction with legacy or closed-source Windows applications by manipulating their memory directly.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need direct Windows process memory access from Python.
The package is actively maintained, has no dependencies, installs easily, and carries a permissive license. Be aware that this is a low-level tool requiring careful use—memory manipulation can crash processes or introduce security risks if misused, and it typically requires elevated privileges.
Install
pymem on PyPI
Before you install
Low friction to install; the package is a pure Python wheel with no runtime dependencies. Maintenance is active with recent commits and steady development since 2015.
Requires Windows OS and typically administrator privileges to attach to processes.
License in practice
MIT license is permissive; you can use, modify, and distribute pymem freely in commercial and private projects with minimal restrictions.
Quickstart
import pymem
pm = pymem.Pymem('notepad.exe')
modules = list(pm.list_modules())
for module in modules:
print(module.name)
Verify before relying
- Whether the package requires administrative privileges to attach to processes.
- Compatibility with Windows versions other than those implied by the classifiers.
- Whether injected Python code runs in the target process's Python interpreter or in a separate instance.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0.0,>=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 656 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 153,605 / month, #10,875 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Win32 (MS Windows)Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: pymem-1.14.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “windows process memory manipulation”
- PymemPymem provides direct read and write access to Windows process…
- dolphin-memory-engineReads and writes the memory of a running Dolphin emulator process…
- minidumpParses Microsoft minidump files and reads process memory dumps; can…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pyxbe · win32-setctime · PyAutoIt · uiautomation · yacman · PyByteBuffer · PyRIC · plumbum · editor · pyteomics