From 7c6d3541acb1f2a12595ce7c57c4eb995289e222 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20Ma=C5=9Blanka?= <piotr.maslanka@henrietta.com.pl>
Date: Wed, 18 Mar 2020 15:18:55 +0100
Subject: [PATCH] renamed to snakebuild, this won't patch cython's build
 anymore

---
 README.md                                     | 26 +++++++++----------
 cython_multibuild/build.py                    | 12 ---------
 example/setup.py                              | 10 +++----
 setup.cfg                                     |  8 +++---
 setup.py                                      |  4 +--
 {cython_multibuild => snakehouse}/__init__.py |  2 +-
 snakehouse/build.py                           |  7 +++++
 .../multibuild.py                             |  0
 8 files changed, 31 insertions(+), 38 deletions(-)
 delete mode 100644 cython_multibuild/build.py
 rename {cython_multibuild => snakehouse}/__init__.py (75%)
 create mode 100644 snakehouse/build.py
 rename {cython_multibuild => snakehouse}/multibuild.py (100%)

diff --git a/README.md b/README.md
index fc2b3a6..798c8c2 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,24 @@
-cython-multibuild
-=================
-[![Build Status](https://travis-ci.org/smok-serwis/cython-multibuild.svg)](https://travis-ci.org/smok-serwis/cython-multibuild)
-[![PyPI](https://img.shields.io/pypi/pyversions/cython-multibuild.svg)](https://pypi.python.org/pypi/cython-multibuild)
-[![PyPI version](https://badge.fury.io/py/cython-multibuild.svg)](https://badge.fury.io/py/cython-multibuild)
-[![PyPI](https://img.shields.io/pypi/implementation/cython-multibuild.svg)](https://pypi.python.org/pypi/cython-multibuild)
-
-cython-multibuild is a tool to pack mutiple .pyx files
+snakehouse
+==========
+[![Build Status](https://travis-ci.org/smok-serwis/snakehouse.svg)](https://travis-ci.org/smok-serwis/snakehouse)
+[![PyPI](https://img.shields.io/pypi/pyversions/snakehouse.svg)](https://pypi.python.org/pypi/snakehouse)
+[![PyPI version](https://badge.fury.io/py/snakehouse.svg)](https://badge.fury.io/py/snakehouse)
+[![PyPI](https://img.shields.io/pypi/implementation/snakehouse.svg)](https://pypi.python.org/pypi/snakehouse)
+
+snakehouse is a tool to pack mutiple .pyx files
 into a single extension.
 
 Inspired by [https://stackoverflow.com/questions/30157363/collapse-multiple-submodules-to-one-cython-extension](this StackOverflow discussion).
 
-This will monkey-patch Cython's Build.cythonize, so take care to import
-Build instead of Cythonize itself.
-
-Tested and works on Python 3.8 and Python 3.7.
+Tested and works on Python 3.8 and Python 3.7, 
+both Windows and Linux.
 
 Usage
 -----
 Take a look at [example](example/) on how to multi-build your Cython extensions.
 
-
 Limitations
 -----------
 
-* Two modules with the same name cannot be mentioned in a single Multibuild
+* Two modules with the same name cannot be mentioned in a single Multibuild.
+
diff --git a/cython_multibuild/build.py b/cython_multibuild/build.py
deleted file mode 100644
index 5ee6e7d..0000000
--- a/cython_multibuild/build.py
+++ /dev/null
@@ -1,12 +0,0 @@
-from Cython import Build
-
-old_cythonize = Build.cythonize
-
-
-def build(extensions, *args, **kwargs):
-    for multibuild in extensions:
-        multibuild.generate()
-    return old_cythonize([ext.for_cythonize() for ext in extensions], *args, **kwargs)
-
-
-Build.cythonize = build
diff --git a/example/setup.py b/example/setup.py
index 6b6131c..b9e88ef 100644
--- a/example/setup.py
+++ b/example/setup.py
@@ -1,15 +1,15 @@
-from Cython import Build
 from setuptools import setup, find_packages
 
-from cython_multibuild import Multibuild
-
+from snakehouse import Multibuild, build
 
 cython_multibuilds = [
     Multibuild('example_module', ['example_module/test.pyx', 'example_module/test2.pyx',
                                   'example_module/test3/test3.pyx'])
 ]
 
-ext_modules = Build.cythonize(cython_multibuilds,
+# first argument is used directly by snakehouse, the rest and **kwargs are passed to
+# Cython.Build.cythonize
+ext_modules = build(cython_multibuilds,
                         compiler_directives={
                             'language_level': '3',
                         })
@@ -18,7 +18,7 @@ setup(name='example_module',
       version='0.1',
       packages=find_packages(include=['example_module']),
       install_requires=[
-            'Cython', 'cython-multibuild'
+            'Cython', 'snakehouse'
       ],
       zip_safe=False,
       tests_require=[
diff --git a/setup.cfg b/setup.cfg
index 213d2ea..07d2c71 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,16 +1,16 @@
 # coding: utf-8
 [metadata]
-name = cython-multibuild
+name = snakehouse
 long-description = file: README.md
 long-description-content-type = text/markdown; charset=UTF-8
 license_files = LICENSE
 author = Piotr Maślanka
 author_email = piotrm@smok.co
 description = Utilities for packing multiple pyx files into a single Cython extension
-url = https://github.com/smok-serwis/cython-multibuild
+url = https://github.com/smok-serwis/snakehouse
 project-urls =
-	Code = https://github.com/smok-serwis/cython-multibuild
-	Issue tracker = https://github.com/smok-serwis/cython-multibuild/issues
+	Code = https://github.com/smok-serwis/snakehouse
+	Issue tracker = https://github.com/smok-serwis/snakehouse/issues
 classifier =
     Programming Language :: Python
     Programming Language :: Python :: 3.7
diff --git a/setup.py b/setup.py
index 706ee4e..1037108 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,9 @@
 from setuptools import setup, find_packages
 
-from cython_multibuild import __version__
+from snakehouse import __version__
 
 setup(keywords=['cython', 'extension', 'multiple', 'pyx'],
-      packages=find_packages(include=['cython_multibuild']),
+      packages=find_packages(include=['snakehouse']),
       version=__version__,
       install_requires=[
             'Cython'
diff --git a/cython_multibuild/__init__.py b/snakehouse/__init__.py
similarity index 75%
rename from cython_multibuild/__init__.py
rename to snakehouse/__init__.py
index c36d320..5f2ca9a 100644
--- a/cython_multibuild/__init__.py
+++ b/snakehouse/__init__.py
@@ -1,4 +1,4 @@
 from .build import build
 from .multibuild import Multibuild
 
-__version__ = '0.5'
+__version__ = '1.0'
diff --git a/snakehouse/build.py b/snakehouse/build.py
new file mode 100644
index 0000000..2f2900c
--- /dev/null
+++ b/snakehouse/build.py
@@ -0,0 +1,7 @@
+from Cython.Build import cythonize
+
+
+def build(extensions, *args, **kwargs):
+    for multibuild in extensions:
+        multibuild.generate()
+    return cythonize([ext.for_cythonize() for ext in extensions], *args, **kwargs)
diff --git a/cython_multibuild/multibuild.py b/snakehouse/multibuild.py
similarity index 100%
rename from cython_multibuild/multibuild.py
rename to snakehouse/multibuild.py
-- 
GitLab