Setting up a development environment
Required dependencies
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.
Fork and clone the ibis repository:
gh repo fork --clone --remote ibis-project/ibisChange directory into
ibis:cd ibisInstall development dependencies
pip install 'poetry==1.7.1' pip install -r requirements-dev.txtInstall ibis in development mode
pip install -e '.[all]'
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 |
Install Miniconda
Install
ghconda install -c conda-forge ghFork and clone the ibis repository:
gh repo fork --clone --remote ibis-project/ibisCreate 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=ci/conda-lock/linux-64/3.10.lock# Create a dev environment for osx-64
cd ibis
conda create -n ibis-dev --file=ci/conda-lock/osx-64/3.10.lock# Create a dev environment for osx-arm64
cd ibis
conda create -n ibis-dev --file=ci/conda-lock/osx-arm64/3.10.lock# Create a dev environment for win-64
cd ibis
conda create -n ibis-dev --file=ci/conda-lock/win-64/3.10.lockActivate the environment
conda activate ibis-devInstall your local copy of
ibisinto the Conda environmentcd ibis pip install -e '.[all]'
Install Mamba
Install
ghmamba install -c conda-forge ghFork and clone the ibis repository:
gh repo fork --clone --remote ibis-project/ibisCreate 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=ci/conda-lock/linux-64/3.10.lock# Create a dev environment for osx-64
cd ibis
mamba create -n ibis-dev --file=ci/conda-lock/osx-64/3.10.lock# Create a dev environment for osx-arm64
cd ibis
mamba create -n ibis-dev --file=ci/conda-lock/osx-arm64/3.10.lock# Create a dev environment for win-64
cd ibis
mamba create -n ibis-dev --file=ci/conda-lock/win-64/3.10.lockActivate the environment
mamba activate ibis-devInstall your local copy of
ibisinto the Conda environmentcd ibis pip install -e '.[all]'
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 |
Configure
nixEdit/create your
nix.conffile ($XDG_CONFIG_HOME/nix/nix.conf) and add the lineexperimental-features = nix-command flakesInstall
gh:nix-shell -p ghnix-env -iA ghFork and clone the ibis repository:
gh repo fork --clone --remote ibis-project/ibisSet up the public
ibisCachix cache to pull pre-built dependencies:nix-shell -p cachix --run 'cachix use ibis'Run
nix developin the checkout directory:cd ibis nix developThis will launch a
bashshell with all of the required dependencies installed. This may take a while due to artifact download from the cache.
Building the docs
Install just and run
just docs-previewto build and serve the documentation.
Footnotes
Tested in CI. If this doesn’t work for you, please file an issue.↩︎
Tested in CI. If this doesn’t work for you, please file an issue.↩︎
Not tested in CI. Unknown if this setup works.↩︎
Unlikely to ever be supported or no upstream support.↩︎