Welcome to Nuwa
Nuwa is the open source toolkit for building Python extensions in Nim. It handles the code (SDK), the compilation (Build), and the distribution (CI/CD) so you don't have to.
Live docs: this site. Source: nuwa-build. Support matrix: tested platforms and versions.
Why Nim?
Nim combines the performance of C with the elegance of Python. It's perfect for building high-performance Python extensions:
- C-like performance without the complexity
- Python-like syntax that's easy to write and read
- Zero-cost abstractions and efficient memory management
- Easy Python interop via nimpy
Projects
Nuwa Build
Zero-configuration build system for compiling Nim code into Python extensions.
Nuwa SDK
Python interoperability utilities for building high-performance extensions.
Nuwa Build Action
GitHub Action for automated wheel building across platforms.
Examples
The clone-and-build starter is nuwa-example. A larger library (Featuristic) is being ported on a GitHub nim branch and is not released.
Quick Start
# Install
pip install nuwa-build
# CPython 3.10+ and a Nim compiler on PATH
# Create a new project
nuwa new my_project
cd my_project
# Build and run
nuwa develop
python example.py
Getting Started
Select a project from the navigation menu or visit the Nuwa Build documentation to get started.