From 89341e7a60ce5457ac91d071021f03db6fb1ec6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20Ma=C5=9Blanka?= <piotr.maslanka@henrietta.com.pl>
Date: Tue, 23 Feb 2021 18:26:55 +0100
Subject: [PATCH] 1.3.1 faster builds

---
 CHANGELOG.md           | 2 +-
 snakehouse/__init__.py | 2 +-
 snakehouse/build.py    | 7 ++++++-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2dda613..7f07370 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
 # v1.3.1
 
-* _TBA_
+* Cython build step ("cythonize") will be parallelized by default
 
 # v1.3
 
diff --git a/snakehouse/__init__.py b/snakehouse/__init__.py
index 22a747f..32f7909 100644
--- a/snakehouse/__init__.py
+++ b/snakehouse/__init__.py
@@ -2,4 +2,4 @@ from .build import build
 from .multibuild import Multibuild
 from .faster_builds import monkey_patch_parallel_compilation
 
-__version__ = '1.3.1a1'
+__version__ = '1.3.1'
diff --git a/snakehouse/build.py b/snakehouse/build.py
index 6d333fb..d8b4333 100644
--- a/snakehouse/build.py
+++ b/snakehouse/build.py
@@ -1,4 +1,6 @@
 import logging
+import multiprocessing
+import sys
 import typing as tp
 from Cython.Build import cythonize
 from setuptools import Extension
@@ -9,7 +11,10 @@ MultiBuildType = tp.Union[Multibuild, Exception]
 logger = logging.getLogger(__name__)
 
 
-def build(extensions: tp.List[MultiBuildType], *args, **kwargs):
+def build(extensions: tp.List[MultiBuildType], *args, nthreads=None, **kwargs):
+    if nthreads is None:
+        nthreads = multiprocessing.cpu_count()
+    kwargs['nthreads'] = nthreads
     returns = []
     multi_builds = []
     for multi_build in extensions:
-- 
GitLab