wumpy-bot

Highly abstracted and easy to use wrapper over the Wumpy project


Keywords
wumpy, wumpus, wrapper, discord, discord-api, discord-bot, discord-api-wrapper, python-3, bot-api
Licenses
Apache-2.0/MIT
Install
pip install wumpy-bot==0.1.0

Documentation

Wumpy

A Discord API wrapper for Python. Wumpy aims to be easy enough for Wumpus, and extensible enough for Clyde!

Community

There is a development Discord server you can join. GitHub Discussions is used for support.

Usage

If you are new to Wumpy consider reading the documentation.

A lot of the functionality of Wumpy is separated into multiple subpackages, for example wumpy-gateway (imported as wumpy.gateway) is a subpackage that only contains the code for interacting with the gateway.

If you are building another library, consider using some of these subpackages instead of re-implementing the same functionality - more times than not it is only the highest level (the one that the end-user interacts with) that differs. For Wumpy the highest level of abstraction is wumpy-client which is built on top of all other subpackages.

Support

If you have a problem please open a discussion through GitHub. This is the best place to ask for help as only bug reports or detailed feature requests should go in the issue tracker.

Please consider starring the repository, it really helps!

Future plans

The highest priority right now is to get full API coverage, while keeping the standards of quality that Wumpy stands for.

Development is triaged through this GitHub project if you get curious about the current state of the project, this brings together all issues and todos from all subpackage.

Contributing

The library is only first now starting to get a good structure. Take a look at CONTRIBUTING.md and the Wiki for developer notes and different design decision write-ups.

Version guarantees

The Wumpy project's official subpackages all follow Semantic Versioning 2.0:

  • Major version bumps hold no guarantees at all.

  • Minor version bumps are backwards compatible but not forwards compatible.

  • Patch versions are both backwards compatible and forwards compatible.

To simplify the above, this is how it will affect you (these are imaginary example versions):

  • You can upgrade from v1.0.6 to v1.0.8, or downgrade to v1.0.3 without any code changes.

  • You can upgrade from v1.5.0 to v1.6.0 without any code changes, but you can't downgrade to v1.4.0.

  • You cannot upgrade from v4.0.0 to v5.0.0 or downgrade to v3.0.0. Major versions have no guarantee of compatability.

Public API

The public API is documented in the API reference hosted on Read the docs, which can be found here. Unless otherwise noted through examples no files in the library are part of the public API. This means that all imports should go through the subpackages, for example from wumpy.gateway.shard import Shard is not part of the public API - but from wumpy.gateway import Shard is.

Since files are not part of the public API, they are considered internal, and can be renamed on any version bump without breaking the public API.