Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loosen Dependency Requirements for Python Compatibility by Dropping Mordred #241

Merged
merged 41 commits into from
Feb 9, 2023

Conversation

JacksonBurns
Copy link
Member

Attempting to resolve #240 by allowing wider range of numpy versions since the latest builds have better support.

@JacksonBurns
Copy link
Member Author

Related, #219 attempted to do this but we dropped it because it caused backwards compatibility issues with Python. Will attempt to resolve here.

JacksonBurns and others added 3 commits February 3, 2023 18:49
 - remove version specification entirely for common utility packages whose API is unlikely to substantially change
 - remove patch versions where possible
 - remove minor versions where possible
@JacksonBurns
Copy link
Member Author

mordred requires an older version of networkx to function properly with Python 3.9.

@JacksonBurns
Copy link
Member Author

The fixed version of networkx is incompatible with moving the version of numpy up -- there is a PR open to fix this on the repo but it's stale. Looks like mordred has basically been abandoned at this point.

I think that, in order to support future Python versions as well as M1 Macs, we would need to remove mordred from the default install. We can make it an optional install, i.e. pip install aimsim[mordred] but clarify that such an install is only supported on Python 3.8
The option that I would prefer would be to fork mordred, fix the dependency issue, and then include the source code in AIMSim with the appropriate attribution.
Option 3 is, of course, to just drop mordred altogether.
Thoughts @himaghna ?

@himaghna
Copy link
Collaborator

himaghna commented Feb 7, 2023

The fixed version of networkx is incompatible with moving the version of numpy up -- there is a PR open to fix this on the repo but it's stale. Looks like mordred has basically been abandoned at this point.

I think that, in order to support future Python versions as well as M1 Macs, we would need to remove mordred from the default install. We can make it an optional install, i.e. pip install aimsim[mordred] but clarify that such an install is only supported on Python 3.8 The option that I would prefer would be to fork mordred, fix the dependency issue, and then include the source code in AIMSim with the appropriate attribution. Option 3 is, of course, to just drop mordred altogether. Thoughts @himaghna ?

I think for the short term we might include modred as an optional install with tags (such as -md or some such). Long term I agree moving it into our base code makes the most sense.

@himaghna
Copy link
Collaborator

himaghna commented Feb 7, 2023

Tests failing

@JacksonBurns
Copy link
Member Author

@JacksonBurns this should be accompanied by a beta release, likely 2.0.0b0 so that other changes can continue to be made.

@JacksonBurns
Copy link
Member Author

Also see #247 when reevaluating Python minor version compatibility and dependency version requirements.

@JacksonBurns JacksonBurns added this to the AIMSim v2.x milestone Feb 7, 2023
@JacksonBurns JacksonBurns linked an issue Feb 7, 2023 that may be closed by this pull request
@JacksonBurns JacksonBurns changed the title ARM Mac install fix Loosen Dependency Requirements for Python Compatibility by Dropping Mordred Feb 7, 2023
@JacksonBurns JacksonBurns merged commit 2bb39c7 into master Feb 9, 2023
@JacksonBurns JacksonBurns deleted the numpy-arm-fix branch April 7, 2023 22:35
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.

Many dependency conflicts make installation impossible pip install aimsim not working on MacOSX
2 participants