Skip to main content

Crate dealrs

Crate dealrs 

Source
Expand description

A toolkit library for playing and developing card games (like poker and variants thereof), interactive applications, agentic strategies, and theoretical models like GTO solving.

If you just want to play poker, you can use these programs to get started instantly:

If you want to develop your own application of a common game variant, you can use the high level modules to get started:

  • dealrs::texas: a framework for working with the Texas Holdem poker variant, including game state management, agentic strategies, and

In addition (unlike a lot of poker libraries), this crate includes modular lower level utility modules for building other game variants and conducting research:

  • dealrs::deck: basic definitions of the standard deck of cards, and utilities for working with them
  • dealrs::hand: standard hands of poker, and traits for working with them
    • RefHand5: a reference implementation for determining the best 5-card hand from a given set of cards, which is pretty fast and used for verification
  • dealrs::betting: common utilities for betting, chips, and sizing policies. These are generally game-agnostic, and thus can be reused in different contexts.

Even lower level, there are exposed utilities for “pure math” behind the scenes. These modules are generally unstable and subject to change, so use them at your own risk:

  • dealrs::combrs: combinatorial utilities used for LUT generation, indexing, and decoding

Modules§

betting
Betting policies and utilities for poker games, i.e. for chip value definitions, parsing, and sanitization.
combrs
Combinatorial encoding and decoding utilities, such as binomial coefficients and multiset encoding/decoding to flattened index spaces
deck
Defines the standard deck of cards and masks for working with unordered sets of them
hand
Hand detection, evaluation, and ranking for standard 5-cards-or-fewer poker hands. These are sufficient for standard game variants like Texas Holdem, Omaha Holdem, and 5/7-card Stud/Draw.
texas
Game engine for Texas Holdem poker, as well as agentic interfaces for playing the game.

Functions§

rng_from_seed
Construct a random number generator from a seed string, or use a default-initialized one if no seed is provided