Skip to main content

A Reversi/Othello engine implemented in Rust with Python bindings

Project description

Rust Reversi

A high-performance Reversi (Othello) game engine implemented in Rust with Python bindings. This library provides a fast and efficient Reversi implementation by leveraging Rust's performance while maintaining a friendly Python interface.

Core implementation is based on rust_reversi_core.

Features

  • High-performance implementation in Rust
  • Efficient board representation using bitboards
  • Easy-to-use Python interface
  • Comprehensive game state manipulation methods
  • Move generation and validation
  • Random move sampling for testing
  • Verified move generation through Perft testing
  • Alpha-beta pruning based search with customizable evaluation functions
  • Arena system for AI player evaluation
    • Local arena for direct player evaluation
    • Network arena for distributed evaluation
  • Process-based player execution with timeout management
  • Fair player evaluation with color alternation

Installation

pip install rust-reversi

Basic Usage

from rust_reversi import Board, Turn, Color

# Start a new game
board = Board()

# Display the current board state
print(board)

while not board.is_game_over():
    if board.is_pass():
        print("No legal moves available. Passing turn.")
        board.do_pass()
        continue

    # Get legal moves
    legal_moves = board.get_legal_moves_vec()
    print(f"Legal moves: {legal_moves}")

    # Get random move
    move = board.get_random_move()
    print(f"Random move: {move}")

    # Execute move
    board.do_move(move)
    print(board)

# Game over
winner = board.get_winner()
if winner is None:
    print("Game drawn.")
elif winner == Turn.BLACK:
    print("Black wins!")
else:
    print("White wins!")

Using the Local Arena

The Local Arena allows you to evaluate your own AI players by running them locally on the same machine. This is useful for testing and comparing different versions or strategies of your AI implementations:

from rust_reversi import Arena
import sys

# Create an arena with two AI players
python = sys.executable
player1 = ["python", "player1.py"]  # Command to run first player
player2 = ["./player2"]             # Command to run second player

# Initialize the arena
arena = Arena(player1, player2)

# Play 100 games (must be an even number for fair color distribution)
arena.play_n(100)

# Get statistics
wins1, wins2, draws = arena.get_stats()
print(f"Player 1 wins: {wins1}")
print(f"Player 2 wins: {wins2}")
print(f"Draws: {draws}")

# Get total pieces captured
pieces1, pieces2 = arena.get_pieces()
print(f"Player 1 total pieces: {pieces1}")
print(f"Player 2 total pieces: {pieces2}")

Using the Network Arena

The Network Arena provides a system for playing against other people's AIs over a network. This allows for competitive matches and tournaments between different developers' AIs:

# Server side
from rust_reversi import NetworkArenaServer

# Create a server that will run 1000 games per session
server = NetworkArenaServer(1000)

# Start the server
server.start("localhost", 12345)
# Client side
from rust_reversi import NetworkArenaClient
import sys

# Create a client with an AI player
client = NetworkArenaClient(["python", "player.py"])

# Connect to the server
client.connect("localhost", 12345)

# Get results after games
wins, losses, draws = client.get_stats()
pieces_captured, opponent_pieces = client.get_pieces()
print(f"Wins: {wins}, Losses: {losses}, Draws: {draws}")
print(f"Pieces Captured: {pieces_captured}, Opponent Pieces: {opponent_pieces}")

Creating AI Players

AI players should be implemented as scripts that:

  1. Accept a command line argument specifying their color ("BLACK" or "WHITE")
  2. Read board states from stdin
  3. Write moves to stdout
  4. Handle the "ping"/"pong" protocol for connection verification

Example player implementation with alpha-beta search:

import sys
from rust_reversi import Board, Turn, PieceEvaluator, AlphaBetaSearch

# Maximum search depth
DEPTH = 3

def main():
    # Get color from command line argument
    turn = Turn.BLACK if sys.argv[1] == "BLACK" else Turn.WHITE
    board = Board()
    
    # Initialize evaluator and search
    evaluator = PieceEvaluator()
    search = AlphaBetaSearch(evaluator, DEPTH, win_score=1 << 10)

    while True:
        try:
            board_str = input().strip()

            # Handle ping/pong protocol
            if board_str == "ping":
                print("pong", flush=True)
                continue

            # Update board state
            board.set_board_str(board_str, turn)
            
            # Get and send move using alpha-beta search
            move = search.get_move(board)
            print(move, flush=True)

        except Exception as e:
            print(e, file=sys.stderr)
            sys.exit(1)

if __name__ == "__main__":
    main()

API Reference

Classes

Turn

Represents a player's turn in the game.

  • Turn.BLACK: Black player
  • Turn.WHITE: White player

Color

Represents the state of a cell on the board.

  • Color.EMPTY: Empty cell
  • Color.BLACK: Black piece
  • Color.WHITE: White piece

Board

The main game board class with all game logic.

Board Constructor
  • Board(): Creates a new board with standard starting position
Board State Methods
  • get_board() -> tuple[int, int, Turn]: Returns current board state (player bitboard, opponent bitboard, turn)
  • set_board(player_board: int, opponent_board: int, turn: Turn) -> None: Sets board state directly
  • set_board_str(board_str: str, turn: Turn) -> None: Sets board state from string representation
  • get_board_src() -> str: Returns string representation of board state
  • get_board_vec_black() -> list[Color]: Returns flattened board state as if current player using black pieces
  • get_board_vec_turn() -> list[Color]: Returns flattened board state with current player's pieces
  • get_board_matrix() -> list[list[list[int]]]: Returns 3D matrix representation of board state
  • get_child_boards() -> list[Board]: Returns list of child boards for all legal moves
  • clone() -> Board: Creates a deep copy of the board
Piece Count Methods
  • player_piece_num() -> int: Returns number of current player's pieces
  • opponent_piece_num() -> int: Returns number of opponent's pieces
  • black_piece_num() -> int: Returns number of black pieces
  • white_piece_num() -> int: Returns number of white pieces
  • piece_sum() -> int: Returns total number of pieces on board
  • diff_piece_num() -> int: Returns absolute difference in piece count
Move Generation and Validation
  • get_legal_moves() -> int: Returns bitboard of legal moves
  • get_legal_moves_vec() -> list[int]: Returns list of legal move positions
  • get_legal_moves_tf() -> list[bool]: Returns list of legal move positions as boolean mask
  • is_legal_move(pos: int) -> bool: Checks if move at position is legal
  • get_random_move() -> int: Returns random legal move position
Game State Methods
  • is_pass() -> bool: Checks if current player must pass
  • is_game_over() -> bool: Checks if game is finished
  • is_win() -> bool: Checks if current player has won
  • is_lose() -> bool: Checks if current player has lost
  • is_draw() -> bool: Checks if game is drawn
  • is_black_win() -> bool: Checks if black has won
  • is_white_win() -> bool: Checks if white has won
  • get_winner() -> Optional[Turn]: Returns winner of game (None if draw)
Move Execution
  • do_move(pos: int) -> None: Executes move at specified position
  • do_pass() -> None: Executes pass move when no legal moves available
Board Representation
  • __str__() -> str: Returns string representation of board

Board is displayed as:

 |abcdefgh
-+--------
1|XXXXXXXX
2|OOOOOOOO
3|--------
...

Where:

  • X: Black pieces
  • O: White pieces
  • -: Empty cells

Search and Evaluation Classes

Evaluator (Base Class)

Base class for board evaluation functions. Extend this class to implement custom evaluation functions. set_py_evaluator() method can be used to set a Python evaluator class for evaluation. See test/players/custom_eval_player.py for an example.

Evaluator Constructor
  • Evaluator(): Creates a new evaluator
Evaluator Methods
  • evaluate(board: Board) -> int: Evaluates the given board state. override this method in subclasses to implement custom evaluation functions.

  • set_py_evaluator(Evaluator) -> None: Sets a Python evaluator class for evaluation

PieceEvaluator (extends Evaluator)

Simple evaluator that uses piece difference for evaluation.

PieceEvaluator Constructor
  • PieceEvaluator(): Creates a new piece-counting evaluator
LegalNumEvaluator (extends Evaluator)

Evaluator that uses number of legal moves for evaluation.

LegalNumEvaluator Constructor
  • LegalNumEvaluator(): Creates a new legal-moves-counting evaluator
MatrixEvaluator (extends Evaluator)

Evaluator that uses a matrix of weights for evaluation. Use 8x8 matrix for evaluation. Scores are calculated as product of matrix weights and board state. (player equals 1, opponent equals -1)

MatrixEvaluator Constructor
  • MatrixEvaluator(matrix: List[List[int]): Creates a new matrix-based evaluator with given weights
WinrateEvaluator Constructor
  • WinrateEvaluator(): Creates a new evaluator that predicts winrate.
WinrateEvaluator Methods
  • evaluate(board: Board) -> int: Evaluates the given board state. override this method in subclasses to implement custom evaluation functions.

  • set_py_evaluator(WinrateEvaluator) -> None: Sets a Python evaluator class for evaluation

AlphaBetaSearch

Alpha-beta pruning based search for finding best moves.

AlphaBetaSearch Constructor
  • AlphaBetaSearch(evaluator: Evaluator, depth: int): Creates a new search instance with given evaluator and search depth
AlphaBetaSearch Methods
  • get_move(board: Board) -> int: Returns best move found within specified depth
  • get_move_with_timeout(board: Board, timeout_ms: int) -> int: Returns best move found with iterative deepening up to timeout in milliseconds
  • get_search_score(board: Board) -> int: Returns search score for current board state
ThunderSearch
ThunderSearch Constructor
  • ThunderSearch(evaluator: WinrateEvaluator, n_playouts: int, epsilon: float): Creates a new search instance with given evaluator, number of playouts, and epsilon value
ThunderSearch Methods
  • get_move(board: Board) -> int: Returns best move found within specified playouts
  • get_move_with_timeout(board: Board, timeout_ms: int) -> int: Returns best move found up to timeout in milliseconds
  • get_search_score(board: Board) -> int: Returns search score for current board state

Arena Classes

Local Arena

The Arena class manages local matches between two AI players.

Arena Constructor
  • Arena(command1: List[str], command2: List[str]): Creates a new arena with commands to run two players
Arena Methods
  • play_n(n: int) -> None: Play n games between the players (n must be even)
  • get_stats() -> Tuple[int, int, int]: Returns (player1_wins, player2_wins, draws)
  • get_pieces() -> Tuple[int, int]: Returns total pieces captured by each player
Network Arena Server

The NetworkArenaServer class manages distributed matches between players connecting over network.

NetworkArenaServer Constructor
  • NetworkArenaServer(games_per_session: int): Creates a new server that runs specified number of games per session
NetworkArenaServer Methods
  • start(address: str, port: int) -> None: Starts the server on specified address and port
Network Arena Client

The NetworkArenaClient class allows AI players to connect to a network arena server.

NetworkArenaClient Constructor
  • NetworkArenaClient(command: List[str]): Creates a new client with command to run the player
NetworkArenaClient Methods
  • connect(address: str, port: int) -> None: Connects to server at specified address and port
  • get_stats() -> Tuple[int, int, int]: Returns (wins, losses, draws)
  • get_pieces() -> Tuple[int, int]: Returns total pieces captured by player and opponent

Development

Requirements

  • Python >=3.8
  • Rust toolchain

Building from Source

git clone https://github.com/neodymium6/rust_reversi.git
cd rust_reversi

# Create and activate virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate

# Install dependencies
make install

# Or for development setup
pip install -r requirements.txt
make dev

Available Commands

  • make help: Show available commands
  • make requirements: Save current dependencies to requirements.txt
  • make install: Install the project dependencies
  • make build: Build the project with maturin (release mode)
  • make dev: Build and install the project in development mode
  • make test: Run tests
  • make run: Run the main.py script
  • make bench: Run benchmarks
  • make bench-save: Run benchmarks and save results
  • make bench-comp: Run benchmarks and compare with previous saved results
  • make bench-repo: Generate a report with benchmark results, and update the README

Testing

The project includes comprehensive test coverage including:

Perft Testing

The Perft (performance test) suite verifies the correctness of the move generator by counting all possible game positions at different depths. This ensures:

  • Legal move generation is working correctly
  • Game state transitions are handled properly
  • All game tree paths are being correctly explored

Two testing modes are implemented:

  1. Standard mode: Counts leaf nodes at each depth
  2. Pass-exclusive mode: Counts leaf nodes. Depth does not decriment by passing turn

These tests compare against known correct node counts for the Reversi game tree, providing confidence in the game engine's core functionality.

Performance

The library uses bitboard representation and efficient algorithms for:

  • Legal move generation
  • Board state updates

Benchmark Results

Benchmark history from 2024-12-15 to 2025-01-24

Summary

Test Current Min (Historical) Max (Historical) Trend
Random 1000Games 17.27ms 17.27ms 23.45ms 📈 Improved
Perft 8 68.03ms 68.03ms 115.85ms 📈 Improved
Arena 1000Games 1.01s 870.07ms 1.63s 📈 Improved

Latest System Information

  • CPU: Apple M1
  • Architecture: arm64
  • Cores: 8
  • Python: 3.9.21

Performance History

Performance History

Operations Per Second History

Operations History

Note: Performance may vary based on system specifications and load.

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

rust_reversi-1.4.2.tar.gz (44.5 kB view details)

Uploaded Source

Built Distributions

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

rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl (742.7 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl (772.5 kB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl (843.4 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl (738.6 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (661.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (642.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (626.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (595.3 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl (743.3 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl (772.8 kB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl (844.0 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl (738.9 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (662.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (643.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (596.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl (740.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_i686.whl (769.3 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_armv7l.whl (839.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl (735.9 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl (660.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (640.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (592.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (571.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl (741.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_i686.whl (770.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_armv7l.whl (841.7 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl (737.2 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (582.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (658.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (641.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (624.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (594.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp313-cp313-macosx_11_0_arm64.whl (521.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_reversi-1.4.2-cp313-cp313-macosx_10_12_x86_64.whl (537.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rust_reversi-1.4.2-cp312-cp312-win_amd64.whl (418.6 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_reversi-1.4.2-cp312-cp312-win32.whl (394.6 kB view details)

Uploaded CPython 3.12Windows x86

rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl (741.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_i686.whl (771.3 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_armv7l.whl (842.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl (737.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (582.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (659.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (641.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (625.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (595.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp312-cp312-macosx_11_0_arm64.whl (521.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_reversi-1.4.2-cp312-cp312-macosx_10_12_x86_64.whl (537.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rust_reversi-1.4.2-cp311-cp311-win_amd64.whl (418.7 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_reversi-1.4.2-cp311-cp311-win32.whl (394.5 kB view details)

Uploaded CPython 3.11Windows x86

rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl (742.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_i686.whl (773.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_armv7l.whl (842.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl (738.5 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (661.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (643.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (625.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (595.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp311-cp311-macosx_11_0_arm64.whl (524.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rust_reversi-1.4.2-cp311-cp311-macosx_10_12_x86_64.whl (542.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rust_reversi-1.4.2-cp310-cp310-win_amd64.whl (418.6 kB view details)

Uploaded CPython 3.10Windows x86-64

rust_reversi-1.4.2-cp310-cp310-win32.whl (394.5 kB view details)

Uploaded CPython 3.10Windows x86

rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_x86_64.whl (742.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_i686.whl (773.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_armv7l.whl (842.2 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_aarch64.whl (738.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (661.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (642.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (625.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (594.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp39-cp39-win_amd64.whl (419.2 kB view details)

Uploaded CPython 3.9Windows x86-64

rust_reversi-1.4.2-cp39-cp39-win32.whl (395.3 kB view details)

Uploaded CPython 3.9Windows x86

rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_x86_64.whl (743.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_i686.whl (773.7 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_armv7l.whl (843.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_aarch64.whl (739.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (663.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (643.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (625.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (595.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rust_reversi-1.4.2-cp38-cp38-win_amd64.whl (419.2 kB view details)

Uploaded CPython 3.8Windows x86-64

rust_reversi-1.4.2-cp38-cp38-win32.whl (395.3 kB view details)

Uploaded CPython 3.8Windows x86

rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_x86_64.whl (743.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_i686.whl (773.5 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ i686

rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_armv7l.whl (842.4 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARMv7l

rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_aarch64.whl (739.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (662.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ s390x

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (643.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (625.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (595.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARMv7l

rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (574.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

File details

Details for the file rust_reversi-1.4.2.tar.gz.

File metadata

  • Download URL: rust_reversi-1.4.2.tar.gz
  • Upload date:
  • Size: 44.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for rust_reversi-1.4.2.tar.gz
Algorithm Hash digest
SHA256 fd7730ffcb6285b22e718db0ff15c646c269f2f4fcb77559b5faa0d29884f687
MD5 cce00516a6942c9cfc448049aaa4a1eb
BLAKE2b-256 8d1f7c27876fdcb3238b108c55b2202e50103f06a657bcfcfc7e8b685b0dd07e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2ceb9f2b2525ba05f6e7c99706c6cef70f5da29e0b2bccb41e9474ebfab07b3
MD5 53e81245f8af4d674ab230db17849140
BLAKE2b-256 e303b58620521e7be20f626074e8f84872b75061798f46aa5b3ad62e784d807f

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0f8c38f8df9540efe6d0082fd791de629b294a05a5ebf6fe242b1cc2b76820e7
MD5 e4d3b3718fcc8ccbab4d42e39cc3d9e4
BLAKE2b-256 ca370c5df8ca0a68f85aa340f9de9e456c03998581668bf800f5d2cc05fdd593

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b61b4930541f3d502c43ae086703d818b24faa32c7f16e880d48bcdf02896b7b
MD5 0c4dd64464a72ed45ee0b0c3daac9d44
BLAKE2b-256 6af760e97a85bb60e2ef461351f262277bbe397895f19fc8d23cbe3413a4b80e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b375ab04faa6fc1ae400a8055e3c49ae77f4e05a9d10c3dd4066281c513b2664
MD5 2f6c626d4984bed745e6427e20aa8d74
BLAKE2b-256 4182c30e0accb7f4524b8c23cf8630f210dc15e26f83654b04f9a61dd2dab762

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a9bcf75d06bd961977543397af59b2c178ce69ed2056fca160b95f14bdf6d0c
MD5 3daa8333158d1a8b3ea231bda38b593c
BLAKE2b-256 94ec3aafbbc1ee438c1034467d055928d53cc67f14f5df90c99c43c51efedf22

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8c86db21e5b724610ac3f711b191f84cd894dc501f4afea04dc5e247e0a9f88e
MD5 c87d637ebb47f5041993b5565d4c0961
BLAKE2b-256 018d4ebfd06eed3a26480410ba1e4f63365df4197d91444a1ab4cd50dc3ef01d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 29e5fe9b6405ece96fb5f6924dedbe9b3f42eb58a1f936d34aeb8f7f59c9de66
MD5 a07bd8fc41d34ce19788257bfde8d5ba
BLAKE2b-256 7c8ca5557db3940a9434b1a2e216ed2755199a3b22ab95fa764077533e584725

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4319f11972bb3e781064a52fea92da7ce9d03a1b0d3fe19e581d9e100da30123
MD5 0f886b6cd2c902900d41d8d5dc78aba8
BLAKE2b-256 f61ccce2ba29aac4881ff3756a25107e06c61f2e6dbcf02cadd1d7d1a1cfe26e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 777a17d67513774f17c4748c80505eda0ae72b61befc47c7ec4c87beb67a936d
MD5 f0d167f4fb95b2092cbd679941e21d11
BLAKE2b-256 0214f3d5fa334c3aff819aec1127aa159b58348f6e9ed32c72ad4052c03d7d86

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e93fd86f9140a2235659acbba8c94709a39a204e963650289a547742cf9928a
MD5 c672ba7c4d4aaacb847b25aa99144643
BLAKE2b-256 d1f425fff9aceaaaea5aac6efe9c4ec4bce8d6b39bf4a9da9a536202cde9a63e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3e9cbce2951820da9a05d502ca0c3e236658d545d2b1fc7132873f33b79fb9e8
MD5 36ef3b505f4f931b9ed298d1246db4cf
BLAKE2b-256 0d42c62437aa1a1f9536072e1d1e7fe6ecc7fddf62de254155f3823ec7f894c0

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0e2342a937604b57aad7ecc28ef2f1a68510bee7b49338662be4ddf544302628
MD5 502054742cad6e555d65ace984f9e2bb
BLAKE2b-256 a9bef6f55867a44cb6aa1efc04f2b1f6c31d5bdb902ee339eccda4e32caeef1e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e81f12d1f56d17da42d57fb49df2d3d74b448d8fcd15cddb04b31668a14ad0c6
MD5 8fc8071be7ae2a97c83a6d01e60c948a
BLAKE2b-256 7379f50a1c054e73cd1d37dd896bb7f99734a38eec01b59388a0f81270ab03d1

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cc0eb9a2b57265903d3e39efc27adc362e6cf8fa36c4bb3bb8ee961f91eab9d7
MD5 bc76eec7440b135fbde2747354019547
BLAKE2b-256 db0909a9b93af81bce4ecd3b9a4eec475591269b845401ff9ea966f549a6fbde

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f55de7f6146f3d2811d1883301e8a236bf68c36f131ae088ff593b58e47f158f
MD5 9458cb52a41f7e5ab4cadafd8214b265
BLAKE2b-256 ef69ee15036608ef2e2d8f6e2f91ef45ff237ea27cf529d91d0c90174b17d882

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 915abd2d4b61b1b865d0865a68a22c360837de5927598c4e455550e0c1c71075
MD5 ffa721f04a5c66df7d8d02102842401a
BLAKE2b-256 3fbf40a6446efb893a0209b7645239824252fd6f65b61616fc653276ce392dff

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4f3a47bb3f914dcb2047b4252318b253e408285ddc19dc26d4c7b51acb3cc07a
MD5 36245e62ead94dd048f48c2fb7454382
BLAKE2b-256 0e15def1f802ba5db00dbe214a8c3d2f7c733f8919f163377825b2e341e9f22a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d90adf25f7132caf35eda729465fe7dd4184e02455d3c7162ccf51d2f5c76af0
MD5 5190b5a9eda8c098e9069d372313cfcb
BLAKE2b-256 562b06056a4c30ddeb5431b6236f24bb3cf5f31a446e4d68aa3ffbb96465cede

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d28819aed40c641a8eb4c98368055aecb8d01da1ae5a7dbf3b58913f221e9c4f
MD5 eb9739a33dd63ce9a46f36efd464c8de
BLAKE2b-256 efdffc87be4934a2d2a202035ff95045b9459d3bcdc70b0b004cfbe4060b3c6a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3a4aec3f03e4ba163081f61329f37dd47a9193f9b97ed187e8097c701f750997
MD5 d1f00991b889e09f628c9d26bb7a5d3e
BLAKE2b-256 7e5fda2a46108d9bc60c332310b4c42cb626c8fa40e990416cb38561bcfa39e6

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1c2c0584414330290792fecd074e3fcfaf10ebe3a78cd821461c2947dd85f409
MD5 4ce655648968b70e528c106e7d969bc5
BLAKE2b-256 8465e0cbd5a472b40fff67904de9694a848f2d1093cb10765a1ba8e40b23cb6f

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 46c90513d0deec3ccbe48435ce83d84cd697d9dcc91912d708744bfdd0e1a485
MD5 e3f0ca28958f7492818dddb724dda24f
BLAKE2b-256 eed7198b929e11c69166761401ede28114fd9651823cd692aabc35dec4884d52

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d240ed4dbaac7476270b1689602765ad77ca9f826191eee9490aa6b38652df72
MD5 32268e2000e4591863ce0f50a066ba7f
BLAKE2b-256 f39876e7e4f81d74ea036d8a96d83827f00e9cc73bd23c015954cf0531c9b4b6

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7d8f2cff3c887d24f8b374f39c1caaf285c22a3010a5c16497bc32b20487907e
MD5 1973e94d3a76e4cd57c694a8e8f7e4a1
BLAKE2b-256 5043236a5177336b4080c770417d93e44e26eb56cb7f0b88d3eb7ae768035ca4

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2469462f2f6f1a9f555242ad767a53d0bd828bfa47bf3dfe6d3df565d8dece84
MD5 9bba75c939d6a91811feb398a37b4b2d
BLAKE2b-256 d03689392cad1362b82cfa915ae8beaa973bd3eecafd01739dda5beee93289dd

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3c67a65270a49f68de3082c728a1be148e71b2d8508da574fc2835065109a71f
MD5 be864187314d775493d92b245e414fa4
BLAKE2b-256 c598ecba0d2e2e2dc8f2c28dc0bfb1e50adcaa9aa0f089037141f0c5458a407b

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6f47226b9154b92a33e2fce79c4531bc07d25e68fad508379c8d0020c9daf81
MD5 82c1dcb39897d0ea66cea5db9a77a6d3
BLAKE2b-256 575770a62a83feed723ae8085809958e4dfe4664e74bdc93f1f716474acd081a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 29deecae97f25aac349d9fbcb9a1af15cd9af6e02e838abe928bbe1ff7d0b201
MD5 79519b083a640ae8480b09069ad6f38e
BLAKE2b-256 1733850af414875d03ad816da58a1762d9532729667cdc3af245e5efe07075c7

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cf6efa76fd5969d536912a603497a6bf2b1fcfb732fca30de99f4bad4ffa82e1
MD5 5aeb29c3f242ba15166b59917f3fcdf8
BLAKE2b-256 8758a9b0229841685339768d68889d0540e1b0fb2788d010f544d14d4408b084

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7bad78d092825549a32f16146b1ce9ef75c7b33627b17c545234ef26a4c31a72
MD5 526048f59772b79f7e0fa8fea3809355
BLAKE2b-256 b6ddb5591c3c0f0e72ddd7eaf1d9cbe700e4a3f2c9b61e39c5fa949b5aa1a851

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbc51c9ae21d334dc9488caf3beec10766516b1f25022fcdd52c06a29f5b9d38
MD5 d49e295516198678010778cf2e9fb45e
BLAKE2b-256 c897170ac2f6592d37ef8188bf17c3fdd45c92608ab630bac6d693b11bb254ef

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1510549c5b5e7be1580b053bfdff6d15f7224f6e8431b4677a88b66426f7789a
MD5 9f8820bb45d4148667b32a0f5c9f4c69
BLAKE2b-256 a89f2cff41a0f739f3d1995694bed4e78e8342e6befa2169296b543ed19cfbb6

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c2e5b5bfdb70468aa73c437ee47c151b1b1b7689cb0c82f0a46f9f539107343d
MD5 54fa9344a62ce84d77d4287855040e06
BLAKE2b-256 5ea4c1585a3decebbe5b727fd0eb984c5f280980c0809edd71125d3e3439fb04

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8af2beff72a4b64d1ac3b0c781799e1ac329c5a1f49af37f2cebceb4de887397
MD5 4b3b0a00c2cc8dba61bb357e72e69935
BLAKE2b-256 dbce4524f2d41c9f50b3d060c02542575f26fff99e7048d6c97632f223ae3ebc

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 16b046bf8ae556174699f90b62568ba1dcc4b1e782762eb90841acb8c05ba8d6
MD5 28ea7f4970ccc7d54c8eda382efaba50
BLAKE2b-256 59f65b97bbeeb2e0add5e2468fd180371612494a86887bccd015f956da37c8ea

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dffc0d5a55dc1660db8d521d02cfb54996c671e0be1d65825bb8dd89ad806ce6
MD5 a8331d94c25c0b7745002c500c78138e
BLAKE2b-256 20412ca01db8a95a349ba04865048314e3e0ec6518a8d86d3dcc6e133f17c148

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33b47a2b0d862f50483824af672c3b3070d09c5dfab8348bc2fd5d3e19ad47ee
MD5 2dc613a20a8f183b5875e0d7224118fa
BLAKE2b-256 6749d4721f3de7e7cc5d93191f8fd64f6e9e3cea90d08f6df678d5ba6a4a6e66

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e4e70745afb5b6312f7e092c6b3cac1ba6868451178a86ba4a45bd1fdb4bf326
MD5 f8764579d681942b34199492a519ff3c
BLAKE2b-256 1bd24cab6d63be37677e1f15ac679cd102366c59433bc04d43ee12427da0232d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 83cfd3f3f6bbd0c0b58ecfd560df0ab49075402a7a0f1a07fc779a050b5a4655
MD5 7710e505b1de931e52023556ade73d57
BLAKE2b-256 30b5d3f76cb4e7cc576ee414e8bc84e693f44bf7f101738f0875f50c3cb236c9

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e2e10ef04c99680874c723b8a05dffa780b2a2ad0aa07618d0c847631dd0f073
MD5 d7b0029d91eac4ba0490b50ff8e966e4
BLAKE2b-256 3ad3e6f67c97f9edc5327ae11536c9f733f5a1e9158641fc7cb3cc71ad4beb5a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2056a89610988a555cf7441ca662e101617a15529159c8fa9869d02f9b460ad9
MD5 c7ff8090347e22a2962e02931efb81ee
BLAKE2b-256 1e4391252e1b6d19906cfc5dd1d678d7bf6a3d1d269ab93662b6a2c78bc6ceaf

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 801836432437bbd527e4fed7d06ed41c967a2eb23bd3b04b2d17785899a7151c
MD5 0f541e50626d49a49a77033aa770cbed
BLAKE2b-256 b0f07bddae3579a6c5e8cd97a9c526c57e27e9572ab628c56badf8e255d7c1de

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4b102e197908a05d42bdd5e25d9d3d3829e308fab8db51f58caec0b6e9b7d908
MD5 1ca1e464efd34c5be7bdf78174b6ab3f
BLAKE2b-256 68051617abee8ae1ce65192e7aeb76bcb803288f68d39176e6df1b738740d6d2

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e6b407a586d4b9243e1f0bfdd79c2971b3d9a21911c25b1345e67af0ec16fcef
MD5 7e8d70e39a81f00acccb0be1b11e3ccd
BLAKE2b-256 228d24e2b516f4beef5e72ab1283119bdce4a93151837f40dd08215c76ce8349

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8e2906459472f20d86be9614e9538791c5a50eb1362679ab3e30123057cac8b
MD5 6115af52c1379fb72e07395cf706adca
BLAKE2b-256 dfb4ae8fa0eda9992b6c012707814c5b909f00684d56e9e5e3fa8df805926381

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 322527e02a81058847f80c0bdfaee94b6c10bdc36188f9378ab2678cfcc9edbe
MD5 8a87a972a3bae99c073fc1563767fc0b
BLAKE2b-256 01cc0d1c4a6b091e7321f761804e16e3fb8f677dd31513ecbc0f0d99fcc12fdc

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f9ee8825ae43a88c8c93e8169055b0a44e4a1993cd09c282e35790aac0dce739
MD5 a25eef21884ada7e4bbd0ac8fbb70312
BLAKE2b-256 d403bd477a6ebade14ad7a71ea4b7d8697a2cb54784e2be0fa952917618c7b49

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 021bdcd146f7cc41544cfb9354475d7779ce8500ce2fe08cef04439752c79765
MD5 9531920b4088190a98bf31c9be19971b
BLAKE2b-256 7f39dbf141774270c0fd47d0847325b5d6f9fbf0cf8c83874ed45465dd4f5256

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5c8d3af87497d0244cdc1abc3d0f2878e292e2638d81adc179e582b77b045184
MD5 a23402b24ddf8965352cbd86d9d099bd
BLAKE2b-256 a6cb36b6ccfeb61ebcfe0264840df3cee3787820f629c021651aad6186f0492e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 725305973e61477b778af248a951c4a2eeeb4c43beca2c8a0cbd43023f9461ee
MD5 e516db973cc0d4a0a644dbc1ceadbdf7
BLAKE2b-256 f81d4f4dcc4bbac2cd81900177d92157f68a4d23cb8936b97bcd1cbf20baf03f

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6997268e5fcb4bc182db4e983aa79804b8e1358a32b4b5b7295bdb32149ad704
MD5 4f48e634bb64a17087f40749435712d9
BLAKE2b-256 5ae1e8c56e4e25d71ab48746324bb28c6eb3c4d79429ef0b3c822d48ceccc92b

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b97c7c843b6c142ffca0b26e6c530d81fd9c7a332bc9cb789317301d09f871f8
MD5 fbc70c5e34120d061d630095667baefe
BLAKE2b-256 6c0e48fb2d147abe6b85b26968ae34aba68a2a0e45cc2b3af576e9056cae45f5

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0cd25726faa3b65cc155a4d8ba7816510cbf38e2457a20507440bdbb17ff7139
MD5 f84a4ee86ea2e02733e7f0fc8d7183b8
BLAKE2b-256 e3e92d9f815a8b25134773123a306cd4d5fa3585f30028ca02736a3a911e7fe2

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 10ae041827f83242e188197b22cb77ccd16ba0414bdf65a450fb2981925d1434
MD5 4de9de1644ee6d8379e680c6c413c435
BLAKE2b-256 acc137aac570aa8ea5e50dc4f659350d15092f25c057a9796c9dc775768d0601

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fad6cc4576d582f47f7e756ad2385033b1b7a134f59c706017c148f095445e9
MD5 a27d6d26d036bc44d67bf6e2b2ecd19e
BLAKE2b-256 967d75634c5023758bcd2f740e1e2282e78869e0fbb4acdd608de33e7be68e64

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 93b5bcd07739ec771edbca72b8ddb367816b64d1a1f07c9db7c6f947f5209287
MD5 b57a709b3486afb3fcb0802c93b8220a
BLAKE2b-256 7c66e7ecfc2e513bb27bcaaf9622a6c3cfcd8278bf959ecacd43fa7954f695c2

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 694c1e28b91c7d910ac2dc5bc2262bce2013dac7983ef3f200c6a2207b4c04c1
MD5 bf81651dbc386391f3a831121503aed6
BLAKE2b-256 8db84a8e38785289d9a18affe866609531520748937fd70ba22e38ebb6f0ddda

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 81570d3628149abf26f8838c45cf8c6ddb20aab06aee73ed44972749b2fc74bb
MD5 e267ebc3c9f42de63b23c222705183e4
BLAKE2b-256 c1c256ab45f88a13e29800cd8d5949513cd532f4cc8677e2c2f143868cb3bec5

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68237bfa361b47eceff0496f868eb8a22cf2f4d4a8195a06cef237dedd26c964
MD5 eb3af373cb8fd69996628aa5e2425f00
BLAKE2b-256 01cc962ac4bfcbab10c13b78a299bdd6412b4e6ab221970b77e771be94e7720d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9d7b267a9c7291d7caf9834f40651c70d36311c66323c5c42ae1aa41bcd13b20
MD5 9fb5752fda6545bf2beb72f3031b5e1b
BLAKE2b-256 05a3d12e8986c3405aaaaf5b39dda312509482c31dd6ca8283f4843dbde8c3eb

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e5c558572f2bd09089dd2e3f8dce497ce4848db8f386ecc437b90ff1418cd6ed
MD5 ea564d26526c418f4081657c33f2eb4c
BLAKE2b-256 6d0e03eb373d73e88c84ec2740046dabac4035ca84296738432467ff38219643

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 351d6e21252bbf2d19cb4fd56c05247fb52a56a744ba70f446bc7b7293bb8940
MD5 25ec18120f11e53b466c2692a3b1193c
BLAKE2b-256 5f68218f099e688828d46c200bbd323fb64513f1e5ca15cb4fd77e6613a0e034

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 14f8a302ddafcaa81f838a6f31f459ded0f86647672bb0baad6e6fcdcbedd92e
MD5 e5a151a94f19bedf0fb1acc3602564e8
BLAKE2b-256 b1ae55054cd91e194f24ccf0b5e3e001f86a6bd96540b21f757cd378f42214cb

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a2066a38c0ca1a88dd41cfb38ca058fcf670d7c85964916efaaea692d308414
MD5 88bc560bf57d407cb14bb412fe90c4c3
BLAKE2b-256 953fa2d7e286a574e2dcc14a347f76b1c12dc5bc3e96400ad0503eca79875303

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 442117d4c9c25979f7d862daee17e20cf6c2773366108d1da50aa1c8245d6c82
MD5 a6743ee6ec1fed80735fadffc9219bf2
BLAKE2b-256 56c17f95f19f92b6f992de0b509428d757db7da05bc662460cfa4f1e1259ad79

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc3ebaf391ffd2a54b87b9a2789f445764563ee7c41e822a3f241a06c4e9195f
MD5 ec5e467697be377fd581803a51549cbb
BLAKE2b-256 5ca42d17d583c36e29cf2e8cf58c1f6f4917fddbcb55aa47836e64724cf2a55a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 98b0ab73ad01ba6e8d7c4d36c328f41344a1d2f434ab3eb8f86895391ab9015f
MD5 c41722a32a1c6e70a94b833a27e4f8f2
BLAKE2b-256 e06b622c7e1e54cc8e3db7d18a16442a191882cc87dc6e4aedc25118aa4f2a00

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 291e44c521ba38037de833bc596aa185dd68614bab346a6c827f462466b2e6cd
MD5 c50e788eda886436c59412169dbf9f41
BLAKE2b-256 fc722b941e1a88270f588d8047240c2fae59029e42397ab38b171d5937733b96

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 802cf3459b21af3cbef9600f1ece22a5fa91ee75cf80823d4311e03d8032e472
MD5 b189e8febbe7d0c1c5fe722d8b164fdf
BLAKE2b-256 dc47e6f654d0b2d9e2c49884f22c12fe92f6faa1028d3c6f06021e550a42d776

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bf334179774479075d60acccae74128e16b806b4418844653d1e6b0002fe7a93
MD5 8c4bfaffb4deacf9087ed4eaa7417e4c
BLAKE2b-256 8085d7fdbe90dd9bc2f91f449df78e19c183f56a9c787db0c7b4b0ad6870b473

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6b02b63ed78627a67ccf48de34e4287b9e15e018afc1f27bbf58442e4760ec94
MD5 f719b3dadebc3a3347065a48afc29ab3
BLAKE2b-256 cbcd769d733c78f81c5fb5603785830d3e786a159e630a813d7812696cf69a94

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a28718315c79573ac1ec26df388091184f612945d7064e2328ed45c1c9e3b832
MD5 9ee2899e02c61c423775e0a9ae53f247
BLAKE2b-256 5c4fb4519eeff861500efd9210c4fd9dd76c5e757d17b6362287077acf293f4e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e08da7987a569100777b9ddbf5154e4c2843df640d37d21800e80680d84b6d9f
MD5 740e2e86be546e2ca1ca8157c7c1b22d
BLAKE2b-256 05c3895fb1794e6d62056d1434efec4ce16a7b37924f83e62f7dd1b501f5798f

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b94c69f9a36771b61826be2d9089ec282188d9dd0c56eec47d1f592f480f6ef4
MD5 f318ec9a13138a407748778f58a004ce
BLAKE2b-256 8350498f2c54e978a36ea5ea8b90dc61ccc3721024d1805d2c134f2ac2e8a413

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ff1684741029973508e0fb4a8a80085bdb809a4b0d2250b20bce05fee29d13c9
MD5 9b44f5dae1d15026194c3119a85afbf4
BLAKE2b-256 2ea00fdc16139cdf45dee433235bc7ef2000b4978ed979408515ebe772f07c5c

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8034a75b793302dcfab303ae189eb4ef584bcb1a876ebe0cd1342c28f09f5c41
MD5 bbdf9d53baaf1c5a44afff91f74fda75
BLAKE2b-256 32ca92c6b040137bbad3244e10abe93fa9cad96fa621c444efb3f69caa2ca8fa

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7ece3e2cec5e3a5e7b7667fa5bf60d2c9fb938e4b9bc92a77302f8c1336fcd09
MD5 95699aadc499ecc3309db9c7dc3797b5
BLAKE2b-256 eef467162affaf57734641e5f0bad0aa51229ff1272d910c6c100faf6fb8401d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 87d658c9d40269466e1c502bd089a8c18f4ab307a79e697ad306a8f1002938a7
MD5 ec510f9cbadcdfe5197088cff2a519ba
BLAKE2b-256 2c4b25376e18c0871ec8ebaa3df0dbc8025167646d95df0e87cdff8e530ca4a4

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6feff84d9957ae99cb5302151e57662ab5699837f57867feb4d8b930d13d7533
MD5 afdb5ba3ede60b3cd79811149cdb2c8d
BLAKE2b-256 b5c5d21e00a1de6ffcaf551f195b8f061b72f500d4155091432a1f4ea875b8ef

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: rust_reversi-1.4.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 395.3 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 13ffd81423b95ee86255d73aa43911fb535def0afc9ebdfe4ca302783815bd50
MD5 a6e2aa268aaac86624e3aa2828fd72b3
BLAKE2b-256 ea9256fcbf3e3313c1c09fb6f1ea7d6fbf59bc0cf0fe2b3780b6885a07b8b4ab

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8b584135875aba633b1114dfd4d66771097a5960f7e87523495b93ac43b8c387
MD5 5b79705a41159f85494eb848eecfcc50
BLAKE2b-256 3d77378d4face6e671e2435df8963984bcb62ab8e515554e86a9d0bab5c26097

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c5e200ec43b0e3703db266d3451a3c2f045c1d0b8bb633c614c578608b8f9643
MD5 f96b50b7d603dcc3dc4844733f1fef98
BLAKE2b-256 3dc386cf7fd79021030b5b66e5c14337aed1fa90a2beac14be90685d4397293c

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4fb91a3cd18766eea6edea5b683c8d56b66574350e9f4a893c62ab3542cda9dd
MD5 1ae2ed2c38f5248f2234fdc29e8f69cb
BLAKE2b-256 cd4a8589d407f38097e61c2241e217b7ff3493fffe2ba886cf764baf3d036a2b

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b83055edcd90a11839601836bbf86206804bcc300fe578477548ab85813df43a
MD5 ca3315597d872a98c188f4a90d9e08a9
BLAKE2b-256 73eaced36af75f36f2cc334c8d583b1cb4b3f2c8f56d4f25ee59109f9a242a9a

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 464de48efbad5575519f37182b5362e47698ee10fba52a96082efa5de8977eef
MD5 84ba0e7968357fde68c23cbd7b247b33
BLAKE2b-256 42f60f99245444cd02c2baf0736db0877df2fd0fd16d7c52efadb49a7c67903e

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 23c2bd46d118edf5eab446d687ef93a66ba7ee08c6b1a80a5cd0c8e7428523bb
MD5 8eb4f4c3a769a7647cd04e7aea784891
BLAKE2b-256 fe14f7568c58a32c80adbbdc36dc5530aaf826e353857a273990d4ef1984531c

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bb96601762a988a75a9d1131d2379814244ac48911e316bd5257e70210d60255
MD5 5f690b54c602d249ab3b34de2c4b7a88
BLAKE2b-256 46c2573e22c45674db85e7b3f95a55ba604245cc7fe4bdf9e3ef16e1c9fceb11

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 72160118e5fdc07b08481b686b5f1289068f7c56c7e4777014042b4cdbdcae90
MD5 33ea439ddaf5eec04b88a9b7c92847fa
BLAKE2b-256 0c4385a009d1efd4b2f210ec610b2500cf1978b886b4e1986e35331033515d7d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4d786b6f4d4f1809dfa51e23d6c27f5d240331f098f1dbdfab0bd9508fcc5f51
MD5 1321ab25875617725f9e4731a9becaa9
BLAKE2b-256 f5fd016705626adb294056908c9d6881e947dff8c163fffdf63802b4d92c3079

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0fb24b2f187031304c30a367b71acbcb9a18f1c451274fa0973f1175ded3356c
MD5 7b119676684503804934e0d025de32dd
BLAKE2b-256 e05c4d98b2b825f809ceb991085fd69cc2f51a4aa0a78856b8bb5c78d47a546d

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 559bcb84725a27500e6486221f184054b1aa15e2994f7a71669073e82d7a468f
MD5 bdbffe60a6b28ad804d868fd9df6f9b9
BLAKE2b-256 14bc4330e6c10965f1f76435ca1586d46d247f9e4f9c837ff5fa1cfa25fa8737

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: rust_reversi-1.4.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 395.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 3fe8984f09c0bd122ad281122ae11f071c6f2d85c7f7790d049d04739c1a2738
MD5 7a32a907a4a5d7ece93b2028efc6b2e2
BLAKE2b-256 7456a45a87b2f57c14dcab8eccaca12932adf426a1c9d86e9a5fecc9e6198eaf

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4820c1d0402484af7b940528d2c4da61575e114f592a011cefb3bb661c77316
MD5 d21d25f459d6e2fdb2680e8f9cd21890
BLAKE2b-256 1dd0786823c3ab99c8ce392186421bbb12645d5e4649d8b6a2b9a564358d0360

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3536f77a8a102627acf3c51dff16669643647acce617520c00d0cb539d003c03
MD5 e3cdd3f6303c39a17c3bbe6cd4efc636
BLAKE2b-256 c47c9b4d05468d4fe1343d2028ac9a1106702056d93426eceb5891c14b204ed5

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1fe51f2ca2b8953a01b74475815c857f375ff81ab35ce3c6d5cdbb5abc096381
MD5 852c35a184d978404f4ce8a85a03f523
BLAKE2b-256 a4066349f294daae23ecce67bcf381fc8b7b4e648baf48991423e1b873ff1ac3

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c0f92a0df30d3d00cb56681c1b592bf995de7c86405421bddec6006ad9fe1835
MD5 71b9fe97046a087e7bcff3cd9b35a621
BLAKE2b-256 204201c6d3dd92ed93de914ccc64c66fa465277bef51144333018d1bb3d878f6

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2977a170f66a4980b7637abe26fa89cfee6b9cddf0400d61f0bcfcbe40e75d1
MD5 1b4d6a4edab76046c7cf5d9a201dd9a9
BLAKE2b-256 cda4dcdf85922222c6877617e3d5573067f92d65db3ef66679be685958bf9ba4

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 295537b8e43b04ca46f254bc0229ba64a41c75a721a6d044ab299e826c20dfec
MD5 6e6ea2b19ceefdabfd2d51e08dda1e7b
BLAKE2b-256 9d501dc6d4e3b69b04bc0de91a8f91abfb3f6e6b8d47eed04e13e6215da78f30

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4d81f993fb0cf696807058b29d6b4eb60da37b062f8fbc4218af2cd759faffa9
MD5 69c8293c25bc684f900033e932e47fef
BLAKE2b-256 d1e39e066186925510eb0c21026503c288195195eaaa55bacf65984275360578

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 190c54b37be1e20e73ed634cc725a38c6c6a771727b95613b3fd79b64164f815
MD5 9ad696f3beff241e2f62f44012495031
BLAKE2b-256 9f2a41a1971771d8f02333ce6bbaf415140aee7df46df8df1ee36d9deddc3642

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 71614ca3528a972bca8dd1b63d93a79ca399b5478dc717a478149946b9492ff0
MD5 5b9ae1e782058713ad94e7e1d533778a
BLAKE2b-256 0107872e655f13626c53e79f6b3d6d58e6cdab9c68f2b54c0369434b5089ca51

See more details on using hashes here.

File details

Details for the file rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_reversi-1.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2da756fa792b75188bdbeb9a8473e6549da28fc3d523f59e84157b0c3ad6a8a5
MD5 12350c79571ca95950fb224c26f3f34c
BLAKE2b-256 b9902fd7351f6f42c470598096839681fa3d675a879c22046fb5a402a9bed993

See more details on using hashes here.

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