Metadata-Version: 2.4
Name: rmp2csv
Version: 0.1.0
Summary: Offline Sysinternals RAMMap .RMP snapshot to CSV exporter
Author: Hamid
License-Expression: GPL-3.0-or-later
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: gui
Requires-Dist: PySide6>=6.6; extra == "gui"
Dynamic: license-file

# rmp2csv

Offline `.RMP` (Sysinternals RAMMap snapshot) → CSV exporter.

Reverse-engineering notes on the `.RMP` structure are in [RMP_FORMAT.md](RMP_FORMAT.md).

See `NEXT_AGENT.md` for the current requirements, open questions, and next implementation steps.

## Install (PyPI)

Once published, install with:

- `pip install rmp2csv`

GUI extra:

- `pip install "rmp2csv[gui]"`

Note: The PyPI project name must be unique. If `rmp2csv` is already taken on PyPI, publish under a different name and update the install command accordingly.

## CLI

List supported export views:

- `python rmp2csv.py list-views`

Export a specific view to a CSV:

- `python rmp2csv.py export <snapshot.rmp> --view physical_ranges --out physranges.csv`
- `python rmp2csv.py export <snapshot.rmp> --view processes --out processes.csv`
- `python rmp2csv.py export <snapshot.rmp> --view use_counts --out use_counts.csv`
- `python rmp2csv.py export <snapshot.rmp> --view file_summary --out file_summary.csv`

Optional: include a SHA256 of the snapshot (can be slow on large files):

- `python rmp2csv.py export <snapshot.rmp> --view processes --out processes.csv --sha256`

Debug-heavy raw dump (limit rows):

- `python rmp2csv.py export <snapshot.rmp> --view pfn_raw --out pfn_raw.csv --limit 100000`

Note: `extract.py` is still supported as the underlying implementation.

## GUI (optional)

The GUI is a minimal 3-step wizard (select snapshot → select view → choose output + run).

- Install dependency: `pip install PySide6`
- Run: `python rmp2csv_gui.py`

## Build & publish (maintainers)

Build wheels/sdist locally:

- `python -m pip install -U build`
- `python -m build`

Upload to PyPI:

- `python -m pip install -U twine`
- `python -m twine upload dist/*`
