Giter VIP home page Giter VIP logo

Comments (7)

bhosale2 avatar bhosale2 commented on June 22, 2024 1

I see I agree with all of the above and if numba will catch up in a few weeks, then we don't need to worry about putting an upper bound on numpy. I guess so we can close this issue after numba is bumped up as you mentioned.

from pyelastica.

skim0119 avatar skim0119 commented on June 22, 2024

If I remember correctly, there was a reason for fixing numba version to be 0.51.0. They moved jitclass into the experimental module, and we had some script that uses jitclass. If we want to bump-up the version, we should check the codebase where we use jitclass.

I'm going to put this in 0.2.1 milestone. I think it should be easy fix.

from pyelastica.

bhosale2 avatar bhosale2 commented on June 22, 2024

@skim0119 I just ran a search for jitclass across all files in PyElastica using grep -R 'jitclass' . and it yielded no matches, for both the branches present. Let me know if it checks out.

from pyelastica.

skim0119 avatar skim0119 commented on June 22, 2024

@bhosale2 Looks like jitclass was in _elastica_numba/_timestepper/_explicit_steppers and _elasstica_numba/_timestepper/_symplectic_steppers in version 0.1.0.post1. I don't see any trace after 0.1.0.post2.

  • We can change numba support to be numba>=0.51.0.
  • I'm questioning if we need to put upper bound on numpy version. Pip should automatically handle numpy version that is compatible to numba, right? This should be handled by numba.
    • I don't think our code is incompatible to recent version of numpy.

from pyelastica.

bhosale2 avatar bhosale2 commented on June 22, 2024
  • Yes, when installed simultaneously using requirements.txt, numba takes care of the numpy dependency version as mentioned in the initial issue description.
  • However, I suggest adding the upper bound in the case when say the user installs another package that upgrades numpy in the same environment (happened in my case), which would then eventually lead to errors due to dependency mismatch in PyElastica. This would then have to be resolved by either downgrading numpy or reinstalling numba.
  • To inform the user of the actual dependency limitations and to avoid any such hassles, I felt we should keep the dependency version consistent with that of numba release notes (they do the same on the PyPI page).
  • Yes, I feel also that our code is compatible with recent version of numpy.

from pyelastica.

skim0119 avatar skim0119 commented on June 22, 2024

I understand the issue, but I'm still not sure if we need to inform the dependency limitation that is not ours.

@bhosale2 Can you specify which package you used? If I understand pip correctly, installing numba (after installing an upper version of NumPy) should automatically downgrade NumPy to the compatible version. The error should happen when you force NumPy to upgrade, or if another package doesn't allow downgraded NumPy.

which would then eventually lead to errors due to dependency mismatch in PyElastica

Technically this would be the dependency mismatch of NumPy between the package you installed and numba, not PyElastica.

My point is the error message should show that the incompatibility is between numba and the third package that needs a higher version NumPy, not pyelastica. Either way, the user needs to downgrade NumPy to resolve the issue (I believe pip automatically does it).

Besides, the most recent version of NumPy is 1.22.1. I feel like numba will catch up within a couple of weeks.

from pyelastica.

skim0119 avatar skim0119 commented on June 22, 2024

The numba version is updated in 5c31cfc and 9bcfd0f.

from pyelastica.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.