Week in Review -- April 30, 2018


  • Improved generated configuration changes descriptions
  • Added configuration version to jobs results of Docker-based components (it is not yet available for legacy components like transformation and gooddata-writer)
  • Refreshed Manage API docs with working examples
  • Fixed loading of large tables for R-studio and Jupyter sandboxes
  • Fixed random CSV Import upload errors in EU region


  • Improved "show details" experience for input and output mappings
  • Added visibility of columns non-existing in Storage to writers
  • Increased query timeout for all Keboola Provisioned Snowflake writers from 15 seconds to 15 minutes
  • Added support of unconventional column names to MySQL extractor
  • Removed static state from MongoDB extractor


  • Added support of snappy format to processor-decompress
  • Added processor filter-files
  • Added support for sanitization of invalid utf-8 in processor-iconv


New Debug API call is available (replaces very rarely used sandbox, dry-run and input-data calls). It creates a snapshot of the data directory used for running the component and stores it in your KBC project. To learn more, feel free to go through the API Docs or through the tutorial. In short the API call:

  • uses the same calling convention as the Run API,
  • filters encrypted values from the data directory,
  • works with all components (previously only those without encryption were supported),
  • works with Processors,
  • works with Configuration Rows,
  • works also with broken components and configurations (even if the run fails, you'll still get a snapshot of the data directory).

Python transformations

Pip version 10 was released recently which removes the pip.main method (more reading). The recommended way to install packages from within python is:

import subprocess
import sys
subprocess.call([sys.executable, '-m', 'pip', 'install', '--disable-pip-version-check', 'PACKAGE_NAME'])

Currently there are 70 transformations using the removed pip methods. If your projects are using them we'll be contacting you with a list of affected transformations. This breaking change introduced in pip is currently blocking us from upgrading python to 3.6.5 where pip 10 is used by default.