A command handler for hikari with a focus on type-safety and correctness.
Installation
To install arc, run the following command:
pip install -U hikari-arc
To check if arc has successfully installed or not, run the following:
python3 -m arc
# On Windows you may need to run:
py -m arc
[!NOTE]
hikari-arcrequires a Python version of at least 3.11.
If you're just getting started, you may also use the template repository to get started with.
Basic Usage
import hikari
import arc
bot = hikari.GatewayBot("TOKEN") # or hikari.RESTBot
client = arc.GatewayClient(bot) # or arc.RESTClient
@client.include
@arc.slash_command("hi", "Say hi!")
async def ping(
ctx: arc.GatewayContext,
user: arc.Option[hikari.User, arc.UserParams("The user to say hi to.")]
) -> None:
await ctx.respond(f"Hey {user.mention}!")
bot.run()
To get started with arc, see the documentation, or the examples.
Issues and support
For general usage help or questions, see the hikari discord, if you have found a bug or have a feature request, feel free to open an issue!
Contributing
See Contributing.
Acknowledgements
arc is in large part a combination of all the parts I like in other command handlers, with my own spin on it. The following projects have inspired me and aided me greatly in the design of this library:
hikari-lightbulb- The library initially started as a reimagination of lightbulb, it inherits a similar project structure and terminology.Tanjun- For the idea of usingtyping.Annotatedand dependency injection in a command handler.arcalso uses the same dependency injection library,Alluka, under the hood.hikari-crescentThe design of hooks is largely inspired bycrescent.FastAPI- Some design ideas and most of the documentation configuration derives fromFastAPI.- The
arclogo was made by @PythonTryHard.
Links
Metadata
Release files for hikari-arc 2.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hikari_arc-2.3.2.tar.gz | 1.5 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hikari_arc-2.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / hikari_arc-2.3.2.tar.gz
| Download URL | hikari_arc-2.3.2.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6770b6c9355c3236deb47af1f717b395a20f465f68926b0c931c56a86fd2212
|
|
BLAKE2b-256 checksum How to use checksums |
56b44ac5d1a96e3ac614cd418a53e3ec74a25de94a1ded299d1e270522bcfad0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / hikari_arc-2.3.2-py3-none-any.whl
| Download URL | hikari_arc-2.3.2-py3-none-any.whl |
|---|---|
| Size | 127.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe5561e55e57b499dd1712e89b0eb6ac4c35598beefc77602a2c0c8fbf194eb0
|
|
BLAKE2b-256 checksum How to use checksums |
f6f06897e549a2702ef0d5c32e5ccbc923bc20eb5f0ffe0fbf667876866db650
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.33 {"installer":{"name":"uv","version":"0.11.33","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for hikari-arc 2.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.