Skip to content

+conda recipe to install on windows - #173

Merged
rolfjl merged 1 commit into
Python-Ensemble-Toolbox:mainfrom
alex11818:windows-conda
Oct 8, 2026
Merged

rolfjl merged 1 commit into
Python-Ensemble-Toolbox:mainfrom
alex11818:windows-conda

Conversation

@alex11818

Copy link
Copy Markdown
Contributor

Problem

PET cannot currently be installed on Windows with pip or uv because of graphite-maps and its dependencies: PET's EnIF analysis depends on graphite-maps, which in turn needs scikit-sparse and the CHOLMOD C library. Neither package has a Windows build on PyPI; conda-forge provides scikit-sparse and CHOLMOD ready-made. import pipt loads EnIF unconditionally, so this affects every PET run on Windows.

What this PR adds

  • environment.yml: a recipe to install PET and its environment with conda:

    conda env create -f environment.yml -n pet
    conda activate pet
    
  • docs/installation_windows.md: prerequisites, install and check commands,
    and the pitfalls found along the way.

  • A Windows note in the EnIF tutorial, a nav entry in mkdocs.yml, and a
    changelog entry.

  • README: Installation is split into "On Linux" and "On Windows".

No changes to src/ or pyproject.toml.

Testing

On Windows 11 with Miniforge, in an environment built from environment.yml:

  • import pipt and from sksparse.cholmod import cholesky succeed.
  • All 33 tests in tests/assimilation/test_enif.py pass.
  • pytest -m "not slow": 583 passed, 6 failed, 2 skipped.

The six failures are not installation problems:

  • Five tests in tests/assimilation/test_subspace2.py compare two analyses bit
    for bit; on Windows they differ in the last floating-point digit (~1e-16).
  • tests/test_logging_and_paths.py::test_save_folder_is_not_created_by_reading_it
    expects a / path separator and gets \.

Not tested: building the environment on Linux (its conda packages do resolve
for linux-64), and rendering the docs with mkdocs.

🤖 Generated with Claude Code, edited by @alex11818

@rolfjl
rolfjl merged commit ffb99d8 into Python-Ensemble-Toolbox:main Oct 8, 2026
4 checks passed
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.

2 participants