Skip to main content

A High-Performance Research Environment for Riichi Mahjong

Project description


Accelerating Reproducible Mahjong Research

CI Open In Colab Kaggle PyPI - Version License


[!NOTE] This project is currently under active development. The API and specifications are subject to change before the stable release.

✨ Features

  • High Performance: Core logic implemented in Rust for lightning-fast state transitions and rollouts.
  • Gym-style API: Intuitive interface designed specifically for reinforcement learning.
  • Mortal Compatibility: Seamlessly interface with the Mortal Bot using the standard MJAI protocol.
  • Rule Flexibility: Support for diverse rule sets, including no-red-dragon variants and three-player mahjong.
  • Game Visualization: Integrated replay viewer for Jupyter Notebooks.

📦 Installation

uv add riichienv
# Or
pip install riichienv

Currently, building from source requires the Rust toolchain.

uv sync --dev
uv run maturin develop --release

🚀 Usage

Gym-style API

from riichienv import RiichiEnv
from riichienv.agents import RandomAgent

agent = RandomAgent()
env = RiichiEnv()
obs_dict = env.reset()
while not env.done():
    actions = {player_id: agent.act(obs)
               for player_id, obs in obs_dict.items()}
    obs_dict = env.step(actions)

scores, points, ranks = env.scores(), env.points(), env.ranks()
print(scores, points, ranks)

env.reset() initializes the game state and returns the initial observations. The returned obs_dict maps each active player ID to their respective Observation object.

>>> from riichienv import RiichiEnv
>>> env = RiichiEnv()
>>> obs_dict = env.reset()
>>> obs_dict
{0: <riichienv._riichienv.Observation object at 0x7fae7e52b6e0>}

Use env.done() to check if the game has concluded.

>>> env.done()
False

By default, the environment runs a single round (kyoku). For game rules supporting sudden death or standard match formats like East-only or Half-round, the environment continues until the game-end conditions are met.

Observation

The Observation object provides all relevant information to a player, including the current game state and available legal actions.

obs.new_events() -> list[str] returns a list of new events since the last step, encoded as JSON strings in the MJAI protocol. The full history of events is accessible via obs.events.

>>> obs = obs_dict[0]
>>> obs.new_events()
['{"id":0,"type":"start_game"}', '{"bakaze":"E","dora_marker":"S", ...}', '{"actor":0,"pai":"6p","type":"tsumo"}']

obs.legal_actions() -> list[Action] provides the list of all valid moves the player can make.

>>> obs.legal_actions()
[Action(action_type=Discard, tile=Some(1), ...), ...]

If your agent communicates via the MJAI protocol, you can easily map an MJAI response to a valid Action object using obs.select_action_from_mjai().

>>> obs.select_action_from_mjai({"type":"dahai","pai":"1m","tsumogiri":False,"actor":0})
Action(action_type=Discard, tile=Some(1), consume_tiles=[])

Compatibility with Mortal

RiichiEnv is fully compatible with the Mortal MJAI bot processing flow. I have confirmed that MortalAgent can execute matches without errors in over 1,000,000+ hanchan games on RiichiEnv.

from riichienv import RiichiEnv, Action
from model import load_model

class MortalAgent:
    def __init__(self, player_id: int):
        self.player_id = player_id
        # Initialize your libriichi.mjai.Bot or equivalent
        self.model = load_model(player_id, "./mortal_v4.pth")

    def act(self, obs) -> Action:
        resp = None
        for event in obs.new_events():
            resp = self.model.react(event)

        action = obs.select_action_from_mjai(resp)
        assert action is not None, "Mortal must return a legal action"
        return action

env = RiichiEnv(game_mode="4p-red-half")
agents = {pid: MortalAgent(pid) for pid in range(4)}
obs_dict = env.reset()
while not env.done():
    actions = {pid: agents[pid].act(obs) for pid, obs in obs_dict.items()}
    obs_dict = env.step(actions)

print(env.scores(), env.points(), env.ranks())

Game Rules and Modes

RiichiEnv separates high-level game flow configuration (Mode) from detailed game mechanics (Rules).

  • Game Mode (game_mode): Configuration for game length (e.g., East-only, Hanchan), player count, and termination conditions (e.g., Tobi/bust, sudden death).
  • Game Rules (rule): Configuration for specific game mechanics (e.g., handling of Chankan (Robbing the Kan) for Kokushi Musou, Kuitan availability, etc.).

1. Game Mode Presets (game_mode)

You can select a standard game mode using the game_mode argument in the constructor. This configures the basic flow of the game.

game_mode Players Mode Mechanics
4p-red-single 4 Single Round No sudden death
4p-red-east 4 East-only (東風; Tonpuu) Standard (Tenhou rule)
4p-red-half 4 Hanchan (半荘) Standard (Tenhou rule)
3p-red-east 3 East-only (Tonpuu) 🚧 In progress
# Initialize a standard 4-player Hanchan game
env = RiichiEnv(game_mode="4p-red-half")

