pyt-team / TopoNetX

Computing on Topological Domains
https://pyt-team.github.io/toponetx/
MIT License
184 stars 36 forks source link

Migrate to HyperNetx 2.0.0 (?) #38

Closed josefhoppe closed 1 year ago

josefhoppe commented 1 year ago

HyperNetX released version 2.0.0.post1 on May 16. It contains some performance improvements, but also introduced breaking changes.

From their GitHub repository:

What's Changed

  1. The static and dynamic distinctions no longer exist. All hypergraphs use the same underlying data structure, supported by Pandas dataFrames. All hypergraphs maintain a state_dict to avoid repeating
  2. Methods for adding nodes and hyperedges are currently not
  3. The nwhy optimizations are no longer supported.
  4. Entity and EntitySet classes are being moved to the background. The Hypergraph constructor does not accept either.

This seems to require a lot of changes on our end, so for now I'll just restrict the HyperNetX version to 1.x.

mhajij commented 1 year ago

I think it is better to remove hypernetx all together. DynamicCombinatorialComplex depends too much on the entity class and the value of this class is not high given that it is not very scalable and it has similar functionalities to those in CombinatorialComplex. I already remove the class all together but I can bring it back if you feel it is needed. I think however that since the code from hypernetx changes, it is better to remove that class now and start a new one with no unstable dependency.

josefhoppe commented 1 year ago

I don't feel like it's necessary, but I also don't know the project well enough to make such a call. I do agree that removing an unstable dependency is a good idea, though.

mhajij commented 1 year ago

I agree, ultimately, we are planning to add our own multi-modal hypergraph class in the repo which will generalize regular hypergraphs and deal with "colored" hyperedges. So as a long term strategy it is just better to remove that heavy dependency. Since you agree, then we we are committed to remove it before other people are going to start using it in their projects.

mhajij commented 1 year ago

If you agree I will close this issue then.