procmaps.py
===========
[![CI](https://github.com/woodruffw/procmaps.py/actions/workflows/ci.yml/badge.svg)](https://github.com/woodruffw/procmaps.py/actions/workflows/ci.yml)
[![Downloads](https://pepy.tech/badge/procmaps)](https://pepy.tech/project/procmaps)
Python bindings for [procmaps.rs](https://github.com/woodruffw/procmaps.rs).
## Installation
procmaps.py is available for Python 3.7+ via pip:
```bash
$ pip install procmaps
```
## Usage
```python
import procmaps
# also: from_path, from_str
maps = procmaps.from_pid(9001)
for map_ in maps:
# `in` can be used to check address inclusion
if 0xfeedface in map_:
print("this map contains some address!")
# see dict(map_) for all attributes
print(f"{map_.begin_address}: {map_.pathname}")
```
## Development
*procmaps.py* uses [PyO3](https://github.com/PyO3/pyo3) for binding Rust
to Python. It uses [Maturin](https://github.com/PyO3/maturin) to coerce the
Rust build into a `pip` and PyPI-compatible wheel.
Assuming that you have Rust and a relatively recent Python 3 installed,
the following should just work:
```bash
$ make develop
$ source env/bin/activate
```
A local build of *procmaps.py* will be created and installed in your virtual environment.
Raw data
{
"_id": null,
"home_page": "https://github.com/woodruffw/procmaps.py",
"name": "procmaps",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "William Woodruff <william@yossarian.net>",
"author_email": "William Woodruff <william@yossarian.net>",
"download_url": "https://files.pythonhosted.org/packages/75/35/bc6990c0c008ade2c81e99143105b20f7817364135e0ef5a4fc4dcd69a5d/procmaps-0.6.5.tar.gz",
"platform": null,
"description": "procmaps.py\n===========\n\n[![CI](https://github.com/woodruffw/procmaps.py/actions/workflows/ci.yml/badge.svg)](https://github.com/woodruffw/procmaps.py/actions/workflows/ci.yml)\n[![Downloads](https://pepy.tech/badge/procmaps)](https://pepy.tech/project/procmaps)\n\nPython bindings for [procmaps.rs](https://github.com/woodruffw/procmaps.rs).\n\n## Installation\n\nprocmaps.py is available for Python 3.7+ via pip:\n\n```bash\n$ pip install procmaps\n```\n\n## Usage\n\n```python\nimport procmaps\n\n# also: from_path, from_str\nmaps = procmaps.from_pid(9001)\nfor map_ in maps:\n # `in` can be used to check address inclusion\n if 0xfeedface in map_:\n print(\"this map contains some address!\")\n\n # see dict(map_) for all attributes\n print(f\"{map_.begin_address}: {map_.pathname}\")\n```\n\n## Development\n\n*procmaps.py* uses [PyO3](https://github.com/PyO3/pyo3) for binding Rust\nto Python. It uses [Maturin](https://github.com/PyO3/maturin) to coerce the\nRust build into a `pip` and PyPI-compatible wheel.\n\nAssuming that you have Rust and a relatively recent Python 3 installed,\nthe following should just work:\n\n```bash\n$ make develop\n$ source env/bin/activate\n```\n\nA local build of *procmaps.py* will be created and installed in your virtual environment.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python bindings for procmaps.rs",
"version": "0.6.5",
"project_urls": {
"Homepage": "https://github.com/woodruffw/procmaps.py",
"Source Code": "https://github.com/woodruffw/procmaps.py"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "433e0ccd8e1ca482029e75ff8b44a0a1384fba1498c2270f8a7ef3676cf26ba1",
"md5": "7074ad6d571a9394949a1cf2708008cd",
"sha256": "9a88399d06896012b45b96da392348d82f5041879e8a610361046e9ee7281092"
},
"downloads": -1,
"filename": "procmaps-0.6.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7074ad6d571a9394949a1cf2708008cd",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 265276,
"upload_time": "2023-12-29T00:27:40",
"upload_time_iso_8601": "2023-12-29T00:27:40.373043Z",
"url": "https://files.pythonhosted.org/packages/43/3e/0ccd8e1ca482029e75ff8b44a0a1384fba1498c2270f8a7ef3676cf26ba1/procmaps-0.6.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7535bc6990c0c008ade2c81e99143105b20f7817364135e0ef5a4fc4dcd69a5d",
"md5": "5e250fc916ecdf90af6280d19119294d",
"sha256": "7bed7adec67db915fea5351d06f50819993b44d37729f95f478a9fccc26cd3a7"
},
"downloads": -1,
"filename": "procmaps-0.6.5.tar.gz",
"has_sig": false,
"md5_digest": "5e250fc916ecdf90af6280d19119294d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 8983,
"upload_time": "2023-12-29T00:27:42",
"upload_time_iso_8601": "2023-12-29T00:27:42.563921Z",
"url": "https://files.pythonhosted.org/packages/75/35/bc6990c0c008ade2c81e99143105b20f7817364135e0ef5a4fc4dcd69a5d/procmaps-0.6.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-29 00:27:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "woodruffw",
"github_project": "procmaps.py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "procmaps"
}