Considering removing gensim as a dependency
Considering completely removing gensim (and therefore, node2vec) as a dependency in graspologic
They constantly have dependency issues because the package is not heavily maintained (currently releasing on PyPI about once per year). For instance, right now builds are failing due to an issue with Scipy. https://github.com/piskvorky/gensim/issues/3525
If anyone really wants to keep node2vec around, then I'd like to discuss how to get away from these dependency conflict issues or to have someone help with maintenance when they arise
cc @daxpryce @darthtrevino: I know you're likely busy with other things, but if you two know of anyone else at MSFT using graspologic that might care, could you please cc them as well? Thank you in advance
I believe that @darthtrevino and company still use it, but I would agree it has become such a millstone around the neck re: library versions, python version limitations, etc, that you're better off removing it until a... less challenging version can be built or found and used. What do you think @darthtrevino ?
We mostly use this library for Leiden in GraphRAG, but we do have node2vec as an optional feature. We've been discussing moving to GEE. Is there a way to support n2v without gensim? Maybe an alternative implementation?
this one popped up for me with 1.2k stars https://github.com/eliorc/node2vec I have also definitely seen other libraries
If possible, we'd prefer to have the n2v embedding operation supported, but we're not married to gensim per se
I would assert the main reason we added node2vec in topologic and then graspologic is specifically so we could swap out implementations but provide a consistent API. I think the effort to replace it rather than remove it is good, though I also could see removing it in the next couple versions until you can get the next one in place - if only so development can continue without dependency requirement conflicts
looks like things are working now https://github.com/graspologic-org/graspologic/actions/runs/11259180298
i somehow missed that they had published a fix on PyPI for the current issue.
going to leave this issue open though, i think this is a general problem that we have a pretty wide scope of dependencies
gensim also broken on python 3.13 with no fix in sight https://github.com/piskvorky/gensim/issues/3601
Ben, I think we should just make node2vec/gensim an optional dep that people have to explicitly ask for, and then they have to use a python version that is supported at least. Thoughts?
On Wed, Jul 2, 2025, at 9:36 AM, Jonah Caplan wrote:
gensim also broken on python 3.13 with no fix in sight piskvorky/gensim#3601 https://github.com/piskvorky/gensim/issues/3601
— Reply to this email directly, view it on GitHub https://github.com/graspologic-org/graspologic/issues/1091#issuecomment-3028521895 or unsubscribe https://github.com/notifications/unsubscribe-auth/AAG3SU4EYNXEKY6MJTASUWL3GQDALBFKMF2HI4TJMJ2XIZLTSSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVIZDINBZHE3TGNZTGKSG4YLNMWUWQYLTL5WGCYTFNSWHG5LCNJSWG5C7OR4XAZNMJFZXG5LFINXW23LFNZ2KM5DPOBUWG44TQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKJRGQ3TONRYGQ4THAVEOR4XAZNFNFZXG5LFUV3GC3DVMWVDENJXGQZTAMJZGEZYFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIZDINBZHE3TGNZTGKTXI4TJM5TWK4VGMNZGKYLUMU. You are receiving this email because you commented on the thread.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
that sounds great to me
gensim also broken on python 3.13 with no fix in sight https://github.com/piskvorky/gensim/issues/3601
not anymore, from 3.4.0 they support Python 3.13