No project description provided
Project description
pyhandel
Python wrapper for building bots for the Kuh-Handel online bot coding challenge. Wraps the core Rust implementation via PyO3.
Installation
pip install pyhandel
Type stubs for better IDE support:
pip install pyhandel pyhandel-stubs
Usage
Implement the PlayerActions class and connect to the game server via Client:
import asyncio
from pyhandel.client import Client
from pyhandel.messages.actions import (
AuctionDecision, Bidding, InitialTrade, NoAction,
PlayerTurnDecision, SendMoney, TradeOpponentDecision,
)
from pyhandel.messages.game_updates import AuctionRound, GameUpdate, TradeOffer
from pyhandel.player.player_actions import PlayerActions
class Bot(PlayerActions):
def setup(self):
pass # initialize your bot here
def _draw_or_trade(self) -> PlayerTurnDecision:
raise NotImplementedError
def _trade(self) -> InitialTrade:
raise NotImplementedError
def _provide_bidding(self, state: AuctionRound) -> Bidding:
raise NotImplementedError
def _buy_or_sell(self, state: AuctionRound) -> AuctionDecision:
raise NotImplementedError
def _send_money_to_player(self, player: str, amount: int) -> SendMoney:
raise NotImplementedError
def _respond_to_trade(self, offer: TradeOffer) -> TradeOpponentDecision:
raise NotImplementedError
def _receive_game_update(self, update: GameUpdate) -> NoAction:
raise NotImplementedError
async def run(client, num_rounds):
for _ in range(num_rounds):
await client.play_one_round("pvp_games")
if __name__ == "__main__":
bot = Bot()
bot.setup()
client = Client("your_bot_name", "your_token", bot, "s://ufuk-guenes.com", True)
asyncio.run(run(client, 1))
Documentation
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyhandel-0.2.4.tar.gz
(42.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyhandel-0.2.4.tar.gz.
File metadata
- Download URL: pyhandel-0.2.4.tar.gz
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
342addb393ca8075a49925000011dfa4e82aa3d2f9b90117a93d423f177a4d81
|
|
| MD5 |
b4ae880ccf5d0fbec8ca521902e9c0d7
|
|
| BLAKE2b-256 |
97b815ebad53d96b9075e3190825b61ef577cd88147321cba68d00f81e3a764a
|
File details
Details for the file pyhandel-0.2.4-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pyhandel-0.2.4-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bd7277151c377d85c0fd38125986b0d8b7accde596bd118a57400547e814e74
|
|
| MD5 |
c073ba7bc347c60831974b25aa4c533c
|
|
| BLAKE2b-256 |
bea27c8b17f0840ff7891ed27120f26539f8bd32dc59731751d3fc7be9b7428d
|