Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.
/ corkus.py Public archive

Asynchronous, feature-rich and easy to use Python wrapper for Public Wynncraft API ⚙️

License

Notifications You must be signed in to change notification settings

MrBartusek/corkus.py

Repository files navigation

corkus banner

pypi GitHub Workflow Status docs build Codecov python version downloads

Corkus.py ⚙️

Caution

Corkus.py is no longer maintained

Due to recent changes in the Wynncraft API, Corkus.py is no longer working and will not receive further updates or support. Some endpoints based on the v2 API may still be operational, but those relying on the now-removed v1 API and new v3 API are no longer functioning. Additionally, more features may become broken in the future.

I'm unable to recommend any other Python-based wrapper for the Wynncraft API - I don't see any good alternatives. It is strongly advised to not use this project anymore due to its outdated and non-functional state.

Thank you to all users and contributors for your support and feedback throughout the lifespan of this project.

Asynchronous, feature-rich and easy to use Python wrapper for Public Wynncraft API.

Key Features

  • Modern asynchronous API using async/await syntax.
  • Easy to use with an object oriented design using fetch and helper functions.
  • 100% coverage of the Wynncraft API.
  • Proper rate limit handling that prevents 429s.
  • Responses caching to improve speed.

Installation

Python 3.8+ or higher is required

pip install corkus.py

Or install latest development version:

pip install --upgrade git+https://github.com/MrBartusek/corkus.py@main

See documentation for more information.

Quick Example

Using Context Manager:

import asyncio
from corkus import Corkus

async def player_stats():
    async with Corkus() as corkus:
        player = await corkus.player.get("MrBartusekXD")
        character = player.best_character
        print(f"username: {player.username}")
        print(f"best character: {character.display_name} ({character.combat.level}lv)")

loop = asyncio.get_event_loop()
loop.run_until_complete(player_stats())

Without Context Manager:

import asyncio
from corkus import Corkus

async def player_stats():
    corkus = Corkus()
    await corkus.start()

    player = await corkus.player.get("MrBartusekXD")
    character = player.best_character
    print(f"username: {player.username}")
    print(f"best character: {character.display_name} ({character.combat.level}lv)")

    await corkus.close()

loop = asyncio.get_event_loop()
loop.run_until_complete(player_stats())

Output:

username: MrBartusek
best character: Mage (102lv)

Contributing

Want to contribute to the project?

First of all, thanks! Check contributing guidelines for more information.

Links

About

Asynchronous, feature-rich and easy to use Python wrapper for Public Wynncraft API ⚙️

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages