diff --git a/nix/pytest-circular-import/.gitignore b/nix/pytest-circular-import/.gitignore new file mode 100644 index 0000000..bee8a64 --- /dev/null +++ b/nix/pytest-circular-import/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/nix/pytest-circular-import/default.nix b/nix/pytest-circular-import/default.nix new file mode 100644 index 0000000..2ba3fdc --- /dev/null +++ b/nix/pytest-circular-import/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import {} }: +pkgs.python3Packages.callPackage ./package.nix { } diff --git a/nix/pytest-circular-import/demo_cython_pytest/__init__.py b/nix/pytest-circular-import/demo_cython_pytest/__init__.py new file mode 100644 index 0000000..2d78dc0 --- /dev/null +++ b/nix/pytest-circular-import/demo_cython_pytest/__init__.py @@ -0,0 +1 @@ +from .module import native_sum diff --git a/nix/pytest-circular-import/demo_cython_pytest/module.py b/nix/pytest-circular-import/demo_cython_pytest/module.py new file mode 100644 index 0000000..e69de29 diff --git a/nix/pytest-circular-import/demo_cython_pytest/module.pyx b/nix/pytest-circular-import/demo_cython_pytest/module.pyx new file mode 100644 index 0000000..04ad023 --- /dev/null +++ b/nix/pytest-circular-import/demo_cython_pytest/module.pyx @@ -0,0 +1,9 @@ +#cython: language_level=3 + +cimport cython + +def native_sum(x, y): + return cy_sum(x, y) + +cdef int cy_sum(int x, int y): + return x + y diff --git a/nix/pytest-circular-import/demo_cython_pytest/module_test.py b/nix/pytest-circular-import/demo_cython_pytest/module_test.py new file mode 100644 index 0000000..6a3f48f --- /dev/null +++ b/nix/pytest-circular-import/demo_cython_pytest/module_test.py @@ -0,0 +1,4 @@ +from demo_cython_pytest import native_sum + +def test_module(): + assert native_sum(2, 2) == 4 diff --git a/nix/pytest-circular-import/package.nix b/nix/pytest-circular-import/package.nix new file mode 100644 index 0000000..eb0a733 --- /dev/null +++ b/nix/pytest-circular-import/package.nix @@ -0,0 +1,19 @@ +{ buildPythonPackage +, pytestCheckHook +, cython +, python +}: + +buildPythonPackage { + pname = "demo_cython_pytest"; + version = "0.0.1"; + + src = ./.; + + pythonImportsCheck = [ "demo_cython_pytest.module.native_sum" ]; + + nativeBuildInputs = [ + # pytestCheckHook + cython + ]; +} diff --git a/nix/pytest-circular-import/setup.py b/nix/pytest-circular-import/setup.py new file mode 100644 index 0000000..2f430c3 --- /dev/null +++ b/nix/pytest-circular-import/setup.py @@ -0,0 +1,31 @@ +from distutils.core import Extension +from setuptools import setup, find_packages +from Cython.Build import cythonize +from Cython.Distutils import build_ext +# from distutils.command.build_ext import build_ext + + +def ext_modules(): + modules = [] + includes = [] + libraries = [] + modules += cythonize(Extension( + "*", + ["demo_cython_pytest/module.pyx"], + include_dirs=includes, + libraries=libraries + )) + return modules + +setup( + name="demo_cython_pytest", + version="0.0.1", + description="Circular imports?", + author="lucasew", + packages=["demo_cython_pytest"], + ext_modules=ext_modules(), + include_package_data=True, + cmdclass=dict( + build_ext=build_ext + ) +) diff --git a/nix/pytest-circular-import/shell.nix b/nix/pytest-circular-import/shell.nix new file mode 100644 index 0000000..90c1125 --- /dev/null +++ b/nix/pytest-circular-import/shell.nix @@ -0,0 +1,6 @@ +{ pkgs ? import {} }: +pkgs.mkShell { + buildInputs = [ + (pkgs.python3Packages.callPackage ./package.nix { }) + ]; +}