Interoperability of Mojo Programming Language with Python Ecosystem: Using NumPy (Fundamental Package for Scientific Computing in Python) Library in Mojo Programming Language

Shriram Sivanandhan
4 min readNov 3, 2023

--

Mojo Programming Language combines the usability of Python with the performance of C, C++ and Rust. Mojo Programming Language utilizes next-generation compiler technologies with features like caching, multithreading and cloud distribution technologies. Further, Auto-Tuning and compile-time Metaprogramming features allows to write code for several hardware. The advantages of Mojo Programming Language are Usability & Programmability, best performance, Interoperability and Extensibility.

As we saw Interoperability of Mojo Programming Language with Python Ecosystem to use Matplotlib Python Visualization Library and Pandas Python Data Analysis and Manipulation Library in Mojo Programming Language in previous Articles/Blogs. In this Article/Blog, we are going to see the Interoperability of Mojo Programming Language with Python Ecosystem to use NumPy (Fundamental Package for Scientific Computing in Python) Library in Mojo Programming Language. In this Article/Blog, we are going to see how to Creating/Initialize NumPy Arrays from Python Lists and Sorting the NumPy Arrays in Mojo Programming Language.

In this Blog, Programming in Mojo is done using Mojo Playground.

Interoperability of Mojo Programming Language with Python Ecosystem:

In Mojo Programming Language, Interoperability with Python Ecosystem can be done to import Python modules / libraries / custom code / local modules and use it with Mojo Programming and also to create Python types from Mojo types. This mechanism uses CPython Interpreter to run the Python code and currently it works with all Python modules.

NumPy (Fundamental Package for Scientific Computing in Python) Library in Mojo Programming Language:

NumPy (Numerical Python) is an open-source Python Library and it is the Fundamental Package for Scientific Computing in Python. NumPy is used in every field of Science and Engineering.

Creating/Initializing NumPy Arrays from Python Lists in Mojo Programming Language:

To import a Python module / library in Mojo, first we should import Python from python module / library, then we should use Python.import_module() fucntion with the required module name.

Creating/Initializing NumPy Arrays from Python Lists in Mojo Programming Language
Creating/Initializing NumPy Arrays from Python Lists in Mojo Programming Language (Implementation in Mojo Playground)

In the above example, we had imported NumPy Python Library and we had created/initialized NumPy Arrays from Python Lists in Mojo Programming Language.

Creating/Initializing NumPy Arrays from Python Lists in Mojo Programming Language
Creating/Initializing NumPy Arrays from Python Lists in Mojo Programming Language (Implementation in Mojo Playground)

Sorting the NumPy Arrays in Mojo Programming Language:

Sorting the NumPy Arrays using numpy.sort().

Sorting the NumPy Arrays in Mojo Programming Language
Sorting the NumPy Arrays in Mojo Programming Language (Implementation in Mojo Playground)
Sorting the NumPy Arrays in Mojo Programming Language
Sorting the NumPy Arrays in Mojo Programming Language (Implementation in Mojo Playground)

Since, Mojo Programming Language is still in development some features of Python Programming Language are not yet implemented in Mojo and not a full superset of Python yet, but all the missing Python features will be implemented soon as mentioned by Modular-Mojo Development Team. But Mojo Programming Language already consists of many features and capabilities beyond Python Programming Language.

We had seen about Interoperability of Mojo Programming Language with Python Ecosystem to use NumPy (Fundamental Package for Scientific Computing in Python) Library in Mojo Programming Language. We had seen about how to Creating/Initialize NumPy Arrays from Python Lists and Sorting the NumPy Arrays in Mojo Programming Language. Programming in Mojo and Mojo Programming concepts will be discussed further.

Thankyou for reading this blog on Interoperability of Mojo Programming Language with Python Ecosystem: Using NumPy (Fundamental Package for Scientific Computing in Python) Library in Mojo Programming Language.

Reference:

https://docs.modular.com/mojo/programming-manual.html

https://docs.modular.com/mojo/manual/basics/

https://numpy.org/doc/stable/index.html

--

--