Maintaining the codebase

Ibis maintainers are expected to handle the following tasks as they arise:

  • Reviewing and merging pull requests
  • Triaging new issues


Dependency updates are automated using Mend Renovate.


Occasionally you may need to lock poetry dependencies. Edit pyproject.toml as needed, then run:

poetry lock --no-update
poetry export --extras all --with dev --with test --with docs --without-hashes --no-ansi > requirements-dev.txt

The second step updates requirements-dev.txt for developers using pip.

Adding examples

If you’re not a maintainer, please open an issue asking us to add your example.


You need the ability to write to the gs://ibis-examples GCS bucket to add an example.


Make sure you’re in the root of the ibis git repository.

Assuming your file is called example.csv:

  1. Add a gzip-compressed CSV file with the path ibis/examples/data/example.csv.gz.
  2. Add a file named ibis/examples/descriptions/example that contains a description of your example. One line is best, but not necessary.
  3. Run one of the following from the git root of an ibis clone:
    • python ibis/examples/ (doesn’t include R dependencies)
    • nix run '.#gen-examples' (includes R dependencies)


Ibis is released on PyPI and Conda Forge.

Releases to PyPI are handled automatically using semantic release.

To trigger a release use the Release GitHub Action.

The conda-forge package is maintained as a conda-forge feedstock.

After a release to PyPI, the conda-forge bot automatically updates the ibis package.

Back to top