# Extending Ibis¶

Users typically want to extend ibis in one of two ways:

1. Add a new expression
2. Add a new backend

Below we provide notebooks showing how to extend ibis in each of these ways.

## Adding a New Expression¶

Note

Make sure you’ve run the following commands before executing the notebook

docker-compose up -d --no-build postgres dns
docker-compose run waiter
docker-compose run ibis ci/load-data.sh postgres


Here we show how to add a sha1 method to the PostgreSQL backend as well as how to add a new bitwise_and reduction operation:

TBD