Name | discord-clyde JSON |
Version |
0.3.0
JSON |
| download |
home_page | None |
Summary | A modern, type-hinted Python library for seamless interaction with the Discord Webhook API. |
upload_time | 2025-09-01 09:30:47 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.13 |
license | None |
keywords |
api
discord
library
rest
webhook
wrapper
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|




[](https://codecov.io/gh/ethanc/clyde)
Clyde is a modern, type-hinted Python library for seamless interaction with the [Discord](https://discord.com/) Webhook API.
It's lightweight, developer-friendly, and supports advanced features like [Components](https://discord.com/developers/docs/components/overview) and [Embeds](https://discord.com/developers/docs/resources/message#embed-object).
## Features
- Fully type-hinted for an excellent developer experience
- Input validation powered by [msgspec](https://github.com/jcrist/msgspec)
- Support for all Webhook-compatible [Components](https://discord.com/developers/docs/components/overview)
- Granular customization of rich [Embeds](https://discord.com/developers/docs/resources/message#embed-object)
- Helpers for Discord-flavored markdown, including timestamps
- Compatible with both synchronous and asynchronous HTTP requests
## Getting Started
### Installation
> [!IMPORTANT]
> Clyde requires Python 3.13 or later.
Install with [uv](https://github.com/astral-sh/uv) (recommended):
```
uv add discord-clyde
```
Alternatively, install with pip:
```
pip install discord-clyde
```
### Examples
> [!TIP]
> Take the examples below and copy/paste them into your project to get started in seconds.
**Send a standard Message**
```py
from clyde import Webhook
relay: Webhook = Webhook(url="https://discord.com/api/webhooks/00000/XXXXXXXXXX")
relay.set_avatar_url("https://i.imgur.com/RzkhQgZ.png")
relay.set_username("Heisenberg")
relay.set_content("[Clyde](https://github.com/EthanC/Clyde) says hi!")
relay.execute()
```

**Send a Message with Components**
```py
from clyde import Webhook
from clyde.components import ActionRow, LinkButton, TextDisplay
relay: Webhook = Webhook(url="https://discord.com/api/webhooks/00000/XXXXXXXXXX")
relay.set_avatar_url("https://i.imgur.com/BpcKmVO.png")
relay.set_username("TARS")
greeting: TextDisplay = TextDisplay(content="[Clyde](https://github.com/EthanC/Clyde) says hi!")
actions: ActionRow = ActionRow()
repository: LinkButton = LinkButton()
repository.set_label("Try Clyde")
repository.set_url("https://github.com/EthanC/Clyde")
actions.add_component(repository)
relay.add_component(greeting)
relay.add_component(actions)
relay.execute()
```

**Send a Message with an Embed**
```py
from clyde import Embed, Webhook
relay: Webhook = Webhook(url="https://discord.com/api/webhooks/00000/XXXXXXXXXX")
relay.set_avatar_url("https://i.imgur.com/QaTHttz.png")
relay.set_username("Shady")
rich: Embed = Embed()
rich.set_description("[Clyde](https://github.com/EthanC/Clyde) says hi!")
rich.set_color("#5865F2")
relay.add_embed(rich)
relay.execute()
```

## Releases
Clyde loosely follows [Semantic Versioning](https://semver.org/) for consistent, predictable releases.
## Contributing
Contributions are welcome—whether it’s fixing bugs or adding new features.
- See [`CONTRIBUTING.md`](/.github/CONTRIBUTING.md) for guidelines.
- See [Issues](https://github.com/EthanC/Clyde/issues) for known bugs and feature requests.
## Acknowledgements
The Clyde character and Discord brand assets are owned by Discord.
This project is not affiliated with or endorsed by Discord in any way.
Raw data
{
"_id": null,
"home_page": null,
"name": "discord-clyde",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "api, discord, library, rest, webhook, wrapper",
"author": null,
"author_email": "Ethan C <16727756+EthanC@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/ce/f2/c3adf35ca834f7ef9681ff177e5d1f48911570435aac787615319cbc3a30/discord_clyde-0.3.0.tar.gz",
"platform": null,
"description": "\n\n\n\n\n[](https://codecov.io/gh/ethanc/clyde)\n\nClyde is a modern, type-hinted Python library for seamless interaction with the [Discord](https://discord.com/) Webhook API.\n\nIt's lightweight, developer-friendly, and supports advanced features like [Components](https://discord.com/developers/docs/components/overview) and [Embeds](https://discord.com/developers/docs/resources/message#embed-object).\n\n## Features\n\n- Fully type-hinted for an excellent developer experience\n- Input validation powered by [msgspec](https://github.com/jcrist/msgspec)\n- Support for all Webhook-compatible [Components](https://discord.com/developers/docs/components/overview)\n- Granular customization of rich [Embeds](https://discord.com/developers/docs/resources/message#embed-object)\n- Helpers for Discord-flavored markdown, including timestamps\n- Compatible with both synchronous and asynchronous HTTP requests\n\n## Getting Started\n\n### Installation\n\n> [!IMPORTANT]\n> Clyde requires Python 3.13 or later.\n\nInstall with [uv](https://github.com/astral-sh/uv) (recommended):\n\n```\nuv add discord-clyde\n```\n\nAlternatively, install with pip:\n\n```\npip install discord-clyde\n```\n\n### Examples\n\n> [!TIP]\n> Take the examples below and copy/paste them into your project to get started in seconds.\n\n**Send a standard Message**\n\n```py\nfrom clyde import Webhook\n\nrelay: Webhook = Webhook(url=\"https://discord.com/api/webhooks/00000/XXXXXXXXXX\")\n\nrelay.set_avatar_url(\"https://i.imgur.com/RzkhQgZ.png\")\nrelay.set_username(\"Heisenberg\")\n\nrelay.set_content(\"[Clyde](https://github.com/EthanC/Clyde) says hi!\")\n\nrelay.execute()\n```\n\n\n\n**Send a Message with Components**\n\n```py\nfrom clyde import Webhook\nfrom clyde.components import ActionRow, LinkButton, TextDisplay\n\nrelay: Webhook = Webhook(url=\"https://discord.com/api/webhooks/00000/XXXXXXXXXX\")\n\nrelay.set_avatar_url(\"https://i.imgur.com/BpcKmVO.png\")\nrelay.set_username(\"TARS\")\n\ngreeting: TextDisplay = TextDisplay(content=\"[Clyde](https://github.com/EthanC/Clyde) says hi!\")\n\nactions: ActionRow = ActionRow()\nrepository: LinkButton = LinkButton()\n\nrepository.set_label(\"Try Clyde\")\nrepository.set_url(\"https://github.com/EthanC/Clyde\")\n\nactions.add_component(repository)\nrelay.add_component(greeting)\nrelay.add_component(actions)\nrelay.execute()\n```\n\n\n\n**Send a Message with an Embed**\n\n```py\nfrom clyde import Embed, Webhook\n\n\nrelay: Webhook = Webhook(url=\"https://discord.com/api/webhooks/00000/XXXXXXXXXX\")\n\nrelay.set_avatar_url(\"https://i.imgur.com/QaTHttz.png\")\nrelay.set_username(\"Shady\")\n\nrich: Embed = Embed()\n\nrich.set_description(\"[Clyde](https://github.com/EthanC/Clyde) says hi!\")\nrich.set_color(\"#5865F2\")\n\nrelay.add_embed(rich)\nrelay.execute()\n```\n\n\n\n## Releases\n\nClyde loosely follows [Semantic Versioning](https://semver.org/) for consistent, predictable releases.\n\n## Contributing\n\nContributions are welcome\u2014whether it\u2019s fixing bugs or adding new features.\n\n- See [`CONTRIBUTING.md`](/.github/CONTRIBUTING.md) for guidelines.\n- See [Issues](https://github.com/EthanC/Clyde/issues) for known bugs and feature requests.\n\n## Acknowledgements\n\nThe Clyde character and Discord brand assets are owned by Discord.\n\nThis project is not affiliated with or endorsed by Discord in any way.\n",
"bugtrack_url": null,
"license": null,
"summary": "A modern, type-hinted Python library for seamless interaction with the Discord Webhook API.",
"version": "0.3.0",
"project_urls": {
"Changelog": "https://github.com/EthanC/Clyde/releases",
"Issues": "https://github.com/EthanC/Clyde/issues",
"Repository": "https://github.com/EthanC/Clyde"
},
"split_keywords": [
"api",
" discord",
" library",
" rest",
" webhook",
" wrapper"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e97394e31aea94147f82f96bf9710fcbff66ca5905da6daa2f6db8ac3ae83610",
"md5": "bed049b776a3f2ad027f5f6971f37023",
"sha256": "4029b6d8a7495bf9a6d056a9cfd9728f156ad6fd9dc28a2cf4e28a777362561e"
},
"downloads": -1,
"filename": "discord_clyde-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bed049b776a3f2ad027f5f6971f37023",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 38263,
"upload_time": "2025-09-01T09:30:46",
"upload_time_iso_8601": "2025-09-01T09:30:46.519512Z",
"url": "https://files.pythonhosted.org/packages/e9/73/94e31aea94147f82f96bf9710fcbff66ca5905da6daa2f6db8ac3ae83610/discord_clyde-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cef2c3adf35ca834f7ef9681ff177e5d1f48911570435aac787615319cbc3a30",
"md5": "666f983a0e24558b82570fea54a7d8ae",
"sha256": "931c66576eb3acef6801482c8d18fa9c3340114bbc284d2c6f9ea406d382b340"
},
"downloads": -1,
"filename": "discord_clyde-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "666f983a0e24558b82570fea54a7d8ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 7094084,
"upload_time": "2025-09-01T09:30:47",
"upload_time_iso_8601": "2025-09-01T09:30:47.712186Z",
"url": "https://files.pythonhosted.org/packages/ce/f2/c3adf35ca834f7ef9681ff177e5d1f48911570435aac787615319cbc3a30/discord_clyde-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 09:30:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "EthanC",
"github_project": "Clyde",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "discord-clyde"
}