Metadata-Version: 2.4
Name: process-inspector
Version: 0.1.0
Summary: A Python package for cross-platform process management, providing process data as dicts/JSON and allowing process control (start, stop, kill) on Windows, Mac, and Linux.
Author-email: Tim Santor <tsantor@xstudios.com>
Project-URL: Repository, https://github.com/tsantor/process-inspector.git
Project-URL: Issues, https://github.com/tsantor/process-inspector/issues
Project-URL: Changelog, https://github.com/tsantor/process-inspector/blob/master/HISTORY.md
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: humanize>=4.13.0
Requires-Dist: psutil>=7.0.0
Dynamic: license-file

# Process Inspector

![Coverage](https://img.shields.io/badge/coverage-0%25-brightgreen)

## Overview

A Python package for cross-platform process management, providing process data as dicts/JSON and allowing process control (start, stop, kill) on Windows, Mac, and Linux.

## Installation

Use `uv` or `pip`.

```bash
uv pip install process-inspector
python3 -m pip install process-inspector
```

## Development

To get a list of all commands with descriptions simply run `make`.

```bash
make env
make pip_install_editable
```

## Testing

```bash
make pytest
make coverage
make open_coverage
```

## Issues

If you experience any issues, please create an [issue](https://github.com/tsantor/process-inspector/issues) on Github.

## Example Usage

```python
from process_inspector import NativeApp
from process_inpsector import OperatingSystem

# This operation requires sudo priveleges on Linux and Mac so ensure you allow it for the user the application is running under.
OperatingSystem().reboot()
```

# History

All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).

## 0.1.0 (2025-08-06)

- First release

## 0.1.1 (2025-09-04)

- ADDED: Support for getting Windows Firewall status and rules

## 0.2.0 (2025-09-09)

- CHANGED: `get_device_info` now returns a `displays` key which is a list of connected displays
- CHANGED: `get_gpu_info` now returns a list of dicts (one for each GPU)
- ADDED: `get_display_info` returns a list of dicts (one for each display)
- CHANGED: For backawards compatability, when calling `get_device_info`, the `gpu` key will be an object if only one GPU detected.
