According to @scientific_python SPEC-0000 https://scientific-python.org/specs/spec-0000/ it is now time to drop support for NumPy 1.26 and switch to NumPy 2, to help maintain compatibility and reduce maintenance burden across the ecosystem!
According to @scientific_python SPEC-0000 https://scientific-python.org/specs/spec-0000/ it is now time to drop support for NumPy 1.26 and switch to NumPy 2, to help maintain compatibility and reduce maintenance burden across the ecosystem!
NumPy are considering dropping Intel x86-64 wheels:
https://mail.python.org/archives/list/numpy-discussion@python.org/thread/OLNBDCRVVGXIXG5G3RUQDHEIYDHYV2DO/
#Python #NumPy #macOS #wheels #GitHubActions
#NumPy, #SciPy and The Wild Early Days of Scientific #Python with NumPy creator Travis Oliphant
https://www.youtube.com/watch?v=-xhai2iu_QY
Did you know the main driver behind NumPy/SciPy didn't get tenure?
I guess that board was wrong about Travis Oliphant.
Literally everything I did in my scientific work since 2008 heavily depends on work like (and in my case particularly) NumPy/SciPy. #numpy #scipy #python #ScientificComputing
My first experience with #chatgpt5.
I queried how to write some #python code to write out unformatted, binary files so my #fortran code could read it.
Proceeds to give me a load of #NumPy code. Completely neglects to mention the #SciPy FortranFile class that can trivially read and write, and appears on the first page of a search.
This is going to be a bumpy ride!
Playing with an old sketch idea (also present in the Processing Video library examples) ... Frame to glyph grid. I'm using py5, #OpenCV & #NumPy Code at: https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_08_07
More sketch-a-day: https://abav.lugaralgum.com/sketch-a-day
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562 #Processing #Python #py5 #CreativeCoding
#NumPy #OpenSimplexNoise #Loop "Noise walkers" Code at: https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_08_05
More sketch-a-day: https://abav.lugaralgum.com/sketch-a-day
If you like this, support my work:
https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724
https://liberapay.com/Villares
https://wise.com/pay/me/alexandrev562 #Processing #Python #py5 #CreativeCoding
OpenMP Newsletter – July 2025 Edition
Highlights:
IWOMP 2025 preliminary program
3 new members join the OpenMP Architecture Review Board
OpenMP support in:
* GCC 15.1
* Intel oneAPI HPC Toolkit 2025.2
* NumPy 2.3
Full newsletter: https://mailchi.mp/e82391a1d7b0/thanks-for-your-interest-in-openmp-17461513
I've been trying Jax for an Alife programming project, and that's just made me appreciate Taichi more.
The big selling point of Jax for a lot of people is vmap
, which is an easy way to jit compile and vectorize Python code. It can get you a huge performance boost for little effort on custom code operating on Numpy-style arrays. That's already a boon for many projects! It's also perfect for "glue code" between GPU-based libraries or neural networks that avoids memory transfers over the PCI bus. What it doesn't do is use all the threads on your GPU, which is a shame, because there are thousands of them. For that, you have to write a custom kernel using an underdeveloped side library.
Taichi requires more thoughtful coding than Jax, but it lets you write kernels that use your whole GPU in a simple, clean way without manually managing grid sizes and memory allocations. This is a huge win for big simulation jobs, in terms of performance and ease of use.
Ugh great.
I sing mild praises of #Python documentation, but when it comes to third party libraries like #NumPy and especially #SciPy the documentation ranges from less than stellar to utterly atrocious.
And now I have a problem: scipy.optimize.fsolve() is throwing a numpy DeprecationWarning: Conversion of an array with nim > 0 to a scalar is deprecated.
The function I'm passing in to fsolve() returns a scalar!! And I'm already extracting index 0 from the return of fsolve!! WTF???
Announcing Python-Blosc2 3.6.1
!Unlock new levels of data manipulation with Blosc2!
We've introduced a major improvement: powerful fancy indexing and orthogonal indexing for Blosc2 arrays.
We've tamed the complexity of fancy indexing to make it intuitive, efficient, and consistent with NumPy's behavior.
Read all about it on our blog! https://www.blosc.org/posts/blosc2-fancy-indexing/
Compress Better, Compute Bigger!
I move 1 along the x-axis, then rotate by an angle theta, I move 1/phi, rotate by theta, I move 1/phi², rotate by theta etc etc.
Made with #python #numpy #matplotlib
New article on my site: HyAB k-means for color quantization
In which I try to improve color clustering with a different distance function. It's a simple technique in the end but it's pretty hard to evaluate if it's an improvement or not!
https://30fps.net/pages/hyab-kmeans/
https://github.com/pekkavaa/HyAB-kmeans/ with #numpy code
And btw, can I get units for variables already? Annoyed that I can't say that this variable is in inches, or in bytes. Want to be able to tag data that says this is xyY, or XYZ space so that my function can convert if necessary or not.
Great news for OpenMP on Python!
NumPy 2.3 includes early OpenMP support, making sorting operations like np.sort and np.argsort faster by using multiple processor cores — a big step for performance!
This new feature is off by default but can be turned on during installation with -Denable_openmp=true
This marks the beginning of more parallel computing support in NumPy!
If you're writing python libraries, DON'T REQUIRE fileno ON FILE OBJECTS!
Dealing w/ the bullshit that numpy.fromfile wants the fileno attribute on a file object. Yes, it's slightly faster, but it also makes it harder to mock when doing testing.
Now I'm going to have to deal w/ creating a temporary directory, writing the file, and cleaning up afterward. Things that unittest.TestCase should have an option to do, but doesn't. Luckily I've dealt w/ this BS before, so I'll just copy the code from another project.