Comments (7)
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.
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.
@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.
@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 bynumba
.- I don't think our code is incompatible to recent version of numpy.
from pyelastica.
- Yes, when installed simultaneously using
requirements.txt
,numba
takes care of thenumpy
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 downgradingnumpy
or reinstallingnumba
. - 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.
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.
The numba
version is updated in 5c31cfc and 9bcfd0f.
from pyelastica.
Related Issues (20)
- Reproducing snake diffraction results from your Nat Comm Paper HOT 7
- Failure for Helix under Gravity Case HOT 2
- Can PyElastica support GPU acceleration? HOT 3
- Do PyElastica support to simulate a rod containing two segments? HOT 3
- Question about base length HOT 8
- Replicating side-winding results from your Nat-comm snake paper HOT 29
- Instant controler and simulation HOT 6
- Small scale rod simulation HOT 11
- Updating muscle forces mid-simulation - how does it work? HOT 1
- Small-scale simulation problem 2 HOT 1
- OneEndFixedBC didn't work for applying a external torque HOT 4
- Adding force and torque at same time HOT 5
- How to using PyElastica data to visualize in 3D models? HOT 1
- `FileNotFoundError` `python continuum_snake.py` HOT 1
- Bug and fix in 2_Slithering_Snake.ipynb HOT 1
- Task 1: Utilizing Python to clean and convert data from Elastica into a format recognizable by Blender. HOT 1
- Avoid having randomized unittest HOT 17
- [GSOC project 3] Binding PyElastica with Elastica++ HOT 1
- GSoC interest in Optimizing backend kernels in PyElastica HOT 1
- Examples not running due to modules not being found HOT 18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyelastica.