Name | hikari-arc JSON |
Version |
2.1.0
JSON |
| download |
home_page | None |
Summary | A command handler for hikari with a focus on type-safety and correctness. |
upload_time | 2025-04-07 13:29:25 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./docs/assets/branding/composed-darkmode.svg">
<source media="(prefers-color-scheme: light)" srcset="./docs/assets/branding/composed-lightmode.svg">
<img alt="The arc logo" src="./docs/assets/branding/composed-lightmode.svg" width="30%">
</picture>
</div>
---
<div align="center">
[](https://pypi.org/project/hikari-arc)
[](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml)
[](https://github.com/charliermarsh/ruff)

</div>
A command handler for [hikari](https://github.com/hikari-py/hikari) with a focus on type-safety and correctness.
## Installation
To install arc, run the following command:
```sh
pip install -U hikari-arc
```
To check if arc has successfully installed or not, run the following:
```sh
python3 -m arc
# On Windows you may need to run:
py -m arc
```
> [!NOTE]
> `hikari-arc` requires a Python version of *at least* 3.10.
If you're just getting started, you may also use the [template repository](https://github.com/hypergonial/arc-template) to get started with.
## Basic Usage
```py
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](https://arc.hypergonial.com), or the [examples](https://github.com/hypergonial/hikari-arc/tree/main/examples).
## Issues and support
For general usage help or questions, see the [hikari discord](https://discord.gg/hikari), if you have found a bug or have a feature request, feel free to [open an issue](https://github.com/hypergonial/hikari-arc/issues/new/choose)!
## Contributing
See [Contributing](./CONTRIBUTING.md).
## 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`](https://github.com/tandemdude/hikari-lightbulb) - The library initially started as a reimagination of lightbulb, it inherits a similar project structure and terminology.
- [`Tanjun`](https://github.com/FasterSpeeding/Tanjun) - For the idea of using `typing.Annotated` and [dependency injection](https://arc.hypergonial.com/guides/dependency_injection/) in a command handler. `arc` also uses the same dependency injection library, [`Alluka`](https://github.com/FasterSpeeding/Alluka), under the hood.
- [`hikari-crescent`](https://github.com/hikari-crescent/hikari-crescent) The design of [hooks](https://arc.hypergonial.com/guides/hooks/) is largely inspired by `crescent`.
- [`FastAPI`](https://github.com/tiangolo/fastapi) - Some design ideas and most of the [documentation](https://arc.hypergonial.com/) [configuration](https://github.com/hypergonial/hikari-arc/blob/main/mkdocs.yml) derives from `FastAPI`.
- The `arc` logo was made by [@PythonTryHard](https://github.com/PythonTryHard).
## Links
- [**Documentation**](https://arc.hypergonial.com)
- [**Examples**](https://github.com/hypergonial/hikari-arc/tree/main/examples)
- [**License**](https://github.com/hypergonial/hikari-arc/blob/main/LICENSE)
Raw data
{
"_id": null,
"home_page": null,
"name": "hikari-arc",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "hypergonial <git@hypergonial.com>",
"keywords": null,
"author": null,
"author_email": "hypergonial <git@hypergonial.com>",
"download_url": "https://files.pythonhosted.org/packages/e0/a5/45ed81319d41a705a03f5cb98e100f804a3ba9b3eacc5d8ef60ce844d899/hikari_arc-2.1.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/assets/branding/composed-darkmode.svg\">\n <source media=\"(prefers-color-scheme: light)\" srcset=\"./docs/assets/branding/composed-lightmode.svg\">\n <img alt=\"The arc logo\" src=\"./docs/assets/branding/composed-lightmode.svg\" width=\"30%\">\n </picture>\n</div>\n\n---\n\n<div align=\"center\">\n\n[](https://pypi.org/project/hikari-arc)\n[](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml)\n[](https://github.com/charliermarsh/ruff)\n\n\n</div>\n\nA command handler for [hikari](https://github.com/hikari-py/hikari) with a focus on type-safety and correctness.\n\n## Installation\n\nTo install arc, run the following command:\n\n```sh\npip install -U hikari-arc\n```\n\nTo check if arc has successfully installed or not, run the following:\n\n```sh\npython3 -m arc\n# On Windows you may need to run:\npy -m arc\n```\n\n> [!NOTE]\n> `hikari-arc` requires a Python version of *at least* 3.10.\n\nIf you're just getting started, you may also use the [template repository](https://github.com/hypergonial/arc-template) to get started with.\n\n## Basic Usage\n\n```py\nimport hikari\nimport arc\n\nbot = hikari.GatewayBot(\"TOKEN\") # or hikari.RESTBot\nclient = arc.GatewayClient(bot) # or arc.RESTClient\n\n@client.include\n@arc.slash_command(\"hi\", \"Say hi!\")\nasync def ping(\n ctx: arc.GatewayContext,\n user: arc.Option[hikari.User, arc.UserParams(\"The user to say hi to.\")]\n) -> None:\n await ctx.respond(f\"Hey {user.mention}!\")\n\nbot.run()\n```\n\nTo get started with `arc`, see the [documentation](https://arc.hypergonial.com), or the [examples](https://github.com/hypergonial/hikari-arc/tree/main/examples).\n\n## Issues and support\n\nFor general usage help or questions, see the [hikari discord](https://discord.gg/hikari), if you have found a bug or have a feature request, feel free to [open an issue](https://github.com/hypergonial/hikari-arc/issues/new/choose)!\n\n## Contributing\n\nSee [Contributing](./CONTRIBUTING.md).\n\n## Acknowledgements\n\n`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:\n\n- [`hikari-lightbulb`](https://github.com/tandemdude/hikari-lightbulb) - The library initially started as a reimagination of lightbulb, it inherits a similar project structure and terminology.\n- [`Tanjun`](https://github.com/FasterSpeeding/Tanjun) - For the idea of using `typing.Annotated` and [dependency injection](https://arc.hypergonial.com/guides/dependency_injection/) in a command handler. `arc` also uses the same dependency injection library, [`Alluka`](https://github.com/FasterSpeeding/Alluka), under the hood.\n- [`hikari-crescent`](https://github.com/hikari-crescent/hikari-crescent) The design of [hooks](https://arc.hypergonial.com/guides/hooks/) is largely inspired by `crescent`.\n- [`FastAPI`](https://github.com/tiangolo/fastapi) - Some design ideas and most of the [documentation](https://arc.hypergonial.com/) [configuration](https://github.com/hypergonial/hikari-arc/blob/main/mkdocs.yml) derives from `FastAPI`.\n- The `arc` logo was made by [@PythonTryHard](https://github.com/PythonTryHard).\n\n\n## Links\n\n- [**Documentation**](https://arc.hypergonial.com)\n- [**Examples**](https://github.com/hypergonial/hikari-arc/tree/main/examples)\n- [**License**](https://github.com/hypergonial/hikari-arc/blob/main/LICENSE)\n",
"bugtrack_url": null,
"license": null,
"summary": "A command handler for hikari with a focus on type-safety and correctness.",
"version": "2.1.0",
"project_urls": {
"Changelog": "https://arc.hypergonial.com/changelog/",
"Documentation": "https://arc.hypergonial.com",
"Homepage": "https://arc.hypergonial.com",
"Issues": "https://github.com/hypergonial/hikari-arc/issues",
"Repository": "https://github.com/hypergonial/hikari-arc"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8df45e7621910564e0d8707f712a5b34c5b84aca87bfb258cdbcb3ad931f5066",
"md5": "85f24695b02157754f568812fe17a4a2",
"sha256": "5473af5e3faba6a2a063a34653507e59b5768c5ec43f9b500da46c38ffbfe6b1"
},
"downloads": -1,
"filename": "hikari_arc-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "85f24695b02157754f568812fe17a4a2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 127466,
"upload_time": "2025-04-07T13:29:24",
"upload_time_iso_8601": "2025-04-07T13:29:24.362518Z",
"url": "https://files.pythonhosted.org/packages/8d/f4/5e7621910564e0d8707f712a5b34c5b84aca87bfb258cdbcb3ad931f5066/hikari_arc-2.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e0a545ed81319d41a705a03f5cb98e100f804a3ba9b3eacc5d8ef60ce844d899",
"md5": "e1d7c7e85a832f836839c67f8ca08093",
"sha256": "f33815a30e4c1690e848ce43280923372577cf5e599d4454fcc9cf6114005d77"
},
"downloads": -1,
"filename": "hikari_arc-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e1d7c7e85a832f836839c67f8ca08093",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 1421884,
"upload_time": "2025-04-07T13:29:25",
"upload_time_iso_8601": "2025-04-07T13:29:25.799831Z",
"url": "https://files.pythonhosted.org/packages/e0/a5/45ed81319d41a705a03f5cb98e100f804a3ba9b3eacc5d8ef60ce844d899/hikari_arc-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-04-07 13:29:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hypergonial",
"github_project": "hikari-arc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "hikari-arc"
}