From 74aea6f1dce436329e691cba245dd2eeaec58251 Mon Sep 17 00:00:00 2001 From: Roman Mogilatov Date: Fri, 4 Nov 2016 10:49:08 +0200 Subject: [PATCH] Transfer errors module to Cython --- docs/main/changelog.rst | 1 + setup.py | 4 ++++ src/dependency_injector/errors.pxd | 8 ++++++++ src/dependency_injector/{errors.py => errors.pyx} | 7 +++++-- src/dependency_injector/injections.pxd | 2 +- src/dependency_injector/injections.pyx | 2 +- 6 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 src/dependency_injector/errors.pxd rename src/dependency_injector/{errors.py => errors.pyx} (51%) diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index 0b5e9807..e254a743 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -10,6 +10,7 @@ follows `Semantic versioning`_ Development version ------------------- - Add ``dependency_injector.injections`` module (C extension). +- Transfer ``dependency_injector.errors`` module to Cython (C extension). - Remove ``@inject`` decorator. - Add makefile (``clean``, ``test``, ``build``, ``install``, ``uninstall`` & ``publish`` commands). diff --git a/setup.py b/setup.py index f6ddec9c..c91dd47e 100644 --- a/setup.py +++ b/setup.py @@ -50,6 +50,10 @@ setup(name='dependency-injector', ['src/dependency_injector/injections.c'], define_macros=defined_macros, extra_compile_args=['-O2']), + Extension('dependency_injector.errors', + ['src/dependency_injector/errors.c'], + define_macros=defined_macros, + extra_compile_args=['-O2']), ], package_data={ 'dependency_injector': ['*.pxd'], diff --git a/src/dependency_injector/errors.pxd b/src/dependency_injector/errors.pxd new file mode 100644 index 00000000..8a274eef --- /dev/null +++ b/src/dependency_injector/errors.pxd @@ -0,0 +1,8 @@ +"""Dependency injector errors. + +Powered by Cython. +""" + + +cdef class Error(Exception): + pass diff --git a/src/dependency_injector/errors.py b/src/dependency_injector/errors.pyx similarity index 51% rename from src/dependency_injector/errors.py rename to src/dependency_injector/errors.pyx index 69aa283e..f37c28dc 100644 --- a/src/dependency_injector/errors.py +++ b/src/dependency_injector/errors.pyx @@ -1,7 +1,10 @@ -"""Dependency injector errors module.""" +"""Dependency injector errors. + +Powered by Cython. +""" -class Error(Exception): +cdef class Error(Exception): """Base error. All dependency injector errors extend this error class. diff --git a/src/dependency_injector/injections.pxd b/src/dependency_injector/injections.pxd index d6969714..38682403 100644 --- a/src/dependency_injector/injections.pxd +++ b/src/dependency_injector/injections.pxd @@ -1,6 +1,6 @@ """Dependency injector injections. -Cython optimized code. +Powered by Cython. """ cimport cython diff --git a/src/dependency_injector/injections.pyx b/src/dependency_injector/injections.pyx index 1afd99c7..673360a1 100644 --- a/src/dependency_injector/injections.pyx +++ b/src/dependency_injector/injections.pyx @@ -1,6 +1,6 @@ """Dependency injector injections. -Cython optimized code. +Powered by Cython. """ cimport cython