Skip to content

Python 3.13 support blocked by semopy / scipy compatibility (removal of scipy.stats.mvn.mvnum) #190

@ikeuchi-screen

Description

@ikeuchi-screen

semopy currently relies on the legacy scipy.stats.mvn module, and more specifically on the mvnum attribute (i.e., scipy.stats.mvn.mvnum).
In recent versions of SciPy, scipy.stats.mvn.mvnum has been removed, which breaks semopy unless SciPy is pinned to an older version.

As a consequence:

  • semopy depends on scipy.stats.mvn.mvnum, which is no longer available in recent SciPy releases.
  • This effectively forces users to pin SciPy to ≤ 1.13.1 to keep semopy working.
  • However, SciPy 1.13.1 cannot be installed on Python 3.13 or later, so Python ≥ 3.13 becomes incompatible with the current semopy dependency chain.

Additionally, based on the upstream issue tracker below, there does not appear to be active progress toward an official fix in semopy at this time:
https://gitlab.com/georgy.m/semopy/-/issues?show=eyJpaWQiOiI0NCIsImZ1bGxfcGF0aCI6Imdlb3JneS5tL3NlbW9weSIsImlkIjoxNzc5NjU2MzZ9

Therefore, official support for Python 3.13 and later in lingam is currently blocked and depends on upstream changes in semopy.

Workaround:
If users need Python 3.13 support today, they can install the forked version of semopy referenced in the URL above and then install the latest SciPy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions