Setting up a development environment

Required dependencies

Warning

pip will not handle installation of system dependencies

pip will not install system dependencies needed for some packages such as psycopg2 and kerberos.

For a better development experience see the conda or nix setup instructions.

  1. Install gh

  2. Fork and clone the ibis repository:

    gh repo fork --clone --remote ibis-project/ibis
  3. Change directory into ibis:

    cd ibis
  4. Install development dependencies

    pip install 'poetry==1.6.1'
    pip install -r requirements-dev.txt
  5. Install ibis in development mode

    pip install -e .
Note

Some optional dependencies for Windows are not available through conda/mamba

Support matrix

Python Version Python 3.9 Python 3.10 Python 3.11
Operating System
Linux 1

macOS (x86_64)

macOS (aarch64)

Windows

  1. Install Miniconda

  2. Install gh

    conda install -c conda-forge gh
  3. Fork and clone the ibis repository:

    gh repo fork --clone --remote ibis-project/ibis
  4. Create a Conda environment from a lock file in the repo:

# Create a dev environment for linux-64
cd ibis
conda create -n ibis-dev --file=conda-lock/linux-64-3.10.lock
# Create a dev environment for osx-64
cd ibis
conda create -n ibis-dev --file=conda-lock/osx-64-3.10.lock
# Create a dev environment for osx-arm64
cd ibis
conda create -n ibis-dev --file=conda-lock/osx-arm64-3.10.lock
# Create a dev environment for win-64
cd ibis
conda create -n ibis-dev --file=conda-lock/win-64-3.10.lock
  1. Activate the environment

    conda activate ibis-dev
  2. Install your local copy of ibis into the Conda environment

    cd ibis
    pip install -e .
  1. Install Mamba

  2. Install gh

    mamba install -c conda-forge gh
  3. Fork and clone the ibis repository:

    gh repo fork --clone --remote ibis-project/ibis
  4. Create a Conda environment from a lock file in the repo:

# Create a dev environment for linux-64
cd ibis
mamba create -n ibis-dev --file=conda-lock/linux-64-3.10.lock
# Create a dev environment for osx-64
cd ibis
mamba create -n ibis-dev --file=conda-lock/osx-64-3.10.lock
# Create a dev environment for osx-arm64
cd ibis
mamba create -n ibis-dev --file=conda-lock/osx-arm64-3.10.lock
# Create a dev environment for win-64
cd ibis
mamba create -n ibis-dev --file=conda-lock/win-64-3.10.lock
  1. Activate the environment

    mamba activate ibis-dev
  2. Install your local copy of ibis into the Conda environment

    cd ibis
    pip install -e .

Support Matrix

Python Version Python 3.9 Python 3.10 Python 3.11
Operating System
Linux 2

macOS (x86_64)

macOS (aarch64) 3

Windows 4

  1. Install nix

  2. Install gh:

    nix-shell -p gh
    nix-env -iA gh
  3. Fork and clone the ibis repository:

    gh repo fork --clone --remote ibis-project/ibis
  4. Set up the public ibis Cachix cache to pull pre-built dependencies:

    nix-shell -p cachix --run 'cachix use ibis'
  5. Run nix-shell in the checkout directory:

    cd ibis
    nix-shell

    This may take a while due to artifact download from the cache.

Building the docs

Run

just docs-preview

to build and serve the documentation.

Back to top