diff --git a/.circleci/config.yml b/.circleci/config.yml index 342415f..fc5499d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -51,7 +51,7 @@ workflows: - linux-arm64-wheels: matrix: parameters: - python-version: ["39", "310", "311", "312"] + python-version: ["39", "310", "311", "312", "313"] # - osx-wheels: # matrix: # parameters: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 5ae440a..4cf86de 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -42,10 +42,10 @@ jobs: python: 312 bitness: 64 platform_id: win_amd64 - # - os: windows-2019 - # python: 313 - # bitness: 64 - # platform_id: win_amd64 + - os: windows-2019 + python: 313 + bitness: 64 + platform_id: win_amd64 # Linux 64 bit Intel: x86_64 - os: ubuntu-latest @@ -64,10 +64,10 @@ jobs: python: 312 bitness: 64 platform_id: manylinux_x86_64 - # - os: ubuntu-latest - # python: 313 - # bitness: 64 - # platform_id: manylinux_x86_64 + - os: ubuntu-latest + python: 313 + bitness: 64 + platform_id: manylinux_x86_64 # Linux 64 bit ARM: aarch64 (on Circle CI) @@ -88,10 +88,10 @@ jobs: bitness: 64 python: 312 platform_id: macosx_arm64 - # - os: macos-14 - # bitness: 64 - # python: 313 - # platform_id: macosx_arm64 + - os: macos-14 + bitness: 64 + python: 313 + platform_id: macosx_arm64 # MacOS 64 bit Intel: x86_64 - os: macos-12 @@ -110,10 +110,10 @@ jobs: bitness: 64 python: 312 platform_id: macosx_x86_64 - # - os: macos-12 - # bitness: 64 - # python: 313 - # platform_id: macosx_x86_64 + - os: macos-12 + bitness: 64 + python: 313 + platform_id: macosx_x86_64 steps: - uses: actions/checkout@v4 @@ -126,7 +126,7 @@ jobs: - uses: actions/setup-python@v5 name: Install Python with: - python-version: '3.11' + python-version: '3.13' - name: Export GitHub Actions cache environment variables for vcpkg if: ${{ runner.os == 'Windows' }} @@ -152,7 +152,6 @@ jobs: - name: Build wheels env: CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} - CIBW_ARCHS: all run: | if [ "$RUNNER_OS" == "Windows" ]; then diff --git a/README.md b/README.md index f3f7df6..9731162 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,13 @@ Please open an issue if you find something missing or not working as expected. ![GitHub Repo stars](https://img.shields.io/github/stars/kuelumbus/rdkit-pypi?style=for-the-badge&logo=github) ## Available Builds -| OS | Arch | Bit | Conditions | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | CI | -| ------- | ------- | --- | --------------------------------------------------- | -------------- | --- | ---- | ---- | ---- | ----------------- | -| Linux | intel | 64 | glibc >= 2.28 (e.g., Ubuntu 18.04+, CentOS 6+, ...) | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | -| Linux | aarch64 | 64 | glibc >= 2.28 (e.g., Raspberry Pi, ...) | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | Circle CI | -| macOS | intel | 64 | >= macOS 10.13 | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | -| macOS | armv8 | 64 | >= macOS 11, M1 hardware | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | -| Windows | intel | 64 | | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | +| OS | Arch | Bit | Conditions | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | CI | +| ------- | ------- | --- | --------------------------------------------------- | -------------- | --- | ---- | ---- | ---- | ---- | -------------- | +| Linux | intel | 64 | glibc >= 2.28 (e.g., Ubuntu 18.04+, CentOS 6+, ...) | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | +| Linux | aarch64 | 64 | glibc >= 2.28 (e.g., Raspberry Pi, ...) | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Circle CI | +| macOS | intel | 64 | >= macOS 10.13 | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | +| macOS | armv8 | 64 | >= macOS 11, M1 hardware | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | +| Windows | intel | 64 | | last: 2024.3.5 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | Github Actions | ## Installation diff --git a/pyproject.toml b/pyproject.toml index 2adf8eb..0e6b610 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ requires = [ "setuptools==75.2.0", "wheel", - "cmake == 3.30.4", + "cmake == 3.31.1", "numpy", "conan == 1.64.0", "ninja", diff --git a/setup.py b/setup.py index a0d53bc..8cd103b 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ from setuptools.command.build_ext import build_ext as build_ext_orig # RDKit version to build (tag from github repository) -rdkit_tag = "Release_2024_03_6" +rdkit_tag = "Release_2024_09_1" with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() @@ -176,21 +176,6 @@ def replace_all(file, search_exp, replace_exp): 'target_link_libraries(rdkit_py_base INTERFACE "boost::python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}" "boost::numpy${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}")', ) - # on windows, cmake is not configured to detect the python*.lib dynamic library - # - # replace_all( - # "CMakeLists.txt", - # 'target_link_libraries(rdkit_py_base INTERFACE ${Python3_LIBRARIES} )', - # 'message("HERE")\n message(${Python3_LIBRARIES})\n target_link_libraries(rdkit_py_base INTERFACE ${Python3_LIBRARIES} )', - # ) - - # on windows; bug in 2024_03_6 - replace_all( - "CMakeLists.txt", - 'target_link_libraries(rdkit_py_base INTERFACE ${Python3_LIBRARY} )', - 'target_link_libraries(rdkit_py_base INTERFACE ${Python3_LIBRARIES} )', - ) - if "macosx" in os.environ["CIBW_BUILD"]: # Replace Cairo with cairo because conan uses lower case target names # only on MacOS cairo is installed using conan @@ -205,6 +190,20 @@ def replace_all(file, search_exp, replace_exp): 'target_link_libraries(MolDraw2D_static PUBLIC cairo::cairo)', ) + # introduced in 2024_09_01 for compiling pubchem shape. + replace_all( + "External/pubchem_shape/Wrap/CMakeLists.txt", + 'find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED)', + 'find_package(Python3 COMPONENTS Interpreter Development NumPy)', + ) + + + + print("---- Conf vars", file=sys.stderr) + print(sysconfig.get_paths(), file=sys.stderr) + print(sysconfig.get_config_vars(), file=sys.stderr) + print("---- Conf vars", file=sys.stderr) + print("---- Conf vars", file=sys.stderr) @@ -288,10 +287,12 @@ def to_win_path(pt: Path): options += [ "-DRDK_OPTIMIZE_POPCNT=OFF", # Otherwise, cmake tries to link the system freetype - "-DFREETYPE_LIBRARY=/opt/homebrew/lib/libfreetype.dylib", - "-DFREETYPE_INCLUDE_DIRS=/opt/homebrew/include", + # "-DFREETYPE_LIBRARY=/opt/homebrew/lib/libfreetype.dylib", + # "-DFREETYPE_INCLUDE_DIRS=/opt/homebrew/include", # Arm64 build start with development target 11.0 f"-DCMAKE_OSX_DEPLOYMENT_TARGET={os.environ.get('MACOSX_DEPLOYMENT_TARGET', '11.0')}", + f"-DCMAKE_OSX_ARCHITECTURES=arm64", + f"-DCMAKE_VERBOSE_MAKEFILE=ON" # Increase verbosity ] if "linux" in sys.platform: