Skip to main content

A pure Python implementation of the Ludo game, built for reinforcement learning and strategy testing. The engine defines deterministic rules, cleanly separates game mechanics from strategies, and requires no external libraries.

Project description

Ludo King Engine

CI Coverage

A comprehensive Python implementation of the classic Ludo board game, featuring sophisticated AI strategies and an interactive web-based interface. This pure Python engine is designed for reinforcement learning, strategy research, and educational gameplay, offering multiple built-in AI strategies alongside modern visualization tools for strategy analysis and comparison.

โœจ Key Features

  • ๐Ÿ Pure Python Implementation โ€” Zero external dependencies for the core game engine
  • ๐ŸŒ Interactive Web Interface โ€” Gradio-powered visualizer for real-time gameplay and analysis
  • ๐ŸŽฏ Deterministic Gameplay โ€” Reproducible game sessions with comprehensive seed support
  • ๐Ÿง  Extensible AI Framework โ€” Rich strategy system with 10+ sophisticated AI implementations
  • ๐Ÿ—๏ธ Clean Architecture โ€” Modular design separating game mechanics from AI strategies
  • ๐Ÿ“Š Advanced Analytics โ€” Detailed game state tracking with comprehensive statistics
  • ๐Ÿ† Tournament System โ€” Multi-game competition framework featuring league-style tables
  • ๐ŸŽฌ Real-time Visualization โ€” Step-by-step game playback with animated token movement
  • โš”๏ธ Strategy Benchmarking โ€” Built-in tools for comparing AI performance across multiple metrics

๐ŸŽฎ Core Components

Game Mechanics

  • ๐ŸŽฒ Board System โ€” 56-position game board with strategic safe zones and home columns
  • ๐Ÿ”ด Token Management โ€” Individual game pieces with advanced position and state tracking
  • ๐Ÿ‘ค Player Framework โ€” Comprehensive player management with token lifecycle and performance statistics
  • โš™๏ธ Game Engine โ€” Robust game flow controller managing turns, rules, and game state

AI Strategy Framework

  • ๐ŸŽฏ Heuristic Strategies โ€” Fundamental approaches including Random, Killer, Defensive, and Balanced tactics
  • ๐Ÿง  Advanced Algorithms โ€” Sophisticated strategies like Cautious, Optimist, Winner, and multiple Probabilistic variants
  • ๐Ÿค– LLM Integration โ€” Extensible framework ready for Large Language Model-driven strategies
  • ๐Ÿญ Strategy Factory โ€” Streamlined instantiation and management system for all AI strategies

๐Ÿš€ Quick Start Guide

Launch the Web Interface

Get started with the interactive web interface in just a few commands:

# Install optional dependencies for web interface
pip install gradio pillow

# Launch the interactive web application
python main.py

The web interface automatically opens at http://localhost:7860 and provides:

  • ๐ŸŽฎ Interactive Gameplay โ€” Step-by-step game visualization with smooth token animations
  • ๐ŸŽฏ Strategy Selection โ€” Choose from 10+ AI strategies for each player
  • ๐Ÿ† Tournament Mode โ€” Automated multi-game competitions with detailed league tables
  • ๐Ÿ“ˆ Real-time Analytics โ€” Live game statistics and comprehensive move history tracking

Programmatic Usage

Create and run games programmatically with full control over strategies and game flow:

from ludo_engine import LudoGame, StrategyFactory
from ludo_engine.player import PlayerColor

# Initialize a new game with four players
game = LudoGame(
    player_colors=[PlayerColor.RED, PlayerColor.BLUE, PlayerColor.GREEN, PlayerColor.YELLOW]
)

# Configure AI strategies for each player
strategies = ['random', 'killer', 'defensive', 'balanced']
for i, strategy_name in enumerate(strategies):
    strategy = StrategyFactory.create_strategy(strategy_name)
    game.players[i].set_strategy(strategy)

# Execute a complete game and analyze results
results = game.play_game()
print(f"๐Ÿ† Winner: {results['winner']}")
print(f"โฑ๏ธ Game Duration: {results['turns_played']} turns")

๐Ÿง  Available AI Strategies

Our comprehensive strategy library includes algorithms ranging from simple heuristics to advanced probabilistic models:

Strategy Approach Description
Random Baseline Randomly selects from all available legal moves
Killer Aggressive Prioritizes capturing opponent tokens above all else
Defensive Conservative Emphasizes safe moves and token protection
Balanced Hybrid Balances offensive and defensive considerations
Cautious Risk-Averse Extremely conservative, minimizes all forms of risk
Optimist Risk-Taking Aggressive approach with calculated risk acceptance
Winner Goal-Oriented Focuses on advancing tokens to finish line efficiently
Probabilistic Mathematical Uses probability calculations for optimal decision making
ProbabilisticV2/V3 Advanced Math Enhanced probabilistic models with refined algorithms
WeightedRandom Stochastic Intelligent sampling with strategic weight distributions
HybridProb Multi-Method Combines multiple evaluation techniques for robust decisions

๐ŸŒ Web Interface Features

The sophisticated web interface transforms strategy analysis into an interactive experience:

Core Functionality

  • ๐ŸŽฎ Interactive Gameplay โ€” Step-by-step game visualization with smooth, animated token movement
  • ๐Ÿค– Strategy Selection โ€” Choose from 10+ AI strategies for each player with detailed descriptions
  • ๐Ÿ† Tournament Mode โ€” Automated multi-game competitions with comprehensive league tables
  • ๐Ÿ“Š Real-time Statistics โ€” Live tracking of wins, game duration, and detailed performance metrics

Advanced Features

  • ๐Ÿ”„ Game State Management โ€” Save and load complete game states for in-depth analysis
  • ๐Ÿ“ˆ Move History Analysis โ€” Review complete game history with detailed move descriptions and reasoning
  • ๐ŸŽฒ Automated Gameplay โ€” Run games automatically with configurable speed and pause controls
  • ๐Ÿ“ฑ Responsive Design โ€” Seamless experience across desktop and mobile browsers

Getting Started with the Interface

Launch the interface with python main.py to explore these interactive features firsthand.

๐Ÿ“Š Tournament Performance Analysis

Our comprehensive tournament system demonstrates the effectiveness of different AI strategies through large-scale competition. The following results showcase performance across 132 matches with 20 games per match in a league format:

Tournament Configuration

๐ŸŽฎ LUDO STRATEGY TOURNAMENT
==================================================
๐ŸŽ›๏ธ Configuration Details:
   Max turns per game: 500
   Games per match: 20
   Competing strategies: 12 different AI algorithms
   Format: Home and away league system
   Total games played: 2,640

๐Ÿ Tournament Results Summary

Final League Standings

Pos Strategy P W D L GF GA GD Pts Win% Award
1 probabilistic_v2 22 17 4 1 17 1 +16 55 77.3% ๐Ÿฅ‡
2 probabilistic_v3 22 18 1 3 18 3 +15 55 81.8% ๐Ÿฅˆ
3 probabilistic 22 16 4 2 16 2 +14 52 72.7% ๐Ÿฅ‰
4 hybrid_prob 22 15 3 4 15 4 +11 48 68.2%
5 killer 22 13 3 6 13 6 +7 42 59.1%
6 cautious 22 12 2 8 12 8 +4 38 54.5%
7 defensive 22 9 1 12 9 12 -3 28 40.9%
8 balanced 22 8 0 14 8 14 -6 24 36.4%
9 winner 22 7 1 14 7 14 -7 22 31.8%
10 optimist 22 4 1 17 4 17 -13 13 18.2%
11 random 22 1 1 20 1 20 -19 4 4.5%
12 weighted_random 22 1 1 20 1 20 -19 4 4.5% ๐Ÿ”ป

Legend: P=Played, W=Won, D=Draw, L=Lost, GF=Goals For, GA=Goals Against, GD=Goal Difference

Key Tournament Insights

๐Ÿ† Champion Analysis

  • Winner: probabilistic_v2 with 55 points from 22 games
  • Win Rate: 77.3% demonstrating exceptional consistency
  • Performance: Dominated through mathematical optimization

๏ฟฝ Strategic Performance Tiers

๐Ÿฅ‡ Elite Tier (70%+ win rate)

  • Probabilistic Dominance: Three probabilistic variants secured the top positions
    • probabilistic_v2: 77.3% win rate (Champion)
    • probabilistic_v3: 81.8% win rate (Runner-up)
    • probabilistic: 72.7% win rate (Third place)

๐Ÿฅˆ Competitive Tier (50-70% win rate)

  • Hybrid Excellence: hybrid_prob (68.2%) shows strong potential through multi-method evaluation
  • Aggressive Success: killer (59.1%) and cautious (54.5%) demonstrate effective specialized approaches

