WEMI is a Experimential, Python based Environment Modules generator and installer, targeting on Windows 10/11 systems to solving enviromnent setups.
WEMI will scan, compile and install tcl Modulefiles to your Environment Modules system on your device.
As WEMI declared current development status is in Early State development and version is InfDev status, WEMI will take several/lot of rolling destructable/refactoring changes, and not recieveng PR requests before a future stable release.
Issues and disscutions are open welcomed.
CI Testing are based on windows-2025 runner.
Status will be blank as the test case is pending for CI design.
-
Windows Platform
Platform Support Status -
pre-commit, Python 3 version test
-
Compiler smoke test
-
Note: NVIDIA CUDA 13.4 Toolkit has been local tested via my PC, but have no official release from winget.
NVIDIA CUDA Toolkit Modulefile rule is using
$(env:VSCMD_ARG_TGT_ARCH)follows host compilercl.exeto select correct target platform. So there's no need major fix.
-
-
Build test, Recursive build examination (No eta)
task toolchain condition status [ROCm/TheRock] VS2026, MSVC v145, Perl 5.42 -DTHEROCK_AMDGPU_FAMILIES = gfx1100;gfx1101;gfx1102;gfx1200;gfx1201[NVIDIA/cutlass] VS2026, MSVC v145, CUDA 13.4 -DBUILD_TESTING=OFF[pytorch/pytorch] VS2026, MSVC v145, CUDA 13.4 -DUSE_CUDA=1,-DUSE_CUDNN=1,-DUSE_CUDSS=1[pytorch/pytorch] VS2026, MSVC v145, TheRock -DUSE_ROCM=1[python/cpython] VS2026, MSVC v145 [exaloop/codon] VS2026, MSVC v145, CUDA 13.4 -DCODON_GPU=ON[HDF/HDF4] VS2026, MSVC v145 [HDF/HDF5] VS2026, MSVC v145 [NetCDF] VS2026, MSVC v145 [pNetCDF] VS2026, MSVC v145 [GDAL] VS2026, MSVC v145 [GMT] VS2026, MSVC v145 [form-dev/form] VS2026, MSVC v145, MSMPI etc. -
Repository Sync Status
There are other hosting platforms sync with GitHub as mirror site by CI action.
GitHub repo is major develop upstream, other mirror site will sync every next day at 04:00 UTC+8.
Repo Server type status link GitHub main upstream https://github.com/TaiXeflar/wemi GitLab mirror https://gitlab.com/TaiXeflar/wemi Gitea mirror https://gitea.com/TaiXeflar/wemi Gitee mirror https://gitee.com/TaiXeflar/wemi GitCode mirror https://gitcode.com/TaiXeflar/wemi
-
Python environment, recommends with Astral UV venv.
-
gsudo (optional)
gsudo is a optional compoment, if you need elevate privileges.
- Clone this repo and build a venv.
- PowerShell / CMD
PS X:\> git clone https://github/TaiXeflar/wemi.git --depth=1 wemi PS X:\> cd wemi PS X:\wemi> uv venv .venv --python 3.11/3.12/3.13/3.14 PS X:\wemi> .venv/Scripts/Activate.ps1
- Run
wemi.py. WEMI allows (some) Unix-style flags-flag/--flags, DOS-style flags/flags, and cmake-style cache flags-DFLAGS....
- PowerShell
# Configure (generates build/cache.json.) (.venv) PS X:\wemi> python ./wemi.py configure --<flags/options> -D<FLAGS/OPTIONS> # Build (based on build/cache.json.) (.venv) PS X:\wemi> python ./wemi.py build # Install (based on build/cache.json.) (.venv) PS X:\wemi> python ./wemi.py install --prefix "C:/Developer/Modules"# Configure All-In-One command (generates build/cache.json.) (.venv) PS X:\wemi> python ./wemi.py configure --aio/-D_ALL_IN_ONE --<flags/options> -D<FLAGS/OPTIONS>
-
Locale
WEMI strongly not recommend set non Latin characters, full widith characters, half/full width spaces, dots, laft/right slashes as your user name, especially on these regions:
- Traditional Chinese (ZH-TW, Big5): Complexed Chinese word character, common used by R.O.C.(Taiwan), Hong Kong, Macao.
- Simplfied Chinese (ZH-CN, GBK): Simplfied Chinese word character, common used by Mainland China.
- Japanese (JA, Shift-JIS): Japanese uses Kanji, Hiragana(平仮名) and Katakana(片仮名).
- Korean (KR).
This is not WEMI cases because most development toolchains are prefer English environment, include full english charcters path. Instead, PC users should keep their names to English based names, dashes and underscores to avoid any cross-platform program have not complete support to it. For example:
- Avoid names like
C:/Users/三月七,C:/Users/琪亞娜 卡斯蘭娜. - Recommend user names:
C:/Users/SilverWolf999,C:/Users/Miku39,C:/Users/OMNI_1206etc.
-
Code formatter
The code base is under Inf Dev status with possiable large changes there, the code format is not at the priority (not I'm f**king lazy), with pre-commit feature only set SDPX License identifier only.
In future plan will add black or ruff formater.
-
Cygwin/MSYS2
WEMI requires Python Standard Module
win32which is not available in Cygwin/MSYS2 based posix Python. And most of wemi supported SDKs, their ecosystem are MSVC based toolchains, with Microsoft or Intel/AMD/NVIDIA and other 3rd party provided environment setup support.The solution is:
- Run a Cygwin/MSYS2 bash and Envmodules/modules build process as Linux/macOS does.
- Run run another
pwshprocess to runwemi, set install prefix to Cygwin/MSYS2 dir's modulefiles. - Check installed modulefiles, if they need
dos2unixto setCRLF -> LF.
There's a future CI plan to play this environment.
-
GCC, GCC based LLVM
GCC compilers with it's releases may be different, with target triple X MSVCRT/UCRT matrix, and also different SDKs will contain their gcc redistribution.
This may need time to select what kind of GCC compilers and related SDKs to support. But wemi will have future plan to support them.
-
AMD ROCm
- HIP SDK will not be planned to CI test due it is not avail at winget.
- ROCm/TheRock will be planed to future case test, with a recursive build test.
-
Windows on ARM64
I'm interested in this, such as Snapdragon Elite X platform (Qualcomm) and GB10 (NVIDIA + MediaTek). But I can only keep these platforms on watching list:
-
No experience on playing MSVC on ARM64/ARM64EC. But I'll try it.
-
Qualcomm's SDK is hard to get with is QPM and licenses problems.
-
GB10 chip has no existed MediaTek optimized compilers/SDKs and NVIDIA CUDA SDKs.
[Update]: NVIDIA has released CUDA 13.4 developer version release with cross compilation support.
CUDA SDKs will follow
$env(VSCMD_ARG_TGT_ARCH)env variable. So I think this is effectness to NVIDIA CUDA that need refactoring, but NVIDIA CUDA-X is in plan.
-
-
CI test coverage limitation on SDKs
This is the highlight and become a core to WEMI to prove that WEMI can handle environment setup coverage is enough to handle large compile/build tasks as Linux HPC systems. But with some limits here, to prevent or wait for future fix/add CI build test cases.
-
Some SDKs are not avail with package managers like
winget,choco:- NVIDIA CUDA-X Libraries
- AMD HIP SDK
- Qualcomm Snapdragon LLVM compiler
- etc.
-
Some SDKs is on my interested list but have no experience before:
- Cangjie
- Zig
- Rust
- Swift
-
Some SDKs are meant to be examined to be built from source will take time:
- ROCm/TheRock
- Exaloop/codon
- ROOT-Project/Cling
- Swift
- torch/libtorch
- XGBoost
- NetCDF/pNetCDF
- GDAL
- HDF4/HDF5
- etc.
-
Some SDKs will require Licenses to install:
- MATLAB
- Borland/Embarcadero C++ Builder
-
Experimential SDKs:
- MiHoYo/Hoyoverse GunsGirlsZ, GGZ/BH2
- MiHoYo/Hoyoverse Honkai Impact 3
- MiHoYo/Hoyoverse Genshin Impact
- MiHoYo/Hoyoverse Honkai: Star Rail
- MiHoYo/Hoyoverse Zenless Zone Zero, ZZZ
- MiHoYo/Hoyoverse Nexus Anima
- MiHoYo/Hoyoverse Varsapura
- MiHoYo/Hoyoverse PetitPlanet
-
Currently main language will be written in English (US). With after updates, there will several languages updates to docunemtation and wemi program.
This project is based on my collage school lifetime thoughts.
The develop environment is have Youtube Music with listening 七見斷滅智論抄 Prajnaparamitopadesa to Quell Seven Calamities.



