Skip to content

Conversation

@visheshrwl
Copy link

Tried to resolve #804

feat: Add Windows pip installation support

Add setup.py with CMake extension building and dependency auto-cloning
Add pyproject.toml for modern Python packaging
Add GitHub Actions CI/CD for automated wheel building
Add WINDOWS_INSTALL.md guide and test_installation.py validator
Transform complex manual Windows setup to simple 'pip install open-spiel'
Fix CMake configuration for proper pyspiel.pyd placement
Update README.md with Windows installation documentation
Enables native Windows pip installation, eliminating 20+ manual setup steps

#1369 @lanctot

visheshrwl and others added 12 commits December 27, 2025 05:47
- Add setup.py with cross-platform CMake extension building
- Add pyproject.toml for modern Python packaging (PEP 517)
- Add GitHub Actions CI for automated Windows wheel building (py3.10-3.13)
- Add WINDOWS_INSTALL.md guide and test_installation.py validator
- Transform complex manual Windows setup to simple 'pip install open-spiel'
- Fix dynamic wheel selection in test_wheel.sh for all Python versions
- Update README.md with Windows installation documentation
- Set python_requires>=3.10 to match upstream

Enables native Windows pip installation, eliminating 20+ manual setup steps
Resolves google-deepmind#804
- Use cmake --build with MSVC on Windows instead of make
- Add Windows compiler flags (/std:c++17 /utf-8 /bigobj)
- Skip C++ compiler check on Windows (CMake handles it)
- Keep Unix build path unchanged (clang++/make)
Upstream skips Python 3.13 testing on macos-15 due to a known issue
in rcfr_pytorch_test.py with NumPy strict type checking in Python 3.13.
Reverting to upstream behavior to keep PR focused on Windows pip support.
Restore upstream behavior where macOS Python 3.13 runner skips full tests
since only Python 3.14 wheel is built. This matches the upstream workaround
for Python 3.13 compatibility issues.
Changed hardcoded manylinux_2_17_x86_64 pattern to wildcard manylinux*
to support both x86_64 and aarch64 (ARM64) wheel architectures.
feat: Add Windows pip installation support
@lanctot lanctot self-requested a review December 27, 2025 10:55
Copy link
Collaborator

@lanctot lanctot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already have a page for Windows instructions; instead of making a separate WINDOWS_INSTALL.md, can you move everything in it to a major section in docs/windows.md?

Copy link
Collaborator

@lanctot lanctot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, going to hold on on any further comments because several substantial changes were made in #1418 and we should merge that first, and then you should update this PR. We'll probably only get to that in early January, so no rush.

@lanctot
Copy link
Collaborator

lanctot commented Jan 2, 2026

Ok #1418 has been merged.

Can you merge changes from master into your branch or rebase from current head? Note: there may be conflicts as they touched some of the same files. Let me know if you're not sure what you should do in any of the circumstances.

@visheshrwl visheshrwl requested a review from lanctot January 3, 2026 13:51
@lanctot
Copy link
Collaborator

lanctot commented Jan 5, 2026

Replaced by #1426

@lanctot lanctot closed this Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installation via pip failing on Windows 10/11 with "legacy-install-failure"

2 participants