diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7c4594fe82f74e5de669515e4681c37281c9502a..b0fba4df69a69e9a48722c5e27d9192f452f815c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -142,31 +142,6 @@ deploy_linux_27:
     - conda-linux
 
 
-# Linux + Python 3.4: Builds and tests
-build_linux_34:
-  <<: *build_job
-  variables: &linux_34_build_variables
-    PYTHON_VERSION: "3.4"
-  tags:
-    - conda-linux
-
-test_linux_34:
-  <<: *test_job
-  variables: *linux_34_build_variables
-  dependencies:
-    - build_linux_34
-  tags:
-    - conda-linux
-
-wheels_linux_34:
-  <<: *wheels_job
-  variables: *linux_34_build_variables
-  dependencies:
-    - build_linux_34
-  tags:
-    - conda-linux
-
-
 # Linux + Python 3.5: Builds, tests and uploads wheel
 build_linux_35:
   <<: *build_job
@@ -200,6 +175,31 @@ docs_linux_35:
     - conda-linux
 
 
+# Linux + Python 3.6: Builds and tests
+build_linux_36:
+  <<: *build_job
+  variables: &linux_36_build_variables
+    PYTHON_VERSION: "3.6"
+  tags:
+    - conda-linux
+
+test_linux_36:
+  <<: *test_job
+  variables: *linux_36_build_variables
+  dependencies:
+    - build_linux_36
+  tags:
+    - conda-linux
+
+wheels_linux_36:
+  <<: *wheels_job
+  variables: *linux_36_build_variables
+  dependencies:
+    - build_linux_36
+  tags:
+    - conda-linux
+
+
 # Mac OSX + Python 2.7: Builds and tests
 build_macosx_27:
   <<: *build_job
@@ -225,51 +225,51 @@ wheels_macosx_27:
     - conda-macosx
 
 
-# Mac OSX + Python 3.4: Builds and tests
-build_macosx_34:
+# Mac OSX + Python 3.5: Builds and tests
+build_macosx_35:
   <<: *build_job
-  variables: &macosx_34_build_variables
-    PYTHON_VERSION: "3.4"
+  variables: &macosx_35_build_variables
+    PYTHON_VERSION: "3.5"
   tags:
     - conda-macosx
 
-test_macosx_34:
+test_macosx_35:
   <<: *test_job
-  variables: *macosx_34_build_variables
+  variables: *macosx_35_build_variables
   dependencies:
-    - build_macosx_34
+    - build_macosx_35
   tags:
     - conda-macosx
 
-wheels_macosx_34:
+wheels_macosx_35:
   <<: *wheels_job
-  variables: *macosx_34_build_variables
+  variables: *macosx_35_build_variables
   dependencies:
-    - build_macosx_34
+    - build_macosx_35
   tags:
     - conda-macosx
 
 
-# Mac OSX + Python 3.5: Builds and tests
-build_macosx_35:
+# Mac OSX + Python 3.6: Builds and tests
+build_macosx_36:
   <<: *build_job
-  variables: &macosx_35_build_variables
-    PYTHON_VERSION: "3.5"
+  variables: &macosx_36_build_variables
+    PYTHON_VERSION: "3.6"
   tags:
     - conda-macosx
 
-test_macosx_35:
+test_macosx_36:
   <<: *test_job
-  variables: *macosx_35_build_variables
+  variables: *macosx_36_build_variables
   dependencies:
-    - build_macosx_35
+    - build_macosx_36
   tags:
     - conda-macosx
 
-wheels_macosx_35:
+wheels_macosx_36:
   <<: *wheels_job
-  variables: *macosx_35_build_variables
+  variables: *macosx_36_build_variables
   dependencies:
-    - build_macosx_35
+    - build_macosx_36
   tags:
     - conda-macosx
diff --git a/MANIFEST.in b/MANIFEST.in
index a12f5fec81c0f43f9d7432b7afc9c0ae3e73d5ba..0eb9399eb191e4e3f8c792e85294361549dc4e2f 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
-include LICENSE README.rst bootstrap-buildout.py buildout.cfg develop.cfg requirements.txt version.txt
+include LICENSE README.rst buildout.cfg develop.cfg requirements.txt version.txt
 recursive-include doc conf.py *.rst
 recursive-include bob *.cpp *.h
 recursive-include bob/io/base/data *.*
diff --git a/README.rst b/README.rst
index d5d0ae2df9c8edf09581e6f33b4cc8b4f25de5d0..075058c98856c9dd995f398fbaa9b764b08d5680 100644
--- a/README.rst
+++ b/README.rst
@@ -7,6 +7,8 @@
    :target: https://www.idiap.ch/software/bob/docs/latest/bob/bob.io.base/master/index.html
 .. image:: https://gitlab.idiap.ch/bob/bob.io.base/badges/master/build.svg
    :target: https://gitlab.idiap.ch/bob/bob.io.base/commits/master
+.. image:: https://gitlab.idiap.ch/bob/bob.io.base/badges/master/coverage.svg
+   :target: https://gitlab.idiap.ch/bob/bob.io.base/commits/master
 .. image:: https://img.shields.io/badge/gitlab-project-0000c0.svg
    :target: https://gitlab.idiap.ch/bob/bob.io.base
 .. image:: http://img.shields.io/pypi/v/bob.io.base.svg
@@ -26,11 +28,10 @@ Bob_. It contains Bob's basic I/O functionality.
 Installation
 ------------
 
-Follow our `installation`_ instructions. Then, using the Python interpreter
-provided by the distribution, bootstrap and buildout this package::
+Complete Bob's `installation`_ instructions. Then, to install this pacakge,
+run::
 
-  $ python bootstrap-buildout.py
-  $ ./bin/buildout
+  $ conda install bob.io.base
 
 
 Contact
diff --git a/bootstrap-buildout.py b/bootstrap-buildout.py
deleted file mode 100644
index a4599211f741c468cd37a29861d1c7f2c3a641d1..0000000000000000000000000000000000000000
--- a/bootstrap-buildout.py
+++ /dev/null
@@ -1,210 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-"""
-
-import os
-import shutil
-import sys
-import tempfile
-
-from optparse import OptionParser
-
-__version__ = '2015-07-01'
-# See zc.buildout's changelog if this version is up to date.
-
-tmpeggs = tempfile.mkdtemp(prefix='bootstrap-')
-
-usage = '''\
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
-
-Bootstraps a buildout-based project.
-
-Simply run this script in a directory containing a buildout.cfg, using the
-Python that you want bin/buildout to use.
-
-Note that by using --find-links to point to local resources, you can keep
-this script from going over the network.
-'''
-
-parser = OptionParser(usage=usage)
-parser.add_option("--version",
-                  action="store_true", default=False,
-                  help=("Return bootstrap.py version."))
-parser.add_option("-t", "--accept-buildout-test-releases",
-                  dest='accept_buildout_test_releases',
-                  action="store_true", default=False,
-                  help=("Normally, if you do not specify a --version, the "
-                        "bootstrap script and buildout gets the newest "
-                        "*final* versions of zc.buildout and its recipes and "
-                        "extensions for you.  If you use this flag, "
-                        "bootstrap and buildout will get the newest releases "
-                        "even if they are alphas or betas."))
-parser.add_option("-c", "--config-file",
-                  help=("Specify the path to the buildout configuration "
-                        "file to be used."))
-parser.add_option("-f", "--find-links",
-                  help=("Specify a URL to search for buildout releases"))
-parser.add_option("--allow-site-packages",
-                  action="store_true", default=False,
-                  help=("Let bootstrap.py use existing site packages"))
-parser.add_option("--buildout-version",
-                  help="Use a specific zc.buildout version")
-parser.add_option("--setuptools-version",
-                  help="Use a specific setuptools version")
-parser.add_option("--setuptools-to-dir",
-                  help=("Allow for re-use of existing directory of "
-                        "setuptools versions"))
-
-options, args = parser.parse_args()
-if options.version:
-    print("bootstrap.py version %s" % __version__)
-    sys.exit(0)
-
-
-######################################################################
-# load/install setuptools
-
-try:
-    from urllib.request import urlopen
-except ImportError:
-    from urllib2 import urlopen
-
-ez = {}
-if os.path.exists('ez_setup.py'):
-    exec(open('ez_setup.py').read(), ez)
-else:
-    exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
-
-if not options.allow_site_packages:
-    # ez_setup imports site, which adds site packages
-    # this will remove them from the path to ensure that incompatible versions
-    # of setuptools are not in the path
-    import site
-    # inside a virtualenv, there is no 'getsitepackages'.
-    # We can't remove these reliably
-    if hasattr(site, 'getsitepackages'):
-        for sitepackage_path in site.getsitepackages():
-            # Strip all site-packages directories from sys.path that
-            # are not sys.prefix; this is because on Windows
-            # sys.prefix is a site-package directory.
-            if sitepackage_path != sys.prefix:
-                sys.path[:] = [x for x in sys.path
-                               if sitepackage_path not in x]
-
-setup_args = dict(to_dir=tmpeggs, download_delay=0)
-
-if options.setuptools_version is not None:
-    setup_args['version'] = options.setuptools_version
-if options.setuptools_to_dir is not None:
-    setup_args['to_dir'] = options.setuptools_to_dir
-
-ez['use_setuptools'](**setup_args)
-import setuptools
-import pkg_resources
-
-# This does not (always?) update the default working set.  We will
-# do it.
-for path in sys.path:
-    if path not in pkg_resources.working_set.entries:
-        pkg_resources.working_set.add_entry(path)
-
-######################################################################
-# Install buildout
-
-ws = pkg_resources.working_set
-
-setuptools_path = ws.find(
-    pkg_resources.Requirement.parse('setuptools')).location
-
-# Fix sys.path here as easy_install.pth added before PYTHONPATH
-cmd = [sys.executable, '-c',
-       'import sys; sys.path[0:0] = [%r]; ' % setuptools_path +
-       'from setuptools.command.easy_install import main; main()',
-       '-mZqNxd', tmpeggs]
-
-find_links = os.environ.get(
-    'bootstrap-testing-find-links',
-    options.find_links or
-    ('http://downloads.buildout.org/'
-     if options.accept_buildout_test_releases else None)
-    )
-if find_links:
-    cmd.extend(['-f', find_links])
-
-requirement = 'zc.buildout'
-version = options.buildout_version
-if version is None and not options.accept_buildout_test_releases:
-    # Figure out the most recent final version of zc.buildout.
-    import setuptools.package_index
-    _final_parts = '*final-', '*final'
-
-    def _final_version(parsed_version):
-        try:
-            return not parsed_version.is_prerelease
-        except AttributeError:
-            # Older setuptools
-            for part in parsed_version:
-                if (part[:1] == '*') and (part not in _final_parts):
-                    return False
-            return True
-
-    index = setuptools.package_index.PackageIndex(
-        search_path=[setuptools_path])
-    if find_links:
-        index.add_find_links((find_links,))
-    req = pkg_resources.Requirement.parse(requirement)
-    if index.obtain(req) is not None:
-        best = []
-        bestv = None
-        for dist in index[req.project_name]:
-            distv = dist.parsed_version
-            if _final_version(distv):
-                if bestv is None or distv > bestv:
-                    best = [dist]
-                    bestv = distv
-                elif distv == bestv:
-                    best.append(dist)
-        if best:
-            best.sort()
-            version = best[-1].version
-if version:
-    requirement = '=='.join((requirement, version))
-cmd.append(requirement)
-
-import subprocess
-if subprocess.call(cmd) != 0:
-    raise Exception(
-        "Failed to execute command:\n%s" % repr(cmd)[1:-1])
-
-######################################################################
-# Import and run buildout
-
-ws.add_entry(tmpeggs)
-ws.require(requirement)
-import zc.buildout.buildout
-
-if not [a for a in args if '=' not in a]:
-    args.append('bootstrap')
-
-# if -c was provided, we push it back into args for buildout' main function
-if options.config_file is not None:
-    args[0:0] = ['-c', options.config_file]
-
-zc.buildout.buildout.main(args)
-shutil.rmtree(tmpeggs)
diff --git a/doc/conf.py b/doc/conf.py
index e8d6f04f3780ac6adc3c5c0cde7f3d3315bdd504..eb02391033b1bdd3f15bde9670a32b48e644dcd5 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -232,7 +232,6 @@ autodoc_member_order = 'bysource'
 autodoc_default_flags = [
   'members',
   'undoc-members',
-  'inherited-members',
   'show-inheritance',
   ]