← Back to all sparks
R

rpymat

ANALYTICS
Velocity0.0

Easy to Configure an Isolated 'Python' Environment

After three dormant years, rpymat returned to fix the OpenMP crash that breaks R and conda together

rpythoncondareticulateopenmpinteroperability
Current state
rpymat manages an isolated conda-based Python environment for R packages, providing a reproducible bridge without touching the user's system Python. It released steadily through 2022-2023 and then went quiet for nearly three years. 0.1.9 in May 2026 is the first release since, and it addresses a specific and long-standing failure mode.
Where it's heading
The work is about surviving the seams between two runtimes. 0.1.9 addresses OpenMP double-initialization — the error users hit when R's OpenMP and conda's disagree — by setting KMP_DUPLICATE_LIB_OK as a compromise, and adds fix_omp_conflict() to symlink over conda's built-in version as the recommended real fix. The caveat is stated plainly: users must re-run it whenever R is updated, and the ABI versions must match. Earlier releases followed the same pattern, with 0.1.2 fixing segfaults from incompatible BLAS between numpy and R.
Prediction
The recurring theme across releases is native library conflicts between the R and conda stacks, so further releases are likely to keep patching that surface as Python versions move. The three-year gap makes cadence unpredictable.

Recent moves

  1. 2mo ago

    OpenMP conflict workaround and fix_omp_conflict() helper

    The first release in nearly three years, aimed at the OpenMP double-initialization error that surfaces when R's and conda's OpenMP runtimes collide. Sets KMP_DUPLICATE_LIB_OK as an immediate compromise and adds fix_omp_conflict() to symlink over conda's built-in version as the recommended fix, with the caveat that it must be re-run after every R update. Also refreshes the Python version registry for MATLAB and forces pip into the conda environment.

    View source ↗
  2. 3y ago

    Fix installation regression from 0.1.5

    Repairs an installation problem introduced in 0.1.5 and adds small utilities for basic Python types and global variables in run_pyscript.

    View source ↗
  3. 3y ago

    File choosers, reticulate conversion ports and reusable conda detection

    A cumulative entry covering 0.1.3 through 0.1.5. Adds cross-platform file selection dialogs, ports reticulate's R/Python object conversion, and lets R_RPYMAT_CONDA_EXE and R_RPYMAT_CONDA_PREFIX point at an already-installed conda — the change that lets conda-forge distribute the package without a second conda install. Configuration caching speeds up ensure_rpymat().

    View source ↗
  4. 4y ago

    Windows support and BLAS segfault fix

    Adds Windows support and Jupyter server management, and fixes segfaults caused by incompatible BLAS between numpy and R. The same class of native-library conflict that 0.1.9 revisits for OpenMP four years later.

    View source ↗