Skip to content

Comments

Wire MolFTP & BCFP into RDKit CI: Complete Integration#2

Open
guillaume-osmo wants to merge 11 commits intomainfrom
guillaume
Open

Wire MolFTP & BCFP into RDKit CI: Complete Integration#2
guillaume-osmo wants to merge 11 commits intomainfrom
guillaume

Conversation

@guillaume-osmo
Copy link

🎯 Overview

This PR integrates MolFTP and BCFP extensions into the RDKit wheel build process, enabling automated building and publishing of wheels with these extensions alongside the base RDKit wheel.

📋 Changes Made

Core Integration

  • Added external/ submodules for bcfp and molftp extensions
  • Added tools/ build scripts for automated extension building
  • Added FindLAPACKE.cmake for osmordred LAPACKE support
  • Updated setup.py to build and package MolFTP & BCFP extensions
  • Updated conanfile.py to use Boost 1.85.0 (matching RDKit build)

Extension Support

  • Added setup.py to molftp submodule for C++ extension compilation
  • Enhanced bcfp and molftp with proper RDKit 2025.3.6+osmordred compatibility
  • Fixed compilation issues with Conan Boost 1.85.0 headers and libraries

🚀 Benefits

  • Unified CI: Single workflow builds RDKit + MolFTP + BCFP wheels
  • Version Consistency: All extensions use same RDKit version (2025.3.6+osmordred)
  • Automated Publishing: Wheels published to PyPI after RDKit
  • Cross-Platform: Works on Linux, macOS, and Windows
  • Clean Integration: Minimal changes to existing codebase

✅ Testing

  • ✅ bcfp 2.0.0: ECFP fingerprint generation works
  • ✅ molftp 1.0.0: MultiTaskPrevalenceGenerator works
  • ✅ RDKit 2025.3.6+osmordred: All functionality preserved
  • ✅ Cross-extension compatibility verified

📁 Repository Structure

external/
├── bcfp/          # Git submodule
└── molftp/        # Git submodule (with setup.py)
tools/
├── build_bcfp.sh
└── build_molftp.sh
FindLAPACKE.cmake  # LAPACKE support

This enables building RDKit wheels with MolFTP and BCFP extensions using the same CI infrastructure as the base RDKit wheel.

mikek-osmo and others added 11 commits September 15, 2025 17:11
- Add external/ submodules for bcfp and molftp extensions
- Add tools/ build scripts for automated extension building
- Add FindLAPACKE.cmake for osmordred LAPACKE support
- Update setup.py to build and package MolFTP & BCFP extensions
- Update conanfile.py to use Boost 1.85.0 (matching RDKit build)
- Update .gitignore for build artifacts
- Add setup.py to molftp submodule for C++ extension compilation

This enables building RDKit wheels with MolFTP and BCFP extensions
using the same CI infrastructure as the base RDKit wheel.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants