Exposes Windows bindings to the memory interface.
Project description
WinRAM
The honest Python-to-Windows interface
Introduction
WinRAM is a Python library dedicated to exposing raw access to the user-mode memory on Windows. Before you ask, no, i will not support backwards compatibility. It will be in line with bleeding edge standards. Follow or be left behind.
Features
- Virtual Memory: No more of that kiddy Unix-inspired stuff from
mmap, instead you callvm = VirtualMemory(addr, size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE)and watch as virtual memory gets handed down on a silver platter, wrapped in a buffer-supportedmemoryview. - Constants: Yes. Constants are supported, so you can do
MEM_COMMITinstead of fiddling with bitflags. - Executable Memory: Yes, the widely recognisable RWX is supported. JIT developers would be happy, even though Python is slower than eight
C++hot loops. - Security: For security-obessesed people, W^X is supported (even though you have to flip flags like a maniac).
Comparison with mmap:
Scale is 0.4, because i said so.
- Can allocate and free memory: Both support it. Boring, but useful.
- Mark down specific regions of memory with flags: WinRAM supports it.
mmapdoes not. - Query full regions: Another point to WinRAM.
- Commit and decommit?: WinRAM again.
mmapdropping the ball here.
Result:
WinRAM: 1.6
mmap: 0.4
Call for Action
CPython devs... Show love for NT. POSIX is too overrepresented.
Conclusion
Get this library if you are sick and tired of constant-less ctypes binding, sick of baby abstractions, and sick of mmap and POSIX culture as a whole.
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 winram-1.5.tar.gz.
File metadata
- Download URL: winram-1.5.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
863dbee155c55fab7dcf36d02188464b13e850b8b1e90a6dea770335272dd405
|
|
| MD5 |
86ee479a5279a7d48ee1ce63745f2a87
|
|
| BLAKE2b-256 |
dc115d656e3d51649e86e43b59a04fa9e1ce428512c505faf3d5e0be82b6ba5e
|
File details
Details for the file winram-1.5-py3-none-any.whl.
File metadata
- Download URL: winram-1.5-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3d154e3042781ce7ea667431746c256636e65cb9276ebd6ec9865a2c2a39859
|
|
| MD5 |
a1a1ecc7c59cd854a468f8f87761ff78
|
|
| BLAKE2b-256 |
88bb156067e73445a4ea62bb1c400e880d16cab8a696b3a53a0a46aa2dc8a6cd
|