Skip to content

Welcome to ESIHub

ESIHub is a powerful, asynchronous Python client for interacting with the EVE Online ESI (EVE Swagger Interface) API. It provides developers with a robust, efficient, and easy-to-use interface for building EVE Online applications.

Key Features

  • Asynchronous Operations: Built on aiohttp for high-performance API interactions
  • Automatic Rate Limiting: Stay within EVE Online's API usage guidelines effortlessly
  • 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 and monitoring
  • Event System: Customizable hooks for request lifecycle events
  • Batch Request Processing: Make multiple requests concurrently for improved performance
  • Easy Configuration: Simple setup with environment variables
  • Extensive Test Coverage: Ensure reliability with our comprehensive test suite
  • Python 3.11+ Support: Leverage the latest Python features for improved performance and type hinting

Quick Start

Here's a simple example to get you started with ESIHub:

import asyncio
from esihub import ESIHubClient

async def main():
    client = ESIHubClient(
        client_id="your_client_id",
        client_secret="your_client_secret",
        callback_url="your_callback_url"
    )

    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())

Installation

You can install ESIHub using pip:

pip install esihub

Documentation

  • Authentication: Learn how to authenticate with the EVE Online SSO
  • API Reference: Detailed documentation of all available methods
  • Advanced Usage: Explore advanced features like caching, rate limiting, and event hooks
  • Configuration: Learn how to configure ESIHub for your needs
  • Error Handling: Understand how to handle different types of errors
  • Examples: See ESIHub in action with real-world examples

Contributing

We welcome contributions to ESIHub! If you'd like to contribute, please check out our Contributing Guide.

Support

If you encounter any issues or have questions, please file an issue on our GitHub repository.

Happy coding with ESIHub!