You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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. piskvorky/gensim#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?
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
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?
We're going to drop gensim/node2vec support going forward - people who want that capability can stay on the 3.x release and 4.x will drop support for it and unpin a few things in the deps that don't need to be quite as locked down.
Activity
bdpedigo commentedon Oct 8, 2024
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
daxpryce commentedon Oct 8, 2024
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 ?
darthtrevino commentedon Oct 8, 2024
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?
bdpedigo commentedon Oct 8, 2024
this one popped up for me with 1.2k stars https://github.com/eliorc/node2vec I have also definitely seen other libraries
darthtrevino commentedon Oct 8, 2024
If possible, we'd prefer to have the n2v embedding operation supported, but we're not married to gensim per se
daxpryce commentedon Oct 8, 2024
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
bdpedigo commentedon Oct 9, 2024
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
jcaplan commentedon Jul 2, 2025
gensim also broken on python 3.13 with no fix in sight piskvorky/gensim#3601
daxpryce commentedon Jul 4, 2025
bdpedigo commentedon Jul 7, 2025
that sounds great to me
taranarmo commentedon Nov 19, 2025
not anymore, from 3.4.0 they support Python 3.13
daxpryce commentedon Jun 14, 2026
We're going to drop gensim/node2vec support going forward - people who want that capability can stay on the 3.x release and 4.x will drop support for it and unpin a few things in the deps that don't need to be quite as locked down.