Metadata-Version: 2.4
Name: python-eveonline
Version: 0.1.0
Summary: Async Python client for the Eve Online ESI API
Author: Ronald van der Meer
License-Expression: MIT
Project-URL: Homepage, https://github.com/ronaldvdmeer/python-eveonline
Project-URL: Repository, https://github.com/ronaldvdmeer/python-eveonline
Project-URL: Issues, https://github.com/ronaldvdmeer/python-eveonline/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Games/Entertainment
Classifier: Typing :: Typed
Classifier: Framework :: AsyncIO
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohttp>=3.9.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: aioresponses>=0.7; extra == "dev"
Requires-Dist: mypy>=1.8; extra == "dev"
Requires-Dist: pylint>=3.0; extra == "dev"
Requires-Dist: ruff>=0.3; extra == "dev"
Dynamic: license-file

# python-eveonline

Async Python client library for the [Eve Online ESI API](https://esi.evetech.net/ui/).

## Features

- Fully async (aiohttp)
- Typed models (frozen dataclasses)
- Public endpoints: server status, character info, corporation info, portraits, name resolution
- Authenticated endpoints: online status, location, ship, wallet, skill queue
- AbstractAuth pattern for Home Assistant OAuth2 integration
- PEP 561 typed package (py.typed)
- 100% test coverage

## Installation

```bash
pip install python-eveonline
```

## Quick Start

```python
import asyncio
import aiohttp
from eveonline import EveOnlineClient

async def main():
    async with aiohttp.ClientSession() as session:
        client = EveOnlineClient(session=session)
        status = await client.async_get_server_status()
        print(f"{status.players} players online")

asyncio.run(main())
```

## License

MIT
