Metadata-Version: 2.4
Name: airvpn
Version: 0.1.3
Summary: A Python wrapper for the AirVPN API
Author: chonker
License: MIT
Project-URL: Homepage, https://github.com/ch0nker/airvpn
Project-URL: Repository, https://github.com/ch0nker/airvpn
Project-URL: Changelog, https://github.com/ch0nker/airvpn/tree/main/docs/CHANGELOG.md
Project-URL: Documentation, https://github.com/ch0nker/airvpn/tree/main/docs/api/README.md
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Dynamic: license-file

# Python AirVPN Wrapper

> **Note:** The docstrings and most of the documentation was generated with AI. If you spot any errors I haven't caught yet, please open a PR or an issue.

A Python wrapper for AirVPN's [API](https://airvpn.org/apisettings/).

## Guide
- [Changelog](docs/CHANGELOG.md)
- [Contributing](docs/CONTRIBUTING.md)
- [Example](#example)
- [API Documentation](docs/api/README.md)
- [Test Documentation](docs/tests/README.md)

## Installation
```bash
pip install airvpn
```

## Example
Without an API key:
```py
from airvpn import AirVPN

api = AirVPN()

for server in api.status.servers:
    print(server.public_name)
```

With an API key:
```py
import os

from airvpn import AirVPN
from dotenv import load_dotenv

load_dotenv()

api = AirVPN(os.getenv("API_KEY"))
device = api.devices.get("test", create=True)

api.generator.write_config("AirVPN-Earth.conf", "earth", device.id)
```
