Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
2815f4c
add bodo recipe
srilman Dec 19, 2024
ad9f7d1
Merge branch 'main' into bodo-recipe
srilman Dec 19, 2024
e06f4d7
remove sccache
srilman Dec 19, 2024
493bb94
remove stdlib cxx
srilman Dec 19, 2024
f7271d4
add all maintainers
srilman Dec 19, 2024
4146deb
add more deps for run exports
srilman Dec 20, 2024
8f831ea
force include core
srilman Dec 20, 2024
de7cf00
Merge branch 'main' into bodo-recipe
srilman Dec 20, 2024
c542516
Merge branch 'main' into bodo-recipe
carterbox Feb 17, 2025
83a4f03
some fixes
srilman Feb 19, 2025
f33d249
fix sha
srilman Feb 20, 2025
81d6c07
fix boost
srilman Feb 21, 2025
7ad9c31
constrain python
srilman Feb 21, 2025
6c2dc7d
update recipe for newer versions
srilman Apr 23, 2025
3cd2c94
Merge remote-tracking branch 'origin/main' into bodo-recipe
scott-routledge2 Jun 2, 2025
be39083
update bodo version and recipe
scott-routledge2 Jun 2, 2025
9a37082
unskip windows
scott-routledge2 Jun 2, 2025
c53aacc
fix lint and update aws-sdk constraint
scott-routledge2 Jun 2, 2025
4b3120f
fix aws sdk version
scott-routledge2 Jun 2, 2025
da65b23
update sha
scott-routledge2 Jun 2, 2025
b3f6a08
constrain cmake
scott-routledge2 Jun 3, 2025
7af2664
apply fixes
scott-routledge2 Jun 3, 2025
07b74f5
revert some changes
scott-routledge2 Jun 3, 2025
677bb56
fix invalid template
scott-routledge2 Jun 3, 2025
6c8081f
try declaring openssl in req/run
scott-routledge2 Jun 3, 2025
662b788
add cmake args
scott-routledge2 Jun 4, 2025
51fe667
disable parallelism
scott-routledge2 Jun 4, 2025
04aaac8
update path
scott-routledge2 Jun 4, 2025
908ea3d
clean up build dir
scott-routledge2 Jun 4, 2025
12ed616
rerun check
scott-routledge2 Jun 7, 2025
5e547d4
Merge branch 'main' into bodo-recipe
scott-routledge2 Jun 7, 2025
1f45570
Merge branch 'main' into bodo-recipe
scott-routledge2 Jun 19, 2025
187bb59
patch boost
scott-routledge2 Jun 20, 2025
d771cb9
add aws-sdk-cpp
scott-routledge2 Jun 20, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions recipes/bodo/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
set "SETUPTOOLS_SCM_PRETEND_VERSION=%PKG_VERSION%"
set "CONDA_PREFIX=%PREFIX%"
set "BODO_WINDOWS_BUILD_TYPE=Release"

:: Build using pip and CMake
"%PYTHON%" -m pip install --no-deps --no-build-isolation -vv ^
--config-settings=build.verbose=true ^
--config-settings=logging.level="DEBUG" .

:: Clean up build artifacts
rd /s /q build
14 changes: 14 additions & 0 deletions recipes/bodo/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
set -exo pipefail

export SETUPTOOLS_SCM_PRETEND_VERSION="$PKG_VERSION"

export CONDA_PREFIX_OLD=$CONDA_PREFIX
export CONDA_PREFIX=$PREFIX
export CMAKE_GENERATOR='Ninja'

$PYTHON -m pip install \
--no-deps --no-build-isolation -vv \
--config-settings=build.verbose=true \
--config-settings=logging.level="DEBUG" \
--config-settings=cmake.args="-DCMAKE_INSTALL_PREFIX=$PREFIX;-DCMAKE_INSTALL_LIBDIR=lib;-DCMAKE_FIND_ROOT_PATH='$PREFIX;$CONDA_PREFIX_OLD/x86_64-conda-linux-gnu/sysroot';-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY" \
.
Comment on lines +13 to +14
Copy link
Member

@carterbox carterbox Jun 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We define $CMAKE_ARGS for the compilers in our channel. If you have issues cross-compiling, look at this variable.

13 changes: 13 additions & 0 deletions recipes/bodo/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
MACOSX_SDK_VERSION: # [osx and x86]
- "10.15" # [osx and x86]
MACOSX_DEPLOYMENT_TARGET: # [osx and x86]
- "10.15" # [osx and x86]

c_stdlib_version:
- "10.15" # [osx and x86]
- "2.28" # [linux]

