Skip to content

Add recipe for bodo #28648

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
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" \
.
8 changes: 8 additions & 0 deletions recipes/bodo/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
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]
110 changes: 110 additions & 0 deletions recipes/bodo/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{% set name = "bodo" %}
{% set version = "2025.2" %}

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

source:
url: https://github.com/bodo-ai/Bodo/archive/refs/tags/{{ version }}.tar.gz
sha256: 057411cb536ed07577b53614583c257917f16fcda08a6b841071f4e93042664c

build:
skip: True # [py<310 or win]
number: 0
rpaths:
- lib
- {{ PREFIX }}/lib
- {{ SP_DIR }}/pyarrow

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib("c") }}
- cmake
- 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 =3.1.5

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

# C++ Deps
- libboost-devel =1.85
Copy link
Member

Choose a reason for hiding this comment

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

Use the libboost-headers package since it doesn't look like your are linking to libboost.

There are also overdepending warnings from conda-build about zstd and curl.

- aws-sdk-cpp
- zstd <=1.5.6
- libcurl ~= 8.0
- hdf5 >=1.14.3,<1.14.4.0a0=mpi_mpich_*

# Python Deps
- numba =0.61.0
# Compatible with Numba requirements
- numpy >=1.24,<1.27
- pandas >=2.2,<2.3
- fsspec >=2021.09
- h5py
- mpich 4.1.*=h*
- requests
- cloudpickle >=3.0,<4.0

run:
- python
- {{ pin_compatible('numpy') }}
- pandas >=2.2,<2.3
- pyarrow-core =18.1.0
- pyarrow =18.1.0
- fsspec >=2021.09
- numba 0.61.0
- mpich *=h*
- requests
- aws-sdk-cpp
- 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:
- matplotlib <=3.8.2
- numpy >=1.24,<1.27
- scikit-learn =1.4.*
- s3fs >=2022.1.0
- adlfs >=2022.1.0
- gcsfs >=2022.1.0

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
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
Loading