๐Ÿฅ‰ Developing Tier (<50% win rate)

  • Conservative Challenges: winner (31.8%) and optimist (18.2%) struggled with risk management
  • Baseline Performance: Random strategies (random and weighted_random both at 4.5%) performed as expected

๐Ÿ” Statistical Significance

  • Total Matches: 132 comprehensive matchups ensuring robust statistical validity
  • Draw Rate: 11 draws (8.3%) indicating decisive strategic differentiation
  • Average Game Length: 151.6 turns demonstrating balanced game pacing
  • Clear Differentiation: Results show definitive strategic hierarchy across all performance tiers

๐ŸŽฏ Game Rules & Mechanics

Core Gameplay

  • ๐ŸŽฒ Player Count: Supports 2-4 players with standard Ludo rules
  • ๐Ÿ  Starting Position: Each player begins with 4 tokens in their home base
  • ๐Ÿš€ Token Activation: Roll a 6 to move tokens from home to the starting position
  • ๐Ÿ Victory Condition: First player to move all 4 tokens to the finish area wins
  • ๐Ÿ“ Journey Length: 57 steps required per token (1 to start + 56 around the board)

Special Rules

  • โšก Bonus Turns: Rolling a 6 or capturing an opponent token grants an additional turn
  • ๐ŸŽฏ Token Capture: Land on opponent tokens to send them back to home (except on safe positions)
  • ๐Ÿ›ก๏ธ Safe Zones: Designated safe positions where tokens cannot be captured
  • ๐Ÿšซ Six Limit: Maximum of 3 consecutive sixes before turn automatically ends
  • ๐Ÿ† Finish Strategy: Tokens must reach the center finish area to complete the game

๐Ÿ“š Code Examples & Usage Patterns

Basic Game Setup

Start with a simple two-player game to understand the fundamentals:

from ludo_engine import LudoGame, StrategyFactory
from ludo_engine.player import PlayerColor

# Initialize a basic two-player game
game = LudoGame([PlayerColor.RED, PlayerColor.BLUE])

# Configure AI strategies for each player
strategies = ['random', 'killer']
for i, strategy_name in enumerate(strategies):
    strategy = StrategyFactory.create_strategy(strategy_name)
    game.players[i].set_strategy(strategy)

# Execute the game and get results
results = game.play_game()
print(f"๐Ÿ† Game completed! Winner: {results.get('winner', 'No winner')}")

Strategy Performance Comparison

Analyze and compare different AI strategies across multiple games:

from ludo_engine import LudoGame, StrategyFactory
from ludo_engine.player import PlayerColor

# Define strategies to compare
strategies = ['random', 'killer', 'defensive', 'balanced']
performance_metrics = {strategy: 0 for strategy in strategies}

# Run 100 games for statistical significance
for game_round in range(100):
    game = LudoGame([PlayerColor.RED, PlayerColor.BLUE, PlayerColor.GREEN, PlayerColor.YELLOW])
    
    # Assign strategies to players
    for player_index, strategy_name in enumerate(strategies):
        strategy = StrategyFactory.create_strategy(strategy_name)
        game.players[player_index].set_strategy(strategy)
    
    # Play game and record results
    results = game.play_game()
    
    if results.get('winner'):
        # Identify winning strategy
        for player in game.players:
            if player.color.value == results['winner']:
                performance_metrics[player.strategy.name.lower()] += 1
                break

print("๐Ÿ“Š Strategy Performance Analysis:")
for strategy, wins in performance_metrics.items():
    win_rate = (wins / 100) * 100
    print(f"   {strategy.capitalize()}: {wins}/100 wins ({win_rate:.1f}%)")

Custom Strategy Development

Create and integrate your own AI strategy:

from ludo_engine.strategies import BaseStrategy
from ludo_engine.player import PlayerColor
from ludo_engine import LudoGame, StrategyFactory

class CustomStrategy(BaseStrategy):
    """Example custom strategy implementation."""
    
    def __init__(self):
        super().__init__("CustomStrategy")
    
    def choose_move(self, movable_tokens, dice_roll, game_state):
        """
        Implement your strategic logic here.
        
        Args:
            movable_tokens: List of tokens that can be moved
            dice_roll: Current dice value
            game_state: Current state of the game
            
        Returns:
            Selected token to move or None if no move possible
        """
        # Example: Prioritize tokens closest to finish
        if movable_tokens:
            return max(movable_tokens, key=lambda token: token.position)
        return None

# Register your custom strategy
StrategyFactory.register_strategy('custom_strategy', CustomStrategy)

# Use your strategy in a game
game = LudoGame([PlayerColor.RED, PlayerColor.BLUE])
strategies = ['custom_strategy', 'balanced']

for i, strategy_name in enumerate(strategies):
    strategy = StrategyFactory.create_strategy(strategy_name)
    game.players[i].set_strategy(strategy)

results = game.play_game()
print(f"๐ŸŽฏ Custom strategy game result: {results.get('winner', 'Draw')}")

Advanced Game Analysis

Monitor game progression with detailed turn-by-turn analysis:

from ludo_engine import LudoGame, StrategyFactory
from ludo_engine.player import PlayerColor

# Setup game for detailed analysis
game = LudoGame([PlayerColor.RED, PlayerColor.BLUE])
strategies = ['balanced', 'probabilistic']

for i, strategy_name in enumerate(strategies):
    strategy = StrategyFactory.create_strategy(strategy_name)
    game.players[i].set_strategy(strategy)

# Initialize game and track progress
game.start_game()
turn_counter = 0

print("๐Ÿ” Detailed Game Analysis:")
print("=" * 50)

while not game.is_finished():
    current_player = game.get_current_player()
    turn_result = game.play_turn()
    turn_counter += 1
    
    # Log turn details
    print(f"Turn {turn_counter:3d} | Player {current_player.color.value:6s}: "
          f"Rolled {turn_result.get('dice_roll', 'N/A'):2d} | "
          f"Move: {turn_result.get('move_made', 'No move')}")
    
    # Highlight special events
    if turn_result.get('captured_tokens'):
        captured_count = len(turn_result['captured_tokens'])
        print(f"         ๐ŸŽฏ Captured {captured_count} opponent token(s)!")
    
    if turn_result.get('dice_roll') == 6:
        print(f"         ๐ŸŽฒ Bonus turn earned!")

# Display final results
final_results = game.get_game_results()
print("=" * 50)
print(f"๐Ÿ Game completed in {turn_counter} turns")
print(f"๐Ÿ† Winner: {final_results.get('winner', 'No winner determined')}")

๐ŸŽฏ Use Cases & Applications

๐Ÿค– Reinforcement Learning & AI Research

  • ๐Ÿง  State Representation โ€” Complete game state available as structured dictionaries for ML models
  • โšก Action Space โ€” Clear move choices with intelligent valid action filtering
  • ๐Ÿ† Reward Engineering โ€” Rich reward signals including win/loss, captures, and progress tracking
  • ๐Ÿ”ฌ Reproducible Research โ€” Deterministic gameplay with comprehensive seed support for consistent experiments

๐Ÿ“Š Strategy Research & Analysis

  • โš–๏ธ A/B Testing Framework โ€” Systematic comparison of strategy performance across multiple metrics
  • ๐Ÿ† Tournament Systems โ€” Large-scale multi-strategy competitions with statistical significance
  • ๐Ÿ“ˆ Performance Analytics โ€” Detailed game statistics and comprehensive performance tracking
  • ๐Ÿ”ง Custom Algorithm Development โ€” Easy implementation and testing of novel strategic approaches

๐ŸŽ“ Educational Applications

  • ๐ŸŽฒ Game Theory Studies โ€” Practical exploration of strategic decision making and Nash equilibria
  • ๐Ÿ“Š Probability & Statistics โ€” Analysis of dice roll impacts, risk assessment, and outcome prediction
  • ๐Ÿ’ป AI Development Learning โ€” Hands-on experience with game AI programming and algorithm design
  • ๐Ÿ” Algorithm Comparison โ€” Benchmarking different approaches to understand performance characteristics

๐Ÿ—๏ธ Project Architecture

The project follows a clean, modular architecture separating concerns for maintainability and extensibility:

๐Ÿ“ ludo_engine/                    # ๐ŸŽฎ Core game engine (pure Python)
โ”œโ”€โ”€ ๐ŸŽฏ board.py                    # Game board logic and position management
โ”œโ”€โ”€ ๐Ÿ”ด token.py                    # Token mechanics and state management  
โ”œโ”€โ”€ ๐Ÿ‘ค player.py                   # Player management and statistics
โ”œโ”€โ”€ โš™๏ธ game.py                     # Main game engine and turn management
โ”œโ”€โ”€ ๐Ÿ“Š model.py                    # Data models and type definitions
โ”œโ”€โ”€ ๐Ÿ”ง constants.py                # Game constants and configuration
โ”œโ”€โ”€ ๐Ÿญ strategy.py                 # Strategy factory and base classes
โ””โ”€โ”€ ๐Ÿ“ strategies/                 # ๐Ÿง  AI strategy implementations
    โ”œโ”€โ”€ ๐ŸŽฏ base.py                 # Base strategy class and interfaces
    โ”œโ”€โ”€ ๐Ÿ› ๏ธ utils.py                # Strategy utility functions
    โ”œโ”€โ”€ ๐ŸŽฒ random_strategy.py      # Random decision making
    โ”œโ”€โ”€ โš–๏ธ balanced.py             # Balanced offensive/defensive approach
    โ”œโ”€โ”€ ๐Ÿ›ก๏ธ cautious.py             # Risk-averse conservative strategy
    โ”œโ”€โ”€ ๐Ÿ”’ defensive.py            # Defensive token protection
    โ”œโ”€โ”€ โš”๏ธ killer.py               # Aggressive capture-focused strategy
    โ”œโ”€โ”€ ๐Ÿš€ optimist.py             # Risk-taking aggressive approach
    โ”œโ”€โ”€ ๐Ÿ† winner.py               # Goal-oriented finishing strategy
    โ”œโ”€โ”€ ๐Ÿ“Š probabilistic*.py       # Mathematical probability-based strategies
    โ”œโ”€โ”€ ๐ŸŽฏ weighted_random.py      # Intelligent stochastic sampling
    โ””โ”€โ”€ ๐Ÿ“ llm/                    # ๐Ÿค– LLM-powered strategies
        โ”œโ”€โ”€ ๐Ÿ’ฌ prompt.py           # LLM prompt engineering
        โ””โ”€โ”€ ๐Ÿง  strategy.py         # LLM integration framework

๐Ÿ“ ludo_interface/                 # ๐ŸŒ Web interface (optional)
โ”œโ”€โ”€ ๐Ÿ–ฅ๏ธ app.py                     # Main Gradio application
โ””โ”€โ”€ ๐ŸŽจ board_viz.py               # Board visualization utilities

๐Ÿ“ tests/                         # ๐Ÿงช Comprehensive test suite
โ”œโ”€โ”€ ๐Ÿ“‹ __init__.py                # Test package initialization
โ”œโ”€โ”€ ๐ŸŽฏ test_board.py              # Board mechanics validation
โ”œโ”€โ”€ โš™๏ธ test_game.py               # Game engine functionality tests
โ”œโ”€โ”€ ๐Ÿ”— test_integration.py        # End-to-end integration tests
โ”œโ”€โ”€ ๐Ÿ‘ค test_player.py             # Player management verification
โ”œโ”€โ”€ ๐Ÿง  test_strategies.py         # AI strategy validation
โ”œโ”€โ”€ ๐Ÿญ test_strategy.py           # Strategy framework tests
โ””โ”€โ”€ ๐Ÿ”ด test_token.py              # Token mechanics verification

๐Ÿ“ examples/                      # ๐Ÿ“š Usage examples and demos
โ”œโ”€โ”€ โš™๏ธ config.py                 # Configuration examples and templates
โ”œโ”€โ”€ ๐Ÿ† tournament.py              # Tournament setup and management
โ””โ”€โ”€ ๐ŸŽฎ tournament_demo.py         # Interactive tournament demonstration

๐Ÿ“„ main.py                        # ๐Ÿš€ Entry point for web interface

๐Ÿ”ง Design Principles

  • ๐ŸŽฏ Separation of Concerns โ€” Game mechanics, AI strategies, and interface are cleanly separated
  • ๐Ÿ”Œ Extensible Framework โ€” Easy addition of new strategies through factory pattern
  • ๐Ÿงช Comprehensive Testing โ€” Full test coverage ensuring reliability and correctness
  • ๐Ÿ“Š Data-Driven Design โ€” Rich data models supporting analysis and debugging
  • ๐ŸŒ Modular Interface โ€” Optional web interface doesn't impact core engine performance

๐Ÿ“‹ Requirements & Installation

System Requirements

  • ๐Ÿ Python: Version 3.7 or higher
  • ๐ŸŽฎ Core Engine: Zero external dependencies (pure Python implementation)
  • ๐ŸŒ Web Interface: gradio and pillow (optional for visualization features)

๐Ÿš€ Quick Installation

  1. Clone the Repository

    git clone https://github.com/KameniAlexNea/ludo-king-engine.git
    cd ludo-king-engine
    
  2. Install Optional Dependencies (for web interface)

    pip install gradio pillow
    
  3. Verify Installation with comprehensive test suite

    python -m unittest discover -s tests
    
  4. Launch Web Interface

    python main.py
    
  5. Explore Examples and tutorials

    python examples/tournament_demo.py
    

๐ŸŽฏ Getting Started Tips

  • Core Engine Only: No installation required beyond Python 3.7+
  • Full Experience: Install optional dependencies for complete feature access
  • Development Setup: Run tests to ensure everything works correctly
  • Learning Path: Start with examples to understand the framework capabilities

๐Ÿค Contributing to the Project

We welcome contributions from the community! Here's how you can get involved:

๐Ÿ“ Development Workflow

  1. ๐Ÿด Fork the Repository

    # Create your own fork on GitHub
    
  2. ๐ŸŒŸ Create a Feature Branch

    git checkout -b feature/amazing-new-feature
    
  3. ๐Ÿ’ป Implement Your Changes

    • Follow existing code style and patterns
    • Add comprehensive tests for new functionality
    • Update documentation as needed
  4. โœ… Commit Your Changes

    git commit -m 'Add amazing new feature with comprehensive tests'
    
  5. ๐Ÿš€ Push to Your Branch

    git push origin feature/amazing-new-feature
    
  6. ๐Ÿ”„ Open a Pull Request

    • Provide clear description of changes
    • Reference any related issues
    • Ensure all tests pass

๐ŸŽฏ Contribution Areas

  • ๐Ÿง  New AI Strategies: Implement novel algorithms and strategic approaches
  • ๐Ÿ› Bug Fixes: Report and fix issues in the codebase
  • ๐Ÿ“š Documentation: Improve guides, examples, and API documentation
  • ๐Ÿงช Testing: Expand test coverage and add edge case validation
  • ๐ŸŒ Interface Enhancements: Improve web interface and visualization features

๐Ÿ“„ License

This project is licensed under the Apache License - see the LICENSE file for complete details.


๐Ÿ—บ๏ธ Development Roadmap

โœ… Completed Features

  • ๐ŸŒ Web-based Game Visualization โ€” Interactive interface with real-time gameplay

๐Ÿšง In Development

  • ๐Ÿค– LLM-powered Strategy Integration โ€” Advanced AI using large language models
  • โšก Multi-threading Tournament Simulations โ€” Parallel processing for faster competitions
  • ๐Ÿ“Š Advanced Statistical Analysis Tools โ€” Enhanced performance metrics and insights

๐Ÿ”ฎ Future Enhancements

  • ๐Ÿ’พ Export/Import Game Replay Functionality โ€” Save and analyze complete game sessions
  • ๐ŸŽจ Custom Board Layouts & Rule Variations โ€” Flexible game configuration options
  • ๐Ÿ“ฑ Enhanced Mobile-Responsive Interface โ€” Optimized mobile gaming experience
  • ๐ŸŽ“ Strategy Training Mode for Reinforcement Learning โ€” Dedicated RL training environment

Ready to start playing? Launch the web interface with python main.py and explore the fascinating world of AI strategy competition! ๐ŸŽฎโœจ

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

ludo_king_engine-0.1.3.tar.gz (106.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ludo_king_engine-0.1.3-py3-none-any.whl (101.1 kB view details)

Uploaded Python 3

File details

Details for the file ludo_king_engine-0.1.3.tar.gz.

File metadata

  • Download URL: ludo_king_engine-0.1.3.tar.gz
  • Upload date:
  • Size: 106.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ludo_king_engine-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f3cfc9bc93c5afa4c966e7b1bf36b2c349fe6d578f1429a93fe9381e8d2d2590
MD5 bb3324b92b5bd45cfc580e60b9ecaf03
BLAKE2b-256 e9d66b6153e264d4e0a8a972511577941c62c345c3d437c500f93ff952dc0363

See more details on using hashes here.

Provenance

The following attestation bundles were made for ludo_king_engine-0.1.3.tar.gz:

Publisher: publish.yml on KameniAlexNea/ludo-king-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ludo_king_engine-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for ludo_king_engine-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 89b3312651cc47b3ebe56a8478ff8a476f77005cf4f16e7d988240c7d4cf7639
MD5 90320aac07ec2604061383622301aae8
BLAKE2b-256 f558c160f59598bd49c58d04e0c9000d983a6485a93b4129176fd87f71dc6023

See more details on using hashes here.

Provenance

The following attestation bundles were made for ludo_king_engine-0.1.3-py3-none-any.whl:

Publisher: publish.yml on KameniAlexNea/ludo-king-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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