Skip to content

Conversation

@AlonsoGuevara
Copy link

  • Does this PR have a descriptive title that could go in our release notes?
  • Does this PR add any new dependencies?
  • Does this PR modify any existing APIs?
    • Is the change to the API backwards compatible?
  • Have you built the documentation (reference and/or tutorial) and verified the generated documentation is appropriate?

Reference Issues/PRs

What does this implement/fix? Briefly explain your changes.

After 0.4.0 Hyppo changed its license from MIT to PolyForm Noncommercial License 1.0.0
This PR fixes the version to the last MIT licensed release

Any other comments?

@daxpryce daxpryce requested review from bdpedigo and daxpryce February 6, 2025 19:10
@daxpryce
Copy link
Contributor

daxpryce commented Feb 6, 2025

With hyppo changing to non commercial, pulling in any version newer than 0.4.0 would be out of the question for anyone operating in a commercial space. I would assert this does not help graspologic's aims, but I do think we need to wait for @bdpedigo 's concurrence before I approve.

@bdpedigo
Copy link
Collaborator

bdpedigo commented Feb 7, 2025

I really do not want to pin to 0.4.0 in perpetuity - in fact I was about to update to the most recent version; i think we have a test failing because of an old version of hyppo.

i will check with hyppo to see why they made this change...

@bdpedigo
Copy link
Collaborator

@AlonsoGuevara @daxpryce I checked with JHU and it seems like this license change was intentional but perhaps they didn't fully understand what it meant for downstream stuff... so there's a chance it will be reversed. But regardless, I think we should assume we're stuck with this for the time being.

my only request on this PR is could you add a comment to the pyproject.toml (if that's possible) describing why we pinned hyppo?

looking forward, I expect someday pinning hyppo will get annoying as python versions/dependencies evolve. i think the future solution should be either dropping hyppo entirely or factoring the code that uses it out into a sub-project (e.g. graspologic-inference) which maybe has a more restrictive license. but i understand that that's currently a low priority item for all of us

@AlonsoGuevara
Copy link
Author

@bdpedigo Thanks for getting back on this. I'll add the note and resubmit for approval

@daxpryce
Copy link
Contributor

daxpryce commented Feb 12, 2025 via email

@AlonsoGuevara
Copy link
Author

@bdpedigo @daxpryce Updated as requested

Copy link
Contributor

@daxpryce daxpryce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@jovo
Copy link

jovo commented Feb 13, 2025

Hi all - I'm sorry, this was my mistake. I misunderstood something communicated to me, we will update hyppo's license to be MIT, and then the plan is for it to stay there in perpetuity.

@gnowland
Copy link

gnowland commented Aug 21, 2025

fixing hyppo to 0.4.0 results in this bug neurodata/hyppo#435 (patched in hyppo v0.5.2) affecting graspologic installs:

Traceback (most recent call last):
...
    from graspologic.partition import hierarchical_leiden
  File "graspologic/__init__.py", line 8, in <module>
    import graspologic.inference
  File "graspologic/inference/__init__.py", line 6, in <module>
    from .latent_distribution_test import latent_distribution_test
  File "graspologic/inference/latent_distribution_test.py", line 7, in <module>
    from hyppo.ksample import KSample
  File "hyppo/__init__.py", line 5, in <module>
    import hyppo.kgof
  File "hyppo/kgof/__init__.py", line 2, in <module>
    from .fssd import FSSD, FSSDH0SimCovObs
  File "hyppo/kgof/fssd.py", line 4, in <module>
    from past.utils import old_div
ModuleNotFoundError: No module named 'past'

Merging #1092 to update hyppo to v0.5.2 would resolve, but if the plan is to pin hyppo to v0.4.0 please at least add future>=1.0.0 to the pyproject.toml to resolve this?

But, it sounds like the hyppo license was reverted to MIT by @jovo , so really this PR should be closed and #1092 merged & a version update published.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants