Submit a post
We welcome contributions from all community members.
Volunteer to review
Learn how you can help the community grow and become a member of the team.
Pytrees for Scientific Python
This blog introduces PyTrees — nested Python data structures (such as lists, dicts, and tuples) with numerical leaf values — designed to simplify working with complex, hierarchically organized data. While such structures are often cumbersome to manipulate, PyTrees make them more manageable by allowing them to be flattened into a list of leaves along with a reusable structure blueprint in a generic way. This enables flexible, generic operations like mapping and reducing from functional programming. By bringing those functional paradigms to structured data, PyTrees let you focus on what transformations to apply, not how to traverse the structure — no matter how deeply nested or complex it is. Read more...
NumPy's Second Developer in Residence: Joren Hammudoglu

The NumPy team is excited to announce the appointment of Joren Hammudoglu (@jorenham) as the second NumPy Developer in Residence. For the second time, the project is in a position to use its project funds to pay for a full year of maintainer time through the NumPy Fellowship Program.

Joren has been the driving force behind the improvements in NumPy’s support for static typing since he started contributing in mid-2024. He has authored a lot of the improvements — from the annotations themselves to CI support and working towards fundamental design improvements like ndarray shape typing — and helps guide and integrate the work of other NumPy contributors in this area, and engages with upstream projects like MyPy and Pyright and the typing standards/PEP process to help move static typing support for the ecosystem as a whole forward. He also contributes widely to static typing support in the ecosystem, as the author of scipy-stubs, numtype and more.

Read more...
Developer Summit 2
Group picture of (most of the) summit attendees. The 2024 Scientific Python Developer summit was held 3–5 June in Seattle. Here’s a summary of what we did. Read more...
NumPy 2.0: an evolutionary milestone

Eighteen years since the release of NumPy 1.0, we are thrilled to announce the launch of NumPy 2.0! This major release marks a significant milestone in the evolution of NumPy, bringing a wealth of enhancements and improvements to users, and setting the stage for future feature development.

Read more...
Best Practices for Using NumPy's Random Number Generators

Given the practical challenges of achieving true randomness, deterministic algorithms, known as Pseudo Random Number Generators (RNGs), are employed in science to create sequences that mimic randomness. These generators are used for simulations, experiments, and analysis where it is essential to have numbers that appear unpredictable. I want to share here what I have learned about best practices with pseudo RNGs and especially the ones available in NumPy.

Read more...

Browse all posts  ⟶