Skip to content

siege-green/esihub

Repository files navigation

ESIHub

PyPI version Python Versions License: MIT codecov Code style: black

A high-performance, feature-rich Python client for the EVE Online ESI API

InstallationQuick StartFeaturesDocumentationContributingLicense

Installation

ESIHub requires Python 3.11 or later. Install it with pip:

pip install esihub

Quick Start

Here's a simple example to get you started:

import asyncio
from esihub import ESIHubClient

async def main():
    client = ESIHubClient()

    async with client:
        # Get character information
        character_id = 12345
        character_info = await client.get_characters_character_id(character_id=character_id)
        print(f"Character Info: {character_info}")

asyncio.run(main())

Features

  • Asynchronous Operations: Built on aiohttp for high performance
  • 🔄 Automatic Rate Limiting: Stay within EVE Online's API guidelines
  • 💾 Efficient Caching: Reduce unnecessary API calls with Redis integration
  • 🔑 Token Management: Automatic token refresh and secure storage
  • 🛡️ Robust Error Handling: Custom exceptions for different error scenarios
  • 📝 Comprehensive Logging: Detailed logs for easy debugging
  • 🎣 Event Hooks: Lifecycle events for request customization
  • 📦 Batch Processing: Make multiple requests concurrently
  • ⚙️ Easy Configuration: Simple setup with environment variables

Documentation

For full documentation, please visit our GitHub Pages.

Contributing

We welcome contributions! Please see our Contributing Guide for more details.

License

ESIHub is released under the MIT License. See the LICENSE file for more details.