hikari-arc


Namehikari-arc JSON
Version 1.4.0 PyPI version JSON
download
home_pagehttps://github.com/hypergonial/hikari-arc
SummaryA command handler for hikari with a focus on type-safety and correctness.
upload_time2024-10-08 16:17:32
maintainerhypergonial
docs_urlNone
authorhypergonial
requires_python<3.14,>=3.10.0
licenseMIT
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": "https://github.com/hypergonial/hikari-arc",
    "name": "hikari-arc",
    "maintainer": "hypergonial",
    "docs_url": null,
    "requires_python": "<3.14,>=3.10.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "hypergonial",
    "author_email": "git@hypergonial.com",
    "download_url": "https://files.pythonhosted.org/packages/a8/16/82f4b16d18ec9193ea7e3d2566dfe18709c6194281b8ecc9a212419623c1/hikari_arc-1.4.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": "MIT",
    "summary": "A command handler for hikari with a focus on type-safety and correctness.",
    "version": "1.4.0",
    "project_urls": {
        "Homepage": "https://github.com/hypergonial/hikari-arc"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf93766f22273c18542149064a19c82aef3856dc3c4a3f6bbefd72979bc0bbf9",
                "md5": "c68f96a4fab8d5cae278fb4691f370d5",
                "sha256": "75cdf4bb78010306264d548588489a1cfb32db4f29a90fb1e1abcfb7ed358748"
            },
            "downloads": -1,
            "filename": "hikari_arc-1.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c68f96a4fab8d5cae278fb4691f370d5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.10.0",
            "size": 125915,
            "upload_time": "2024-10-08T16:17:30",
            "upload_time_iso_8601": "2024-10-08T16:17:30.426728Z",
            "url": "https://files.pythonhosted.org/packages/bf/93/766f22273c18542149064a19c82aef3856dc3c4a3f6bbefd72979bc0bbf9/hikari_arc-1.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a81682f4b16d18ec9193ea7e3d2566dfe18709c6194281b8ecc9a212419623c1",
                "md5": "2d875815e69666e962eb31915eddeb39",
                "sha256": "c9acb2922e62afb7592bd1e83f1d8045a70b90d36d3d8e51b51373051aceea61"
            },
            "downloads": -1,
            "filename": "hikari_arc-1.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2d875815e69666e962eb31915eddeb39",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.10.0",
            "size": 82467,
            "upload_time": "2024-10-08T16:17:32",
            "upload_time_iso_8601": "2024-10-08T16:17:32.314916Z",
            "url": "https://files.pythonhosted.org/packages/a8/16/82f4b16d18ec9193ea7e3d2566dfe18709c6194281b8ecc9a212419623c1/hikari_arc-1.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-08 16:17:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hypergonial",
    "github_project": "hikari-arc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "hikari-arc"
}
        
Elapsed time: 0.37361s