diff --git a/recipes/bodo/build.sh b/recipes/bodo/build.sh new file mode 100644 index 0000000000000..6a02ef3cbaf23 --- /dev/null +++ b/recipes/bodo/build.sh @@ -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" \ + . diff --git a/recipes/bodo/conda_build_config.yaml b/recipes/bodo/conda_build_config.yaml new file mode 100644 index 0000000000000..01b8fb32b5933 --- /dev/null +++ b/recipes/bodo/conda_build_config.yaml @@ -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] diff --git a/recipes/bodo/meta.yaml b/recipes/bodo/meta.yaml new file mode 100644 index 0000000000000..bba156ef06b6e --- /dev/null +++ b/recipes/bodo/meta.yaml @@ -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 + - 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 diff --git a/recipes/bodo/run_test.sh b/recipes/bodo/run_test.sh new file mode 100644 index 0000000000000..4df57a9bea9e0 --- /dev/null +++ b/recipes/bodo/run_test.sh @@ -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