Skip to content

Build from Source

github-actions[bot] edited this page May 13, 2026 · 2 revisions

numba-cfunc-compiler is written in Python. While prebuilt wheels are provided for end users, it is also straightforward to build numba-cfunc-compiler from either the Python source distribution or the GitHub repository.

Make commands

As a convenience, numba-cfunc-compiler uses a Makefile for commonly used commands. You can print the main available commands by running make with no arguments

> make

build                          build the library
clean                          clean the repository
fix                            run autofixers
install                        install library
lint                           run lints
test                           run the tests

Prerequisites

numba-cfunc-compiler has a few system-level dependencies which you can install from your machine package manager. Other package managers like conda, nix, etc, should also work fine.

Clone

Clone the repo with:

git clone https://github.com/Point72/numba-cfunc-compiler.git
cd numba-cfunc-compiler

Install Python dependencies

Python build and develop dependencies are specified in the pyproject.toml, but you can manually install them:

make requirements

Note that these dependencies would otherwise be installed normally as part of PEP517 / PEP518.

Build

Build the python project in the usual manner:

make build

Lint and Autoformat

numba-cfunc-compiler has linting and auto formatting.

Language Linter Autoformatter Description
Python ruff ruff Style
C++ clang-format clang-format Style
Markdown mdformat mdformat Style
Markdown codespell Spelling

Python Linting

make lint-py

Python Autoformatting

make fix-py

C++ Linting

make lint-cpp

C++ Autoformatting

make fix-cpp

Documentation Linting

make lint-docs

Documentation Autoformatting

make fix-docs

Testing

numba-cfunc-compiler has extensive Python tests. The tests can be run via pytest. First, install the Python development dependencies with

make develop

Python

make test

Clone this wiki locally