diff --git a/setup.py b/setup.py
index c2e005a6f979581d945938d589f05ae9a8fa83e0..4578360a479434a19a3ccaaa617b2fa9bc53dea6 100644
--- a/setup.py
+++ b/setup.py
@@ -68,8 +68,15 @@ def setup_package(build_ext_switch=True):
                         'sshtunnel',
                         'Click',
                         'jinja2', ]
+    extras_require={
+          'prepost': [
+              'tables',  # requires blosc2 and may not install on 32 bit systems without a C compiler
+              'cython',
+          ]
+    }
 
     setup(install_requires=install_requires,
+          extras_require=extras_require,
           setup_requires=install_requires + build_requires + sphinx,
           cmdclass=cmd_class,
           ext_modules=extlist,