c_compiler: # [win]
- vs2022 # [win]
cxx_compiler: # [win]
- vs2022 # [win]
118 changes: 118 additions & 0 deletions recipes/bodo/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
{% set name = "bodo" %}
{% set version = "2025.5" %}

package:
name: {{ name }}
version: {{ version }}

source:
url: https://github.com/bodo-ai/Bodo/archive/refs/tags/{{ version }}.tar.gz
sha256: 879370fd33c7c2f4f3255076eabbc875f43bde6d4a189847b0fbc011821b2899
patches:
- patches/0001-fix-boost-cmake.patch

build:
skip: True # [py<310]
number: 0
rpaths:
- lib
- {{ PREFIX }}/lib
- {{ SP_DIR }}/pyarrow
missing_dso_whitelist:
- '*/arrow_python.dll' # [win]

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib("c") }}
- cmake <4.0,>=3.23
- ninja
- cross-python_{{ target_platform }} # [build_platform != target_platform]
- python # [build_platform != target_platform]
- cython ~=3.0 # [build_platform != target_platform]
- numpy # [build_platform != target_platform]

host:
- python
- pip

# Build Deps
- setuptools >=64
- cython ~=3.0
- setuptools_scm >=8
- scikit-build-core
- mpi4py ~=4.0

# Arrow Deps
- libarrow =19.0.0
- libarrow-dataset =19.0.0
- libparquet =19.0.0
- pyarrow-core =19.0.0

# C++ Deps
- libboost-headers =1.85 # [not win]
- libboost-devel =1.85 # [win]
- aws-sdk-cpp <=1.11.485
- zstd <=1.5.6
- hdf5 >=1.14.3,<1.14.4.0a0=mpi_mpich_* # [not win]
- hdf5 >=1.14.3,<1.14.4.0a0=*mpi_impi_* # [win]

# Python Deps
- numba =0.61.2
# Compatible with Numba requirements
- numpy >=1.24
- pandas >=2.2,<2.3
- fsspec >=2021.09
- h5py
- mpich 4.1.*=h* # [not win]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mpich is not a python package

- impi-devel # [win64]
- requests
- cloudpickle >=3.0,<4.0

run:
- python
- {{ pin_compatible('numpy') }}
- pandas >=2.2,<2.3
- pyarrow-core =19.0.0
- pyarrow =19.0.0
- fsspec >=2021.09
- numba 0.61.2
- mpich *=h* # [not win]
- requests
- openssl # [win]
- zstd <=1.5.6
- cloudpickle >=3.0,<4.0
- psutil

# run_constrained means these packages are not required deps
# but will restrict them if they are present in the conda env.
run_constrained:
- numpy >=1.24
- scikit-learn =1.4.*
- s3fs >=2022.1.0
- adlfs >=2022.1.0
- pyiceberg >=0.9,<0.10
- boto3 *
- mypy-boto3-glue *

test:
imports:
- bodo
source_files:
- examples/Misc/misc_pi.py

about:
home: https://bodo.ai
license: Apache-2.0
license_file: LICENSE
summary: High-Performance Python Compute Engine for Data and AI

extra:
recipe-maintainers:
- ehsantn
- IsaacWarren
- hadia206
- knassre-bodo
- scott-routledge2
- DrTodd13
15 changes: 15 additions & 0 deletions recipes/bodo/patches/0001-fix-boost-cmake.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57b3bab..a3e53ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,10 +111,6 @@ if(WIN32)
find_package(OpenSSL REQUIRED)
endif()

-# Add boost as a dependency
-# We use the header-only version of boost::json: https://www.boost.org/doc/libs/1_87_0/libs/json/doc/html/json/overview.html
-find_package(Boost 1.85 REQUIRED COMPONENTS json)
-
# ----------------------------- Download Apache Datasketches -------------------------
include(ExternalProject)
ExternalProject_Add(datasketches
6 changes: 6 additions & 0 deletions recipes/bodo/run_test.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
set "NUMBA_DEVELOPER_MODE=1"
set "NUMBA_DISABLE_ERROR_MESSAGE_HIGHLIGHTING=1"
set "PYTHONFAULTHANDLER=1"
set "BODO_NUM_WORKERS=3"

python -u examples/Misc/misc_pi.py
9 changes: 9 additions & 0 deletions recipes/bodo/run_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash
set -exo pipefail

export NUMBA_DEVELOPER_MODE=1
export NUMBA_DISABLE_ERROR_MESSAGE_HIGHLIGHTING=1
export PYTHONFAULTHANDLER=1
export BODO_NUM_WORKERS=3

python -u examples/Misc/misc_pi.py