hikari
A sane Discord API for Python 3 built on asyncio and good intentions
What it is and what it does
Hikari is a Discord bot framework built on asyncio that abstracts Discord's v10 REST and Gateway APIs into a type-annotated Python interface. It offers two primary bot implementations: GatewayBot for real-time event streaming via Discord's gateway, and RESTBot for interaction-only servers that receive slash commands and button interactions through webhooks. Both support customizable timeouts, proxy configuration, and event filtering via intents.
The framework is designed for developers who want explicit, statically-typed Discord interactions without a heavy command framework built in. It ships with four runtime dependencies (aiohttp, attrs, colorlog, multidict) and supports Python 3.10 through 3.14. The package is actively maintained, has no known vulnerabilities, and is used in production bots. Third-party command frameworks can be layered on top for rapid bot development.
Use it for:
- Build a gateway-connected Discord bot that listens to message events and responds to mentions or commands.
- Create a REST-only bot that handles slash commands and button interactions via Discord's interaction webhooks.
- Integrate Discord API calls into a web dashboard or backend service using RESTApp for token-scoped REST access.
- Develop a type-safe bot with explicit intent configuration to control which events the bot receives.
- Use as a foundation for a custom command framework by layering business logic on top of event listeners.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Hikari is an async Discord bot framework for Python that provides type-safe bindings to Discord's REST and Gateway APIs, supporting both gateway-connected bots and REST-only interactions.
Yes. Hikari is a stable, actively maintained Discord framework with low install friction, no security vulnerabilities, and permissive licensing. It's suitable for both simple bots and complex applications. Choose it if you want explicit type safety and control over event handling; pair it with a third-party command framework (lightbulb, tanjun, crescent, arc) if you need rapid command scaffolding.
Install
hikari on PyPI
pip
pip install hikariuv
uv add hikaripoetry
poetry add hikariInstalling hikari
Before you install
Low install friction with a pure-Python wheel distribution. The package is actively maintained with recent commits and a stable release cycle, supporting current Python versions (3.10–3.14).
License in practice
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install hikari
import hikari
bot = hikari.GatewayBot(token="YOUR_TOKEN")
@bot.listen()
async def ping(event: hikari.MessageCreateEvent) -> None:
if bot.get_me().id in event.message.user_mentions_ids:
await event.message.respond("Pong!")
bot.run()
Requires Python 3.10 or later; Discord bot token and appropriate gateway intents must be configured.
Verify before relying
- Performance characteristics and latency under high-volume event loads.
- Compatibility with third-party command frameworks (lightbulb, tanjun, crescent, arc) beyond documentation references.
- Resource consumption patterns for long-running bots at scale.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.10.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — aiohttp, attrs, colorlog, multidict |
| Maintenance | actively maintained — 287 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 141,503/month — #11,240 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hikari-2.5.0-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
discord.pydiscord.py is an async-ready Python wrapper for…
permissive · top 5,000 on PyPI
discordA Python API wrapper for Discord that provides…
unclear · top 15,000 on PyPI
discord.py-selfAn async Python wrapper for Discord's user…
permissive · top 15,000 on PyPI
py-cordpy-cord is an async Python wrapper for the…
permissive · top 15,000 on PyPI
pywaPyWa is a fully-typed Python framework for…
permissive · top 15,000 on PyPI
python-telegram-botProvides a pure Python asynchronous interface…
copyleft · top 1,000 on PyPI
allianceauth-discordbotA Discord bot framework for Alliance Auth that…
permissive · top 15,000 on PyPI
botbuilder-integration-aiohttpIntegrates a Microsoft Bot Framework bot into…
permissive · top 15,000 on PyPI
qq-botpyA Python framework for building QQ chat bots…
permissive · top 15,000 on PyPI
nextcordNextcord is an async-ready Python wrapper for…
permissive · top 15,000 on PyPI