Kaggle / Kaggle/kaggle-environments

open_spiel/pyspiel messages on import

Open
#984 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
452
Forks
190
Avg merge
31m
Merged PRs (30d)
2

Description

Hi, I’m currently using the Orbit Wars environment, and I noticed some console output when importing `kaggle_environments`.

Locally where `open-spiel` and `pyspiel` are not installed, simply running:

import kaggle_environments

results in the following error message:

Loading environment open_spiel_env failed: No module named 'pyspiel'

On Kaggle where `open-spiel` and `pyspiel` *are* installed, the import instead produces a long list of log messages, for example:

[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: Successfully loaded OpenSpiel environments: 16.
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_backgammon
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_checkers
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_chess
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_connect_four
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_gin_rummy
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_go
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_goofspiel
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_hearts
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_hex
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_matching_pennies_3p
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_othello
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_repeated_game
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_tic_tac_toe
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_universal_poker
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_repeated_poker
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: open_spiel_python_repeated_pokerkit
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: OpenSpiel games skipped: 1.
[kaggle_environments.envs.open_spiel_env.open_spiel_env] INFO: snake

In both cases, `open-spiel` and `pyspiel` are not required for Orbit Wars, so this output is a bit noisy and potentially confusing. Ideally, I wouldn’t see any messages related to `open-spiel` and `pyspiel` when I’m not using those environments.

Would it be possible to adjust the import or initialization mechanism so that only relevant environments are loaded or logged on demand? For example, when working with Orbit Wars, no `open-spiel` and `pyspiel` warnings or info messages would be shown at all.

Contributor guide

Open the contributing guide

Research direction

Start with the kaggle_environments.envs.open_spiel_env.open_spiel_env entry point and trace how environments are imported during `import kaggle_environments`. Check the environment loading or initialization path for eager OpenSpiel discovery. Done means importing the package produces no OpenSpiel or pyspiel output when those environments are unused, while Orbit Wars and OpenSpiel environments remain available when requested.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.