hikari-arc


Namehikari-arc JSON
Version 2.1.0 PyPI version JSON
download
home_pageNone
SummaryA command handler for hikari with a focus on type-safety and correctness.
upload_time2025-04-07 13:29:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
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">

[![PyPI](https://img.shields.io/pypi/v/hikari-arc)](https://pypi.org/project/hikari-arc)
[![CI](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml/badge.svg)](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
![Pyright](https://badgen.net/badge/Pyright/strict/2A6DB2)

</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[![PyPI](https://img.shields.io/pypi/v/hikari-arc)](https://pypi.org/project/hikari-arc)\n[![CI](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml/badge.svg)](https://github.com/hypergonial/hikari-arc/actions/workflows/ci.yml)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n![Pyright](https://badgen.net/badge/Pyright/strict/2A6DB2)\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"
}
        
Elapsed time: 0.44043s