diff --git a/README.md b/README.md index 3dffe9e..d61c4a9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # bioimage-cpp +[![Documentation](https://img.shields.io/badge/docs-pdoc-blue)](https://computational-cell-analytics.github.io/bioimage-cpp/) +[![Build Status](https://github.com/computational-cell-analytics/bioimage-cpp/actions/workflows/tests.yml/badge.svg)](https://github.com/computational-cell-analytics/bioimage-cpp/actions/workflows/tests.yml) +[![PyPI](https://img.shields.io/pypi/v/bioimage-cpp)](https://pypi.org/project/bioimage-cpp/) +[![conda-forge](https://img.shields.io/conda/vn/conda-forge/bioimage-cpp)](https://anaconda.org/conda-forge/bioimage-cpp) + Image processing and segmentation functionality in C++ with light-weight python bindings through nanobind and minimal dependencies to enable distribution via pip. The `bioimage_cpp` python library can be installed via pip: @@ -7,4 +12,9 @@ The `bioimage_cpp` python library can be installed via pip: pip install bioimage-cpp ``` +Or via conda-forge: +```bash +conda install -c conda-forge bioimage-cpp +``` + Please refer to [the documentation](https://computational-cell-analytics.github.io/bioimage-cpp/) for details. diff --git a/src/bioimage_cpp/__init__.py b/src/bioimage_cpp/__init__.py index 99d963c..631d732 100644 --- a/src/bioimage_cpp/__init__.py +++ b/src/bioimage_cpp/__init__.py @@ -22,17 +22,33 @@ pip install bioimage-cpp ``` +Or via conda-forge: +```bash +conda install -c conda-forge bioimage-cpp +``` + Additional dependencies for tests / data downloads can be installed via `pip install bioimage-cpp[test]` / `pip install bioimage-cpp[data]` respectively. -We will make it available on conda-forge as soon as possible. +You can also install this library from source. The build requires C++20 (GCC >= 10 or Clang >= 13). -You can also install this library from source as follows: -``` +If your system already has a C++20-capable compiler, clone and build directly: +```bash git clone https://github.com/computational-cell-analytics/bioimage-cpp cd bioimage-cpp pip install -e . ``` +On systems with an older compiler (e.g. many HPC clusters ship GCC 8), install a modern one from conda-forge alongside the build dependencies, and point `CC`/`CXX` at it: +```bash +conda install gcc_linux-64 gxx_linux-64 scikit-build-core nanobind -c conda-forge -y +export CC=x86_64-conda-linux-gnu-gcc +export CXX=x86_64-conda-linux-gnu-g++ +pip install --no-build-isolation -e . +``` + +The `--no-build-isolation` flag reuses the `scikit-build-core` and `nanobind` already installed in your environment. +Re-run the same command after any C++ source change to rebuild. + ## Functionality This library provides the following functionality: