Metadata-Version: 2.4
Name: p4async
Version: 0.1.3
Summary: An async extension to p4python
Project-URL: Homepage, https://github.com/kristjanvalur/p4async
Project-URL: Issues, https://github.com/kristjanvalue/p4async/issues
Author-email: Kristján Valur Jónsson <sweskman@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Requires-Dist: p4python>=2020.1.0
Description-Content-Type: text/markdown


# p4async

An extension to the [p4python](https://pypi.org/project/p4python/) module, adding async functionality to Perforce.

## Setup

Use your favorite package manager to install the module into your project

- `pip install p4async`
- `uv add p4async`

## Usage

```python
from p4async import P4Async
p4a = P4Async()
await p4a.aconnect()
```

All relevant Perforce commands have async counterparts prefixed with `a`.
For example: `aconnect()`, `arun()`, `arun_clients()`, `afetch_change()`, etc.

Commands are executed with a lock on a worker thread. The way this is done can be
customized via subclassing.

## Development

- Use [uv](https://docs.astral.sh/uv/) for dependency management and virtual environments.

## License

MIT