[!NOTE] We are also planning to implement "No-Red" rules (game modes without red 5 tiles), which are often adopted in professional leagues (e.g., M-League's team definitions or other competitive settings).

2. Customizing Game Rules (GameRule)

For detailed rule customization, you can pass a GameRule object to the RiichiEnv constructor. RiichiEnv provides presets for popular platforms (Tenhou, MJSoul) and allows granular configuration.

from riichienv import RiichiEnv, GameRule

# Example 1: Use MJSoul rules (allows Ron on Ankan for Kokushi Musou)
rule_mjsoul = GameRule.default_mjsoul()
env = RiichiEnv(game_mode="4p-red-half", rule=rule_mjsoul)

# Example 2: Fully custom rules based on Tenhou preset
rule_custom = GameRule.default_tenhou()
rule_custom.allows_ron_on_ankan_for_kokushi_musou = True  # Enable Kokushi Chankan
rule_custom.length_of_game_in_rounds = 8  # Force 8 rounds? (Note: Length is mainly controlled by game_mode logic usually)

env = RiichiEnv(game_mode="4p-red-half", rule=rule_custom)

Detailed mechanic flags (like allows_ron_on_ankan_for_kokushi_musou) are defined in the GameRule struct. See RULES.md for a full list of configurable options.

Tile Conversion & Hand Parsing

Standardize between various tile formats (136-tile, MPSZ, MJAI) and easily parse hand strings.

>>> import riichienv.convert as cvt
>>> cvt.mpsz_to_tid("1z")
108

>>> from riichienv import parse_hand
>>> parse_hand("123m406m789m777z")
([0, 4, 8, 12, 16, 20, 24, 28, 32, 132, 133, 134], [])

See DATA_REPRESENTATION.md for more details.

Agari Calculation

>>> from riichienv import AgariCalculator
>>> import riichienv.convert as cvt

>>> ac = AgariCalculator.hand_from_text("111m33p12s111666z")
>>> ac.is_tenpai()
True
>>> ac.calc(cvt.mpsz_to_tid("3s"))
Agari(agari=True, yakuman=False, ron_agari=12000, tsumo_agari_oya=0, tsumo_agari_ko=0, yaku=[8, 11, 10, 22], han=5, fu=60)

🛠 Development

For more architectural details and contribution guidelines, see CONTRIBUTING.md and DEVELOPMENT_GUIDE.md.

Check our Milestones for the future roadmap and development plans.

📄 License

Apache License 2.0

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

riichienv-0.1.3.tar.gz (147.8 kB view details)

Uploaded Source

Built Distributions

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

riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (855.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (852.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl (912.4 kB view details)

Uploaded PyPymanylinux: glibc 2.5+ i686

riichienv-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (841.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp314-cp314-win_amd64.whl (674.4 kB view details)

Uploaded CPython 3.14Windows x86-64

riichienv-0.1.3-cp314-cp314-win32.whl (633.6 kB view details)

Uploaded CPython 3.14Windows x86

riichienv-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (848.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

riichienv-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (842.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl (902.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.5+ i686

riichienv-0.1.3-cp314-cp314-macosx_11_0_arm64.whl (785.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

riichienv-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (840.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp313-cp313-win_amd64.whl (687.8 kB view details)

Uploaded CPython 3.13Windows x86-64

riichienv-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (862.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

riichienv-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (850.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl (913.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.5+ i686

riichienv-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (798.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

riichienv-0.1.3-cp312-cp312-win_amd64.whl (687.9 kB view details)

Uploaded CPython 3.12Windows x86-64

riichienv-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (863.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

riichienv-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (851.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (913.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.5+ i686

riichienv-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (798.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

riichienv-0.1.3-cp311-cp311-win_amd64.whl (678.9 kB view details)

Uploaded CPython 3.11Windows x86-64

riichienv-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (853.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

riichienv-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (848.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (910.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.5+ i686

riichienv-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (791.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

riichienv-0.1.3-cp310-cp310-win_amd64.whl (678.5 kB view details)

Uploaded CPython 3.10Windows x86-64

riichienv-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (853.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

riichienv-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (849.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

riichienv-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (909.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ i686

File details

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

File metadata

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

File hashes

Hashes for riichienv-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7827091cc1bf5d4b16fe33cfe2999801f9d2fbe04f8d2f2e662629837c45b4a3
MD5 4e137a51c4d6dc0ba63e9562c310bfb5
BLAKE2b-256 f2bdf6a389d9960d809b96f9f6cb1475b1e8670d78bf8c3b8d5804d52ade026d

See more details on using hashes here.

Provenance

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

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4309ad5f53b8676f2d510eb3942defc4c3c8b4a5644abe090a35949f16f4c732
MD5 9920f5204bd3af31903e77e29005e238
BLAKE2b-256 7bc527d259471e7df0c7c628fd3e0721110e985c3098b0babb362c7e4aeab7f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 64b80d4742c181be9a3c7be2803c25c55e2c89a8ec1cd5cf7dedc04139218d45
MD5 131d6698b5a9f24e09dd5e0be28a0e8b
BLAKE2b-256 a787a940966d446e899893b78de367d6d505d7f23b7ba44b68e8e64b382536df

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 c989c302ac916a5d803b223e7b8e50096913d2a162d526f704e796fe6cd9862b
MD5 d289195be45d89309aa1d475a39122e0
BLAKE2b-256 5cb6d03ea7141825db18283a38ca6957b2e9e072b39dc5af67f5382384c9f465

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2374b3374d7d5fe949c93ef5148f542a74ddb9d4393a2355314874f88faa31dd
MD5 ffccf30d23a22971d8f0fb89f99647ac
BLAKE2b-256 c97e70e0d4e1f8f7b314abc3dbcc9cc2139d0a5b085bc06aa92c417e2c4e3d88

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 674.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 993172618bdab0b5f2dc478ab7c19d25e55bb951ab2b101eb1db4149ce44f7a2
MD5 4d54a14a9ebe654e37c35d839ff69ed8
BLAKE2b-256 b308f54b6e1ade3e5e88970aaf96804ccca1cf47a20a07b4e05d17fabda78dcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-win_amd64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-win32.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp314-cp314-win32.whl
  • Upload date:
  • Size: 633.6 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 ed93200f8e60ffe840d83eb32f5f0b2d5f6fde12efe20767cbe5c6df2864eeb1
MD5 af6cbf813e152709e446162da227755e
BLAKE2b-256 0013918774c87ee4ed32d527f55e5b335153cc8bc8d8da5d5b3c4553d4cb66ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-win32.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2fe1182cdb8c60e1f8438b4e0aef1c01636b42e0581abf8d91042f833897636
MD5 b4f0769d70d3ddfeaf0582afbdf3d257
BLAKE2b-256 e77cdbcdeaeabf11d522435fa8eba1752dba6fa881e0b6b3214fc9e5eb250f4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4293688e080e8c1e2f061a70a4cf26fb5d6d43ea27035d69a2a4c0a7fbc4f57a
MD5 e35adadc7c805e6738c0e5b20a732d43
BLAKE2b-256 34c14ddc39d3d2d107d46d125c4338031baa3cc3d2b571a2af32c9dcf96da651

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 a99d8a616a92112a9e89cd8b47c170475ef4adbf331f73978b376223068c57f3
MD5 2fdcf84afa47f7bf30c25da889cbab22
BLAKE2b-256 49de8dad56dfbc82a49bc9959389307a3f018eff5ef1a1714a70ad3ee355d756

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94b9add0b6c360342a84578609c98e033c35fa21e2359f1652946745b6bcf9ce
MD5 77c011abcceaac42159ae57fff7f5029
BLAKE2b-256 c9c28090d49586fd3714d9ffa6d976cfb69601af95fe37c90cad70dc7ee85d51

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb721a240c8c8173522c0da9bf049859f61e8c538a9046ce0db1e34b825cb161
MD5 2cda78f018ca80401a5c855c8dac3f21
BLAKE2b-256 467e09d9845118d79901ab260610c060bad4b6946766fd18c317341183af485a

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 687.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5c8d9f5c12297eeafbdce943e938c00bc875fdada6daefe83798baf1884769fe
MD5 22a76f6f1e103c69bd20ad826f26ddf6
BLAKE2b-256 3797a110bf3d2c01fb090ba13d1fa7197e36aab103c363992e91beef9e91faff

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313-win_amd64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73d9fa4ba4bf1367b7e5a2599910798b3f748cfdab6e752687b19a0aa13bdd50
MD5 60a8e078a024f453617fb6a73314f2b6
BLAKE2b-256 d54c999b3766e52869cee8327a487d56d75f14c5b0205db2539c762af7ffc45f

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 138723c8af5c7a338a231e5a6913f82817207662e870c821f5caef5f8ff5b66c
MD5 46b1ece6b25a435beb641537a918d7ab
BLAKE2b-256 64958c720981df58136a5055cd93fb4dc3c46518913eb5afd03d594d6cb60d9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 8db35c1bbf2933e66de15adc00f5981a96449e0efcb7f1e91922d422732a8f1a
MD5 8367516cce48ee49f4dfc3994c4d8150
BLAKE2b-256 a92b39f7f91fcbd6548ae1ce4e6c0931cd22276955093c3594c0fa6c088e7e71

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15c018592be20bcf4614d2f428d3d5c50c35cb5aa0cc67680a07070dec42827d
MD5 4d61b2e1ebe85945c778e0e51453521e
BLAKE2b-256 8b72913fdf26cbe4b69abd066e7aab2cf42f862fca66458ebc5267812c79902e

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 687.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 480f8f159dcc72eea4417a49dab56428c3267a2a16d8cd553a83bb9c4a36699d
MD5 9560d9486d790b23a39bb01e16e0aa5c
BLAKE2b-256 5f2917d0b45089cd5ab9ac165c556494dbee3e2f4637602bbc68a8025bbcf317

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98c8f7d3c1d103ae78cd9a1bbe608dd5d70c446c0ecc7c7308353e596c3d869c
MD5 786cad05c4a40cd28d700beece88999b
BLAKE2b-256 7386e6581332137153e9d4f525e62f2c7bf014ffee6a46e985307d2adf391824

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1ce79a513b397b284d547c75f00086562dfdd4a02b4a19883f5266107c4c841e
MD5 eabbc198e33b52e61a28ec0f5b9111a1
BLAKE2b-256 d8dab66a1cd85255b68849dd340e09f440e4a9421d0bb155d0d4fd5b1b19f745

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 7b3c3c815f2849c255106a7a4f4c77ea35d28ab408ac64b42983d91597585253
MD5 9d7903486b4eabf57b5bdc057cc089eb
BLAKE2b-256 f4021b64b3b532d9034d7a0896c612fa0218b6530d6bbd641416e4fe7999897e

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 417218fc8c998f31dcbe1153fb0e846a144c4058407f727b09c4dce3222306d4
MD5 66883c77ca334c4fbecae2646e1c8d04
BLAKE2b-256 f20dffdc5dc71013cf5d8bdf20693ef285c5d744f25a5d4a7d9f904929971a52

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 678.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 292f96043005bc8667c739fd71513e75fa9ef7061aef2f3257ea63293ce5aa7e
MD5 53940600e154c4ac676773665b9b3028
BLAKE2b-256 6fa0c7693f0f654464e6e30ac67aa8b7eeda8d935a595c2d07ffbe433b310d67

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2ce94bf88f447934c47b1a2b270bc70314e51608b2c3ae62bf12066fec38ee6
MD5 bb382188ad12241126bb7ac657ab8093
BLAKE2b-256 21137ddafae7adcbec21c0715c00495be5e7f353273f305aa138f1e6c43e2531

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9cd2f55ebbd033a2569323566d5477485190b8c0792ed09a72ab3f41c3d5383b
MD5 254e955ff3e0de7acfcb49ca9c224554
BLAKE2b-256 5ab2b3d885b0e2224b63f11725dc114fb331ae78deda5a614c47faf80870a462

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 472cc454248efbaaf70d67bbe6dffe052a44de40fc73cba0017ef638d7f5604b
MD5 0a161f482bd0f86ebf6ab7425a88292d
BLAKE2b-256 fe698ff1f6081f27759e0e104b208ad97e2d3fd382f48bdcb125c795507a19f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69101f0b4aac7cbe3d78dd6b78117cf3237105bfe94cc905722e6b0267a2f3eb
MD5 c6086a36326d3caca74d7953f45a71c4
BLAKE2b-256 f8b83350037e624840dc75e0b39e0b45885db0b8ae37916295124e74705efb6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: riichienv-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 678.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for riichienv-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5768d1fadf38292a7499a9e20f84b94415ce326656d2d8552a8c31bd653153d6
MD5 eebe8a20d3fd86468894a5f4ce6b18c1
BLAKE2b-256 2d7a8930ec91c38bbfbf241fe5a85e96be50a29805ea23edf77730ebc1713c8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 878f31da53100df8d7f8e1954c31bffd7761259577ededb18d2175d83270fb03
MD5 87b5322d5048753f572a29f20afd768a
BLAKE2b-256 b118c9a5e1b315935af94820f084cdf3683356cec91e407c67a9ab31a5b043e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0ad539db6cb4676fb88f7a1f208aa11cb8c87b9b37fe8cd331f151b1cc438d34
MD5 8a0f230acb401205e2cf4646e14e3bb0
BLAKE2b-256 cf0b08662f7906552db30504147219521994345f451e383b2cfa7bdca2cfff85

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on smly/RiichiEnv

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

File details

Details for the file riichienv-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for riichienv-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 bb2b8f0477aa7c5fd814d338d0bbc1f63eaf281cb46f91cc1d6ffe48619e15b8
MD5 f536d716e659ac2b1c84945afaf005f7
BLAKE2b-256 6da6bbc4067a8503936ecf569f91a27e8bc0b8c8ae2b4b7e6fa4df13da8d6618

See more details on using hashes here.

Provenance

The following attestation bundles were made for riichienv-0.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on smly/RiichiEnv

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