Interfaces for components that make up Hikari applications.

These are provided to uncouple specific implementation details from each implementation, thus allowing custom solutions to be engineered such as bots relying on a distributed event bus or cache.

Expand source code
Browse git
# -*- coding: utf-8 -*-
# cython: language_level=3
# Copyright (c) 2020 Nekokatt
# Copyright (c) 2021-present davfsa
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
"""Interfaces for components that make up Hikari applications.

These are provided to uncouple specific implementation details from each
implementation, thus allowing custom solutions to be engineered such as bots
relying on a distributed event bus or cache.
"""

from __future__ import annotations

from hikari.api.cache import *
from hikari.api.config import *
from hikari.api.entity_factory import *
from hikari.api.event_factory import *
from hikari.api.event_manager import *
from hikari.api.interaction_server import *
from hikari.api.rest import *
from hikari.api.shard import *
from hikari.api.special_endpoints import *
from hikari.api.voice import *

Child Modules

module cache

Core interface for a cache implementation.

module config

Core interface for Hikari's configuration dataclasses.

module entity_factory

Core interface for an object that serializes/deserializes API objects.

module event_factory

Component that provides the ability to generate event models.

module event_manager

Core interface for components that manage events in the library.

module interaction_server

Provides an interface for Interaction REST server API implementations to follow.

module rest

Provides an interface for REST API implementations to follow.

module shard

Provides an interface for gateway shard implementations to conform to.

module special_endpoints

Special additional endpoints used by the REST API.

module voice

Interfaces used to describe voice client implementations.