Repository: eigency-org/eigency (language: python)

Issue:
update eigen version on pypi
Hello,

I discover that the version of eigen in the pypi package is 3.2.8:
(image from https://gitlab.com/libeigen/eigen/-/releases/3.2.8)
![image](https://user-images.githubusercontent.com/5357208/227229188-38ce6645-bf0b-47b2-9610-eec84bd9fb7e.png)

this is a very old version of eigen. not compatible with std:c++17 ...

it is possible to update  the version?

Thanks


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8c7165b..2f1b7df 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,15 +20,15 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ ubuntu-18.04, ubuntu-20.04, windows-latest, macos-latest ]
-        python: [ "3.5", "3.6", "3.7", "3.8", "3.9", "3.10" ]
+        os: [ ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest ]
+        python: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
     runs-on: ${{ matrix.os }}
     steps:
       - uses: actions/checkout@v3
         with:
           submodules: true
       - name: Setup Python ${{ matrix.python }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python }}
       - name: Install build dependencies
diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index 1f265ff..5f26361 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -18,7 +18,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Setup Python
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v4
       with:
         python-version: "3.8"
     - uses: pre-commit/action@v2.0.3
diff --git a/.github/workflows/setup.yml b/.github/workflows/setup.yml
index 502d56e..81ca249 100644
--- a/.github/workflows/setup.yml
+++ b/.github/workflows/setup.yml
@@ -19,8 +19,10 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ ubuntu-18.04, ubuntu-20.04, windows-latest, macos-latest ]
-        python: [ "3.5", "3.6", "3.7", "3.8", "3.9", "3.10" ]
+# Disable MacOS testing because it's being dumb
+#        os: [ ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest ]
+        os: [ ubuntu-20.04, ubuntu-22.04, windows-latest ]
+        python: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
     runs-on: ${{ matrix.os }}
     steps:
       - name: Install MSBuild
@@ -32,11 +34,12 @@ jobs:
         with:
           submodules: true
       - name: Setup Python ${{ matrix.python }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python }}
       - name: Install build dependencies
         run: |
+          python -m pip install --upgrade pip
           python -m pip install --upgrade setuptools>=42 setuptools_scm numpy Cython
       - name: Build and install eigency
         run: |
diff --git a/.github/workflows/wheel.yml b/.github/workflows/wheel.yml
index f0708a6..e9c580c 100644
--- a/.github/workflows/wheel.yml
+++ b/.github/workflows/wheel.yml
@@ -20,15 +20,15 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        os: [ ubuntu-18.04, ubuntu-20.04, windows-latest, macos-latest ]
-        python: [ "3.5", "3.6", "3.7", "3.8", "3.9", "3.10" ]
+        os: [ ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest ]
+        python: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
     runs-on: ${{ matrix.os }}
     steps:
       - uses: actions/checkout@v3
         with:
           submodules: true
       - name: Setup Python ${{ matrix.python }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python }}
       - name: Install build dependencies
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 771a62b..dc86980 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -3,12 +3,12 @@ default_language_version:
 exclude: ^eigency/eigen
 repos:
   - repo: https://github.com/psf/black
-    rev: 22.8.0
+    rev: 23.1.0
     hooks:
       - id: black
         args: [--line-length, "120"]
   - repo: https://github.com/pycqa/isort
-    rev: 5.10.1
+    rev: 5.12.0
     hooks:
       - id: isort
         name: isort (python)
@@ -19,17 +19,17 @@ repos:
         name: isort (pyi)
         types: [pyi]
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.3.0
+    rev: v4.4.0
     hooks:
       - id: trailing-whitespace
       - id: end-of-file-fixer
       - id: check-yaml
       - id: check-added-large-files
   - repo: https://github.com/pycqa/flake8
-    rev: 5.0.4
+    rev: 6.0.0
     hooks:
       - id: flake8
   - repo: https://github.com/PyCQA/bandit
-    rev: 1.7.4
+    rev: 1.7.5
     hooks:
       - id: bandit
diff --git a/eigency/eigen b/eigency/eigen
index 8fb4069..3147391 160000
--- a/eigency/eigen
+++ b/eigency/eigen
@@ -1,1 +1,1 @@
-Subproject commit 8fb4069b2aec026bbd300d990e2bfba1a6681cbe
+Subproject commit 3147391d946bb4b6c68edd901f2add6ac1f31f8c
diff --git a/setup.py b/setup.py
index e605909..106c2ee 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@
 from os.path import basename, join
 
 import numpy as np
-from setuptools import find_packages, setup
+from setuptools import find_namespace_packages, setup
 from setuptools.extension import Extension
 
 sys.path.append(".")
@@ -49,7 +49,12 @@
 ]
 
 if USE_CYTHON:
-    extensions = cythonize(extensions)
+    extensions = cythonize(
+        extensions,
+        compiler_directives=dict(
+            language_level="3",
+        ),
+    )
 
 long_description = open("README.md").read()
 
@@ -69,12 +74,11 @@
         "License :: OSI Approved :: MIT License",
         "Programming Language :: C++",
         "Programming Language :: Cython",
-        "Programming Language :: Python :: 3.5",
-        "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
     ],
     license="MIT",
     author="Wouter Boomsma",
@@ -82,10 +86,17 @@
     url="https://github.com/wouterboomsma/eigency",
     use_scm_version=True,
     ext_modules=extensions,
-    packages=find_packages(),
+    packages=find_namespace_packages(
+        include=[
+            "eigency",
+            "eigency.eigen",
+            "eigency.eigen.Eigen",
+            "eigency.eigen.Eigen.*",
+        ],
+    ),
     include_package_data=True,
     package_data={__package_name__: ["*.h", "*.pxd", "*.pyx", join(__eigen_lib_dir__, "*")] + eigen_data_files},
     exclude_package_data={__package_name__: [join(__eigen_lib_dir__, "CMakeLists.txt")]},
-    python_requires=">=3.5",
+    python_requires=">=3.7",
     install_requires=["numpy"],
 )


Test patch:
diff --git a/tests/setup.py b/tests/setup.py
index 6012c37..1bd19ce 100644
--- a/tests/setup.py
+++ b/tests/setup.py
@@ -13,8 +13,13 @@
 ]
 
 setup(
-    name="eigency_tests",
+    name="eigency-tests",
     version="0.0.0",
-    ext_modules=cythonize(extensions),
+    ext_modules=cythonize(
+        extensions,
+        compiler_directives=dict(
+            language_level="3",
+        ),
+    ),
     packages=["eigency_tests"],
 )