From 97b1535c04fcd29e6e6d0b9d80c4fe6faf3c0665 Mon Sep 17 00:00:00 2001 From: Martin Larralde Date: Wed, 4 Sep 2024 01:38:01 +0200 Subject: [PATCH] Setup dynamic generation of Python version file from `pyproject.toml` --- .github/workflows/package.yml | 5 ----- .gitignore | 1 + CMakeLists.txt | 9 +-------- pyproject.toml | 5 +++++ src/pyrodigal/_version.py | 1 - src/pyrodigal/lib.pyi | 2 ++ src/scripts/cmake/CythonExtension.cmake | 1 + 7 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 src/pyrodigal/_version.py diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 0caae54..e7729a9 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -38,7 +38,6 @@ jobs: env: CIBW_ARCHS: aarch64 CIBW_BUILD: ${{ matrix.python-tag }} - CIBW_BEFORE_BUILD: pip install cython CIBW_BUILD_VERBOSITY: 2 CIBW_TEST_COMMAND: python -m unittest pyrodigal.tests -vv CIBW_TEST_REQUIRES: importlib-resources @@ -75,7 +74,6 @@ jobs: env: CIBW_ARCHS: x86_64 CIBW_BUILD: ${{ matrix.python-tag }} - CIBW_BEFORE_BUILD: pip install cython CIBW_BUILD_VERBOSITY: 2 CIBW_TEST_COMMAND: python -m unittest pyrodigal.tests -vv CIBW_TEST_REQUIRES: importlib-resources @@ -112,7 +110,6 @@ jobs: env: CIBW_ARCHS: x86_64 CIBW_BUILD: ${{ matrix.python-tag }} - CIBW_BEFORE_BUILD: pip install cython CIBW_BUILD_VERBOSITY: 2 CIBW_TEST_COMMAND: python -m unittest pyrodigal.tests -vv CIBW_TEST_REQUIRES: importlib-resources @@ -143,7 +140,6 @@ jobs: env: CIBW_ARCHS: arm64 CIBW_BUILD: ${{ matrix.python-tag }} - CIBW_BEFORE_BUILD: pip install cython CIBW_BUILD_VERBOSITY: 2 CIBW_TEST_COMMAND: python -m unittest pyrodigal.tests -vv CIBW_TEST_REQUIRES: importlib-resources @@ -181,7 +177,6 @@ jobs: env: CIBW_ARCHS: AMD64 CIBW_BUILD: ${{ matrix.python-tag }} - CIBW_BEFORE_BUILD: pip install cython CIBW_BUILD_VERBOSITY: 2 CIBW_TEST_COMMAND: python -m unittest pyrodigal.tests -vv CIBW_TEST_REQUIRES: importlib-resources diff --git a/.gitignore b/.gitignore index 559cfb9..356ad95 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ backup src/pyrodigal/lib.c src/pyrodigal/lib.h src/pyrodigal/*.html +src/pyrodigal/_version.py ### Cython ### diff --git a/CMakeLists.txt b/CMakeLists.txt index 5da6314..41c9e73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,5 @@ cmake_minimum_required(VERSION 3.20) - -if(DEFINED SKBUILD_PROJECT_NAME) - project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION}) -else() - project(pyncbitk) -endif() - -enable_language(C) +project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES C) set(BUILD_SHARED_LIBS OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) diff --git a/pyproject.toml b/pyproject.toml index 9e8d0de..6cc13ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,6 +62,11 @@ build-dir = "build/{build_type}" editable.rebuild = true editable.verbose = false +[[tool.scikit-build.generate]] +path = "src/pyrodigal/_version.py" +template = '__version__ = ${version}' +location = 'source' + [[tool.scikit-build.overrides]] if.state = "editable" cmake.build-type = "Debug" diff --git a/src/pyrodigal/_version.py b/src/pyrodigal/_version.py deleted file mode 100644 index 0c11bab..0000000 --- a/src/pyrodigal/_version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "3.5.1" diff --git a/src/pyrodigal/lib.pyi b/src/pyrodigal/lib.pyi index 49cabd0..d584cd9 100644 --- a/src/pyrodigal/lib.pyi +++ b/src/pyrodigal/lib.pyi @@ -21,6 +21,8 @@ except ImportError: # --- Globals ---------------------------------------------------------------- +__version__: str + _TARGET_CPU: str _AVX512_RUNTIME_SUPPORT: bool _AVX2_RUNTIME_SUPPORT: bool diff --git a/src/scripts/cmake/CythonExtension.cmake b/src/scripts/cmake/CythonExtension.cmake index 095265d..243c0f3 100644 --- a/src/scripts/cmake/CythonExtension.cmake +++ b/src/scripts/cmake/CythonExtension.cmake @@ -15,6 +15,7 @@ set(CYTHON_DIRECTIVES -E TARGET_CPU=${CMAKE_SYSTEM_PROCESSOR} -E TARGET_SYSTEM="linux" -E PYPY=$,True,False> + -E PROJECT_VERSION=${CMAKE_PROJECT_VERSION} ) if(${CMAKE_BUILD_TYPE} STREQUAL Debug)