Metadata-Version: 2.4
Name: ntoseye
Version: 0.16.1
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Security
Summary: Python SDK for the ntoseye Windows kernel debugger (Linux/KVM/QEMU)
Keywords: debugger,windows,kernel,kvm,qemu,introspection,windbg
Author: dmaivel
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/dmaivel/ntoseye
Project-URL: Issues, https://github.com/dmaivel/ntoseye/issues
Project-URL: Repository, https://github.com/dmaivel/ntoseye

# ntoseye (Python SDK)

Drive the [ntoseye](https://github.com/dmaivel/ntoseye) Windows kernel debugger
from Python.

## Install

```sh
pip install ntoseye
```

Or build from source into a virtualenv with maturin:

```sh
cd ntoseye-py
python3 -m venv .venv
source .venv/bin/activate
maturin develop --release
```

Or build a wheel and install it:

```sh
cd ntoseye-py
maturin build --release --out dist
pip install dist/ntoseye-*.whl
```

## Releasing (portable wheel)

A plain `maturin build` tags the wheel against the build host's glibc, so on a rolling-release distro it can demand a glibc newer than most users have. Build against an old glibc floor with [zig](https://www.maturin.rs/distribution#cross-compile-using-zig) so the wheel installs everywhere.

Run `./build-wheel.sh` to do it in one step (it provisions a local `.venv` with the build tools if no virtualenv is active, builds into a clean `dist/`, and runs `twine check`). The equivalent manual steps:

```sh
pip install ziglang
cd ntoseye-py
rm -rf dist
maturin build --release --zig --compatibility manylinux_2_17 --out dist
```

```sh
twine check dist/*
twine upload dist/*
```
