Skip to main content

An extension for disnake providing a robust alternative to cogs.

Project description

disnake-ext-plugins

An extension for disnake that serves as a robust replacement for cogs. No more pointless inheritance, no more singleton classes serving as little more than a namespace, and no more unexpected behaviour when you get anywhere near the inner workings of your extensions.

Key Features

  • Smoothly integrates with disnake,
  • Manage your extensions without inheritance,
  • Minimum boilerplate, maximum control.

Installing

Python 3.8 or higher is required

To install the extension, run the following command in your command prompt/shell:

# Linux/macOS
python3 -m pip install -U disnake-ext-plugins

# Windows
py -3 -m pip install -U disnake-ext-plugins

After installing, disnake-ext-plugins can be imported as

import disnake_plugins

Example

import disnake
import disnake_plugins


plugin = disnake_plugins.Plugin()


@plugin.slash_command()
async def my_command(inter: disnake.CommandInteraction):
    await inter.response.send_message("Woo!")


setup, teardown = plugin.create_extension_handlers()

Further examples can be found in the examples directory.

Why not disnake.ext.plugins?

Registering into the disnake.ext namespace brings with it a variety of issues, starting with being unable to properly make editable installs into .../site-packages/disnake/ext/. It also leads to inconsistencies with Sphinx autodoc & co., which are simply annoying to work around. This extension used to be part of the disnake.ext namespace, and there used to be a symlink script to get around the editable install limitation. However, we ultimately decided staying in the disnake.ext namespace for its "legacy" wasn't worth the headaches.

Contributing

Any contributions are welcome, feel free to open an issue or submit a pull request if you'd like to see something added. Contribution guidelines will come soon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

disnake_ext_plugins-0.3.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

disnake_ext_plugins-0.3.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file disnake_ext_plugins-0.3.0.tar.gz.

File metadata

  • Download URL: disnake_ext_plugins-0.3.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.6 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for disnake_ext_plugins-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7ff55e50229ef7394f8a412395c4a6d0df652b01d9aba501c0a766ade75b074f
MD5 744dd3f0134fcf47a07f05e824a87386
BLAKE2b-256 91c4165db95505242c3d59aba16257f065a51a8a411f66fe175516e3db90e319

See more details on using hashes here.

File details

Details for the file disnake_ext_plugins-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: disnake_ext_plugins-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.6 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for disnake_ext_plugins-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bc462c74d71e4390f795ff8ec7615b6930246a0a874d849f3bd87e465eef47e
MD5 97ed8d00d4ab34dc4617c333cc5a03b4
BLAKE2b-256 66c0b0d7a8e7816970f75da1399d733f312f1846f5ad58332642297b7fc16168

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page