Querybook is a Big Data Querying UI, combining collocated table metadata and a simple notebook interface.



Build Status License Slack

Querybook is a Big Data IDE that allows you to discover, create, and share data analyses, queries, and tables. Check out the full documentation & feature highlights here.


  • 📚 Organize analyses with rich text, queries, and charts
  • ✏️ Compose queries with autocompletion and hovering tooltip
  • 📈 Use scheduling + charting in DataDocs to build dashboards
  • 🙌 Live query collaborations with others
  • 📝 Add additional documentation to your tables
  • 🧮 Get lineage, sample queries, frequent user, search ranking based on past query runs

Getting started


Please install Docker before trying out Querybook.

Quick setup

Pull this repo and run make. Visit https://localhost:10001 when the build completes.

For more details on installation, click here


For infrastructure configuration, click here For general configuration, click here

Supported Integrations

Query Engines

  • Presto
  • Hive
  • Druid
  • Snowflake
  • Big Query
  • MySQL
  • Sqlite
  • PostgreSQL
  • and many more...


  • User/Password
  • OAuth
    • Google Cloud OAuth
    • Okta OAuth
    • GitHub OAuth
  • LDAP


Can be used to fetch schema and table information for metadata enrichment.

  • Hive Metastore
  • Sqlalchemy Inspect
  • AWS Glue Data Catalog

Result Storage

Use one of the following to store query results.

  • Database (MySQL, Postgres, etc)
  • S3
  • Google Cloud Storage
  • Local file

Result Export

Upload query results from Querybook to other tools for further analyses.

  • Google Sheets Export
  • Python export


Get notified upon completion of queries and DataDoc invitations via IM or email.

  • Email
  • Slack

User Interface

Query Editor



Lineage & Analytics

Contributing Back


  • Add plugin for Trino

    Add plugin for Trino

    For those that don't know there was a split in the Presto community 2 years ago, and the Presto creators are now working on a fork of Presto called Trino (formerly known as PrestoSQL). We want to also include Trino in the list.

    There is not much change needed from the existing Presto executor from what I can tell, you would simply need to use the correct Trino Python client. There was a recent addition to create the Trino sqlalchemy project for superset. This project comes with a warning that it has not been tested thoroughly yet but could likely be used here as well.

    opened by bitsondatadev 16
  • Quick Setup is not working

    Quick Setup is not working

    I am trying to make a quick setup of the app on a Google Cloud VM and unfortunately, I get a npm dependencies warning and the app stops deploying from there:

    docker build --pull -t querybook-dev . --build-arg PRODUCTION=false
    Sending build context to Docker daemon  34.45MB
    Step 1/14 : FROM python:3.7.9
    3.7.9: Pulling from library/python
    0ecb575e629c: Pull complete 
    7467d1831b69: Pull complete 
    feab2c490a3c: Pull complete 
    f15a0f46f8c3: Pull complete 
    937782447ff6: Pull complete 
    e78b7aaaab2c: Pull complete 
    5d8a97050e38: Pull complete 
    d36c23e9d08d: Pull complete 
    d39496292349: Pull complete 
    Digest: sha256:7a2513d6225aecdf249b68f46dda559bcf5a82dc4850abd03620e465bb0bdf5a
    Status: Downloaded newer image for python:3.7.9
     ---> 65d5b6c539fd
    Step 2/14 : ARG PRODUCTION=true
     ---> Running in c61d31015652
    Removing intermediate container c61d31015652
     ---> d1086d0ba28c
    Step 3/14 : RUN rm -rf /var/lib/apt/lists/*     && apt-get update     && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --allow-downgrades --allow-remove-essential --allow-change-held-packages     libsasl2-dev     libsasl2-modules     build-essential     python-dev     libssl-dev     libldap2-dev     && curl -sL https://deb.nodesource.com/setup_14.x |  bash -     && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --allow-downgrades --allow-remove-essential --allow-change-held-packages     nodejs     && apt-get clean
     ---> Running in b4b04a7c3ac8
    Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
    Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
    Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
    Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [293 kB]
    Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
    Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [15.2 kB]
    Fetched 8454 kB in 2s (4653 kB/s)
    Reading package lists...
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following additional packages will be installed:
      libldap-2.4-2 libpython-dev libpython2-dev libpython2.7 libpython2.7-dev
      libssl1.1 python2-dev python2.7-dev
    Suggested packages:
      libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
      libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql libssl-doc
    The following NEW packages will be installed:
      build-essential libldap2-dev libpython-dev libpython2-dev libpython2.7
      libpython2.7-dev libsasl2-dev libsasl2-modules python-dev python2-dev
    The following packages will be upgraded:
      libldap-2.4-2 libssl-dev libssl1.1
    3 upgraded, 11 newly installed, 0 to remove and 57 not upgraded.
    Need to get 37.2 MB of archives.
    After this operation, 61.5 MB of additional disk space will be used.
    Get:1 http://deb.debian.org/debian buster/main amd64 build-essential amd64 12.6 [7576 B]
    Get:2 http://deb.debian.org/debian buster/main amd64 libldap-2.4-2 amd64 2.4.47+dfsg-3+deb10u6 [224 kB]
    Get:3 http://deb.debian.org/debian buster/main amd64 libldap2-dev amd64 2.4.47+dfsg-3+deb10u6 [332 kB]
    Get:4 http://deb.debian.org/debian buster/main amd64 libpython2.7 amd64 2.7.16-2+deb10u1 [1036 kB]
    Get:5 http://deb.debian.org/debian buster/main amd64 libpython2.7-dev amd64 2.7.16-2+deb10u1 [31.6 MB]
    Get:6 http://deb.debian.org/debian buster/main amd64 libpython2-dev amd64 2.7.16-1 [20.9 kB]
    Get:7 http://deb.debian.org/debian buster/main amd64 libpython-dev amd64 2.7.16-1 [20.9 kB]
    Get:8 http://deb.debian.org/debian buster/main amd64 libsasl2-dev amd64 2.1.27+dfsg-1+deb10u1 [283 kB]
    Get:9 http://deb.debian.org/debian buster/main amd64 libssl-dev amd64 1.1.1d-0+deb10u6 [1794 kB]
    Get:10 http://deb.debian.org/debian buster/main amd64 libssl1.1 amd64 1.1.1d-0+deb10u6 [1539 kB]
    Get:11 http://deb.debian.org/debian buster/main amd64 libsasl2-modules amd64 2.1.27+dfsg-1+deb10u1 [104 kB]
    Get:12 http://deb.debian.org/debian buster/main amd64 python2.7-dev amd64 2.7.16-2+deb10u1 [294 kB]
    Get:13 http://deb.debian.org/debian buster/main amd64 python2-dev amd64 2.7.16-1 [1212 B]
    Get:14 http://deb.debian.org/debian buster/main amd64 python-dev amd64 2.7.16-1 [1192 B]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 37.2 MB in 1s (53.1 MB/s)
    Selecting previously unselected package build-essential.
    (Reading database ... 24611 files and directories currently installed.)
    Preparing to unpack .../00-build-essential_12.6_amd64.deb ...
    Unpacking build-essential (12.6) ...
    Preparing to unpack .../01-libldap-2.4-2_2.4.47+dfsg-3+deb10u6_amd64.deb ...
    Unpacking libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u6) over (2.4.47+dfsg-3+deb10u5) ...
    Selecting previously unselected package libldap2-dev:amd64.
    Preparing to unpack .../02-libldap2-dev_2.4.47+dfsg-3+deb10u6_amd64.deb ...
    Unpacking libldap2-dev:amd64 (2.4.47+dfsg-3+deb10u6) ...
    Selecting previously unselected package libpython2.7:amd64.
    Preparing to unpack .../03-libpython2.7_2.7.16-2+deb10u1_amd64.deb ...
    Unpacking libpython2.7:amd64 (2.7.16-2+deb10u1) ...
    Selecting previously unselected package libpython2.7-dev:amd64.
    Preparing to unpack .../04-libpython2.7-dev_2.7.16-2+deb10u1_amd64.deb ...
    Unpacking libpython2.7-dev:amd64 (2.7.16-2+deb10u1) ...
    Selecting previously unselected package libpython2-dev:amd64.
    Preparing to unpack .../05-libpython2-dev_2.7.16-1_amd64.deb ...
    Unpacking libpython2-dev:amd64 (2.7.16-1) ...
    Selecting previously unselected package libpython-dev:amd64.
    Preparing to unpack .../06-libpython-dev_2.7.16-1_amd64.deb ...
    Unpacking libpython-dev:amd64 (2.7.16-1) ...
    Selecting previously unselected package libsasl2-dev.
    Preparing to unpack .../07-libsasl2-dev_2.1.27+dfsg-1+deb10u1_amd64.deb ...
    Unpacking libsasl2-dev (2.1.27+dfsg-1+deb10u1) ...
    Preparing to unpack .../08-libssl-dev_1.1.1d-0+deb10u6_amd64.deb ...
    Unpacking libssl-dev:amd64 (1.1.1d-0+deb10u6) over (1.1.1d-0+deb10u4) ...
    Preparing to unpack .../09-libssl1.1_1.1.1d-0+deb10u6_amd64.deb ...
    Unpacking libssl1.1:amd64 (1.1.1d-0+deb10u6) over (1.1.1d-0+deb10u4) ...
    Selecting previously unselected package libsasl2-modules:amd64.
    Preparing to unpack .../10-libsasl2-modules_2.1.27+dfsg-1+deb10u1_amd64.deb ...
    Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u1) ...
    Selecting previously unselected package python2.7-dev.
    Preparing to unpack .../11-python2.7-dev_2.7.16-2+deb10u1_amd64.deb ...
    Unpacking python2.7-dev (2.7.16-2+deb10u1) ...
    Selecting previously unselected package python2-dev.
    Preparing to unpack .../12-python2-dev_2.7.16-1_amd64.deb ...
    Unpacking python2-dev (2.7.16-1) ...
    Selecting previously unselected package python-dev.
    Preparing to unpack .../13-python-dev_2.7.16-1_amd64.deb ...
    Unpacking python-dev (2.7.16-1) ...
    Setting up libpython2.7:amd64 (2.7.16-2+deb10u1) ...
    Setting up libpython2.7-dev:amd64 (2.7.16-2+deb10u1) ...
    Setting up libssl1.1:amd64 (1.1.1d-0+deb10u6) ...
    Setting up libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u1) ...
    Setting up libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u6) ...
    Setting up libldap2-dev:amd64 (2.4.47+dfsg-3+deb10u6) ...
    Setting up libsasl2-dev (2.1.27+dfsg-1+deb10u1) ...
    Setting up libssl-dev:amd64 (1.1.1d-0+deb10u6) ...
    Setting up build-essential (12.6) ...
    Setting up libpython2-dev:amd64 (2.7.16-1) ...
    Setting up python2.7-dev (2.7.16-2+deb10u1) ...
    Setting up python2-dev (2.7.16-1) ...
    Setting up libpython-dev:amd64 (2.7.16-1) ...
    Setting up python-dev (2.7.16-1) ...
    Processing triggers for libc-bin (2.28-10) ...
    ## Installing the NodeSource Node.js 14.x repo...
    ## Populating apt-get cache...
    + apt-get update
    Hit:1 http://security.debian.org/debian-security buster/updates InRelease
    Hit:2 http://deb.debian.org/debian buster InRelease
    Hit:3 http://deb.debian.org/debian buster-updates InRelease
    Reading package lists...
    ## Installing packages required for setup: lsb-release...
    + apt-get install -y lsb-release > /dev/null 2>&1
    ## Confirming "buster" is supported...
    + curl -sLf -o /dev/null 'https://deb.nodesource.com/node_14.x/dists/buster/Release'
    ## Adding the NodeSource signing key to your keyring...
    + curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee /usr/share/keyrings/nodesource.gpg >/dev/null
    ## Creating apt sources list file for the NodeSource Node.js 14.x repo...
    + echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main' > /etc/apt/sources.list.d/nodesource.list
    + echo 'deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x buster main' >> /etc/apt/sources.list.d/nodesource.list
    ## Running `apt-get update` for you...
    + apt-get update
    Hit:1 http://security.debian.org/debian-security buster/updates InRelease
    Hit:2 http://deb.debian.org/debian buster InRelease
    Hit:3 http://deb.debian.org/debian buster-updates InRelease
    Get:4 https://deb.nodesource.com/node_14.x buster InRelease [4584 B]
    Get:5 https://deb.nodesource.com/node_14.x buster/main amd64 Packages [768 B]
    Fetched 5352 B in 1s (10.5 kB/s)
    Reading package lists...
    ## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
    ## You may also need development tools to build native addons:
         sudo apt-get install gcc g++ make
    ## To install the Yarn package manager, run:
         curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
         echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
         sudo apt-get update && sudo apt-get install yarn
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following NEW packages will be installed:
    0 upgraded, 1 newly installed, 0 to remove and 57 not upgraded.
    Need to get 25.0 MB of archives.
    After this operation, 121 MB of additional disk space will be used.
    Get:1 https://deb.nodesource.com/node_14.x buster/main amd64 nodejs amd64 14.17.2-1nodesource1 [25.0 MB]
    debconf: delaying package configuration, since apt-utils is not installed
    Fetched 25.0 MB in 1s (33.2 MB/s)
    Selecting previously unselected package nodejs.
    (Reading database ... 25090 files and directories currently installed.)
    Preparing to unpack .../nodejs_14.17.2-1nodesource1_amd64.deb ...
    Unpacking nodejs (14.17.2-1nodesource1) ...
    Setting up nodejs (14.17.2-1nodesource1) ...
    Removing intermediate container b4b04a7c3ac8
     ---> 17e6348b1d0c
    Step 4/14 : RUN npm i -g [email protected]     && npm i -g yarn@^1.22     && npm explore npm --global -- npm install [email protected]     && yarn config set cache-folder /mnt/yarn-cache/cache     && yarn config set yarn-offline-mirror /mnt/yarn-offline-mirror
     ---> Running in efa7b87fa650
    /usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
    /usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
    + [email protected]
    added 22 packages from 6 contributors, removed 22 packages and updated 29 packages in 31.125s
    > [email protected] preinstall /usr/lib/node_modules/yarn
    > :; (node ./preinstall.js > /dev/null 2>&1 || true)
    /usr/bin/yarn -> /usr/lib/node_modules/yarn/bin/yarn.js
    /usr/bin/yarnpkg -> /usr/lib/node_modules/yarn/bin/yarn.js
    + [email protected]
    added 1 package in 0.816s
    npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
    npm WARN deprecated [email protected]: this library is no longer supported
    npm notice created a lockfile as package-lock.json. You should commit this file.
    + [email protected]
    added 21 packages from 15 contributors, updated 2 packages and audited 519 packages in 4.068s
    2 packages are looking for funding
      run `npm fund` for details
    found 159 vulnerabilities (30 low, 99 moderate, 30 high)
      run `npm audit fix` to fix them, or `npm audit` for details
    yarn config v1.22.10
    success Set "cache-folder" to "/mnt/yarn-cache/cache".
    Done in 0.03s.
    yarn config v1.22.10
    success Set "yarn-offline-mirror" to "/mnt/yarn-offline-mirror".
    Done in 0.04s.
    Removing intermediate container efa7b87fa650
     ---> 91088de77820
    Step 5/14 : WORKDIR /opt/querybook
     ---> Running in 5a51dbd3746e
    Removing intermediate container 5a51dbd3746e
     ---> c3ed5b20318c
    Step 6/14 : COPY requirements requirements/
     ---> ca73824a1ca0
    Step 7/14 : RUN pip install -r requirements/base.txt     && if [ "${PRODUCTION}" = "true" ] ; then     pip install -r requirements/prod.txt;     else     pip install -r requirements/dev.txt;     fi     && pip install -r requirements/local.txt || true
     ---> Running in 9898b2d14a00
    Collecting Werkzeug==0.15.5
      Downloading Werkzeug-0.15.5-py2.py3-none-any.whl (328 kB)
    Collecting flask==1.1.2
      Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
    Collecting Flask-Caching==1.7.2
      Downloading Flask_Caching-1.7.2-py2.py3-none-any.whl (27 kB)
    Collecting Flask-Compress==1.4.0
      Downloading Flask-Compress-1.4.0.tar.gz (6.0 kB)
    Collecting Flask-Login==0.4.1
      Downloading Flask-Login-0.4.1.tar.gz (14 kB)
    Collecting Flask-Limiter==1.1.0
      Downloading Flask-Limiter-1.1.0.tar.gz (92 kB)
    Collecting python-memcached==1.59
      Downloading python_memcached-1.59-py2.py3-none-any.whl (16 kB)
    Collecting redis==3.5.3
      Downloading redis-3.5.3-py2.py3-none-any.whl (72 kB)
    Collecting gevent==21.1.2
      Downloading gevent-21.1.2-cp37-cp37m-manylinux2010_x86_64.whl (5.6 MB)
    Collecting greenlet==1.0.0
      Downloading greenlet-1.0.0-cp37-cp37m-manylinux2010_x86_64.whl (160 kB)
    Collecting alembic==1.4.3
      Downloading alembic-1.4.3-py2.py3-none-any.whl (159 kB)
    Collecting gevent-websocket==0.10.1
      Downloading gevent_websocket-0.10.1-py3-none-any.whl (22 kB)
    Collecting flask-socketio==5.0.1
      Downloading Flask_SocketIO-5.0.1-py2.py3-none-any.whl (16 kB)
    Collecting python-socketio==5.2.1
      Downloading python_socketio-5.2.1-py2.py3-none-any.whl (53 kB)
    Collecting Jinja2==2.11.3
      Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
    Collecting celery[redis]==5.0.5
      Downloading celery-5.0.5-py3-none-any.whl (392 kB)
    Collecting pyyaml==5.4.1
      Downloading PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636 kB)
    Collecting sqlalchemy==1.3.17
      Downloading SQLAlchemy-1.3.17-cp37-cp37m-manylinux2010_x86_64.whl (1.2 MB)
    Collecting pymysql==0.9.3
      Downloading PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB)
    Collecting requests==2.22.0
      Downloading requests-2.22.0-py2.py3-none-any.whl (57 kB)
    Collecting elasticsearch==6.3.1
      Downloading elasticsearch-6.3.1-py2.py3-none-any.whl (119 kB)
    Collecting sqlparse==0.2.3
      Downloading sqlparse-0.2.3-py2.py3-none-any.whl (38 kB)
    Collecting beautifulsoup4==4.8.2
      Downloading beautifulsoup4-4.8.2-py3-none-any.whl (106 kB)
    Collecting markdown2
      Downloading markdown2-2.4.0-py2.py3-none-any.whl (34 kB)
    Collecting typing-extensions==
      Downloading typing_extensions- (20 kB)
    Collecting sasl==0.2.1
      Downloading sasl-0.2.1.tar.gz (30 kB)
    Collecting thrift==0.11.0
      Downloading thrift-0.11.0.tar.gz (52 kB)
    Collecting thrift-sasl==0.3.0
      Downloading thrift_sasl-0.3.0.tar.gz (3.8 kB)
    Collecting PyHive[hive,presto]==0.6.3
      Downloading PyHive-0.6.3.tar.gz (41 kB)
    Collecting kazoo==2.5.0
      Downloading kazoo-2.5.0-py2.py3-none-any.whl (129 kB)
    Collecting hmsclient==0.1.1
      Downloading hmsclient-0.1.1-py3-none-any.whl (90 kB)
    Collecting pydruid==0.5.7
      Downloading pydruid-0.5.7.tar.gz (6.0 MB)
    Collecting google-cloud-bigquery==1.28.0
      Downloading google_cloud_bigquery-1.28.0-py2.py3-none-any.whl (187 kB)
    Collecting snowflake-sqlalchemy==1.2.4
      Downloading snowflake_sqlalchemy-1.2.4-py2.py3-none-any.whl (29 kB)
    Collecting requests-aws4auth==0.9
      Downloading requests_aws4auth-0.9-py2.py3-none-any.whl (54 kB)
    Collecting boto3==1.9.201
      Downloading boto3-1.9.201-py2.py3-none-any.whl (128 kB)
    Collecting boto==2.49.0
      Downloading boto-2.49.0-py2.py3-none-any.whl (1.4 MB)
    Collecting moto==2.0.7
      Downloading moto-2.0.7-py2.py3-none-any.whl (1.2 MB)
    Collecting google-cloud-storage==1.37.0
      Downloading google_cloud_storage-1.37.0-py2.py3-none-any.whl (103 kB)
    Collecting google-auth==1.24.0
      Downloading google_auth-1.24.0-py2.py3-none-any.whl (114 kB)
    Collecting google-resumable-media==1.2.0
      Downloading google_resumable_media-1.2.0-py2.py3-none-any.whl (75 kB)
    Collecting gspread==3.6.0
      Downloading gspread-3.6.0-py3-none-any.whl (26 kB)
    Collecting python-ldap==3.3.1
      Downloading python-ldap-3.3.1.tar.gz (379 kB)
    Collecting requests-oauthlib==1.0.0
      Downloading requests_oauthlib-1.0.0-py2.py3-none-any.whl (21 kB)
    Collecting python-editor>=0.3
      Downloading python_editor-1.0.4-py3-none-any.whl (4.9 kB)
    Collecting python-dateutil
      Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
    Collecting Mako
      Downloading Mako-1.1.4-py2.py3-none-any.whl (75 kB)
    Collecting soupsieve>=1.2
      Downloading soupsieve-2.2.1-py3-none-any.whl (33 kB)
    Collecting botocore<1.13.0,>=1.12.201
      Downloading botocore-1.12.253-py2.py3-none-any.whl (5.7 MB)
    Collecting s3transfer<0.3.0,>=0.2.0
      Downloading s3transfer-0.2.1-py2.py3-none-any.whl (70 kB)
    Collecting jmespath<1.0.0,>=0.7.1
      Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
    Collecting click<8.0,>=7.0
      Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
    Collecting vine<6.0,>=5.0.0
      Downloading vine-5.0.0-py2.py3-none-any.whl (9.4 kB)
    Collecting click-plugins>=1.1.1
      Downloading click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
    Collecting click-didyoumean>=0.0.3
      Downloading click-didyoumean-0.0.3.tar.gz (2.6 kB)
    Collecting billiard<4.0,>=
      Downloading billiard- (89 kB)
    Collecting kombu<6.0,>=5.0.0
      Downloading kombu-5.1.0-py3-none-any.whl (187 kB)
    Collecting click-repl>=0.1.6
      Downloading click_repl-0.2.0-py3-none-any.whl (5.2 kB)
    Collecting pytz>dev
      Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB)
    Collecting urllib3>=1.21.1
      Downloading urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
    Collecting itsdangerous>=0.24
      Downloading itsdangerous-2.0.1-py3-none-any.whl (18 kB)
    Collecting limits
      Downloading limits-1.5.1.tar.gz (37 kB)
    Collecting six>=1.4.1
      Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
    Collecting zope.event
      Downloading zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
    Requirement already satisfied: setuptools in /usr/local/lib/python3.7/site-packages (from gevent==21.1.2->-r requirements/base.txt (line 12)) (53.0.0)
    Collecting zope.interface
      Downloading zope.interface-5.4.0-cp37-cp37m-manylinux2010_x86_64.whl (251 kB)
    Collecting rsa<5,>=3.1.4
      Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
    Collecting pyasn1-modules>=0.2.1
      Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
    Collecting cachetools<5.0,>=2.0.0
      Downloading cachetools-4.2.2-py3-none-any.whl (11 kB)
    Collecting google-cloud-core<2.0dev,>=1.4.1
      Downloading google_cloud_core-1.7.1-py2.py3-none-any.whl (28 kB)
    Collecting google-api-core<2.0dev,>=1.21.0
      Downloading google_api_core-1.31.0-py2.py3-none-any.whl (93 kB)
    Collecting google-crc32c<2.0dev,>=1.0
      Downloading google_crc32c-1.1.2-cp37-cp37m-manylinux2014_x86_64.whl (38 kB)
    Collecting google-auth-oauthlib>=0.4.1
      Downloading google_auth_oauthlib-0.4.4-py2.py3-none-any.whl (18 kB)
    Collecting MarkupSafe>=0.23
      Downloading MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl (31 kB)
    Collecting cryptography>=3.3.1
      Downloading cryptography-3.4.7-cp36-abi3-manylinux2014_x86_64.whl (3.2 MB)
    Collecting more-itertools
      Downloading more_itertools-8.8.0-py3-none-any.whl (48 kB)
    Collecting zipp
      Downloading zipp-3.5.0-py3-none-any.whl (5.7 kB)
    Collecting responses>=0.9.0
      Downloading responses-0.13.3-py2.py3-none-any.whl (25 kB)
    Collecting xmltodict
      Downloading xmltodict-0.12.0-py2.py3-none-any.whl (9.2 kB)
    Collecting future
      Downloading future-0.18.2.tar.gz (829 kB)
    Collecting pyasn1>=0.3.7
      Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
    Collecting bidict>=0.21.0
      Downloading bidict-0.21.2-py2.py3-none-any.whl (37 kB)
    Collecting python-engineio>=4.1.0
      Downloading python_engineio-4.2.0-py2.py3-none-any.whl (51 kB)
    Collecting chardet<3.1.0,>=3.0.2
      Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
    Collecting idna<2.9,>=2.5
      Downloading idna-2.8-py2.py3-none-any.whl (58 kB)
    Collecting certifi>=2017.4.17
      Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
    Collecting urllib3>=1.21.1
      Downloading urllib3-1.25.11-py2.py3-none-any.whl (127 kB)
    Collecting oauthlib>=0.6.2
      Downloading oauthlib-3.1.1-py2.py3-none-any.whl (146 kB)
    Collecting snowflake-connector-python<3.0.0
      Downloading snowflake_connector_python-2.5.0-cp37-cp37m-manylinux2014_x86_64.whl (13.1 MB)
    Collecting docutils<0.16,>=0.10
      Downloading docutils-0.15.2-py3-none-any.whl (547 kB)
    Collecting prompt-toolkit
      Downloading prompt_toolkit-3.0.19-py3-none-any.whl (368 kB)
    Collecting cffi>=1.12
      Downloading cffi-1.14.6-cp37-cp37m-manylinux1_x86_64.whl (402 kB)
    Collecting pycparser
      Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB)
    Collecting packaging>=14.3
      Downloading packaging-21.0-py3-none-any.whl (40 kB)
    Collecting protobuf>=3.12.0
      Downloading protobuf-3.17.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)
    Collecting google-api-core<2.0dev,>=1.21.0
      Downloading google_api_core-1.30.0-py2.py3-none-any.whl (93 kB)
      Downloading google_api_core-1.29.0-py2.py3-none-any.whl (93 kB)
      Downloading google_api_core-1.28.0-py2.py3-none-any.whl (92 kB)
      Downloading google_api_core-1.27.0-py2.py3-none-any.whl (93 kB)
    Collecting googleapis-common-protos<2.0dev,>=1.6.0
      Downloading googleapis_common_protos-1.53.0-py2.py3-none-any.whl (198 kB)
    Collecting amqp<6.0.0,>=5.0.6
      Downloading amqp-5.0.6-py3-none-any.whl (53 kB)
    Collecting cached-property
      Downloading cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
    Collecting importlib-metadata>=0.18
      Downloading importlib_metadata-4.6.1-py3-none-any.whl (17 kB)
    Collecting pyparsing>=2.0.2
      Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
    Collecting pyjwt<3.0.0
      Downloading PyJWT-2.1.0-py3-none-any.whl (16 kB)
    Collecting asn1crypto<2.0.0,>0.24.0
      Downloading asn1crypto-1.4.0-py2.py3-none-any.whl (104 kB)
    Collecting azure-common<2.0.0
      Downloading azure_common-1.1.27-py2.py3-none-any.whl (12 kB)
    Collecting pycryptodomex!=3.5.0,<4.0.0,>=3.2
      Downloading pycryptodomex-3.10.1-cp35-abi3-manylinux2010_x86_64.whl (1.9 MB)
    Collecting azure-storage-blob<13.0.0,>=12.0.0
      Downloading azure_storage_blob-12.8.1-py2.py3-none-any.whl (345 kB)
    Collecting pyOpenSSL<21.0.0,>=16.2.0
      Downloading pyOpenSSL-20.0.1-py2.py3-none-any.whl (54 kB)
    Collecting oscrypto<2.0.0
      Downloading oscrypto-1.2.1-py2.py3-none-any.whl (192 kB)
    Collecting azure-core<2.0.0,>=1.10.0
      Downloading azure_core-1.16.0-py2.py3-none-any.whl (163 kB)
    Collecting msrest>=0.6.18
      Downloading msrest-0.6.21-py2.py3-none-any.whl (85 kB)
    Collecting isodate>=0.6.0
      Downloading isodate-0.6.0-py2.py3-none-any.whl (45 kB)
    Collecting wcwidth
      Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
    Building wheels for collected packages: Flask-Compress, Flask-Limiter, Flask-Login, pydruid, PyHive, python-ldap, sasl, thrift, thrift-sasl, click-didyoumean, future, limits
      Building wheel for Flask-Compress (setup.py): started
      Building wheel for Flask-Compress (setup.py): finished with status 'done'
      Created wheel for Flask-Compress: filename=Flask_Compress-1.4.0-py3-none-any.whl size=3710 sha256=56f72e789cec3ef330e41f1cc7f80e0160bfbf1367726773bffd62de9e9c5a5a
      Stored in directory: /root/.cache/pip/wheels/1f/42/7e/72241359a71f5f9d4e97f55e6d4ac99939efaec4e1fa7b23b8
      Building wheel for Flask-Limiter (setup.py): started
      Building wheel for Flask-Limiter (setup.py): finished with status 'done'
      Created wheel for Flask-Limiter: filename=Flask_Limiter-1.1.0-py3-none-any.whl size=13814 sha256=27cd5383f3b5e9a4776779e78fdd5bdd5d93dd5fccf5d5a9ae09bdaf17ff5bc5
      Stored in directory: /root/.cache/pip/wheels/cd/c0/6e/d7624c48b926358b9180c761b60cb20fdf534dc56d15a1cb5a
      Building wheel for Flask-Login (setup.py): started
      Building wheel for Flask-Login (setup.py): finished with status 'done'
      Created wheel for Flask-Login: filename=Flask_Login-0.4.1-py2.py3-none-any.whl size=15936 sha256=47325d3de7cf0ae63891f3399ab8579e06a8c6e5043f63ee1139693d90007caa
      Stored in directory: /root/.cache/pip/wheels/6b/b8/33/1da5a5d39e093a68d81848aa44fd70e3cd0193e6f2d5641052
      Building wheel for pydruid (setup.py): started
      Building wheel for pydruid (setup.py): finished with status 'done'
      Created wheel for pydruid: filename=pydruid-0.5.7-py2.py3-none-any.whl size=33718 sha256=97dd57be676e707f74925c352b0a0cfb9ffc0194ac2cced67cc8a298ed24743a
      Stored in directory: /root/.cache/pip/wheels/9a/7e/04/ee501cfdd3b5b4c625ab84101d0a8bb4c3cd4b7d2553ca8649
      Building wheel for PyHive (setup.py): started
      Building wheel for PyHive (setup.py): finished with status 'done'
      Created wheel for PyHive: filename=PyHive-0.6.3-py3-none-any.whl size=47555 sha256=452b224c1d19e6253128a4a9d59c145204b8249d6e457b05b5c512760b406e56
      Stored in directory: /root/.cache/pip/wheels/2a/41/7c/ca596391d05d420a9013a5de45676eed29c4ef7fd6e406e04b
      Building wheel for python-ldap (setup.py): started
      Building wheel for python-ldap (setup.py): finished with status 'done'
      Created wheel for python-ldap: filename=python_ldap-3.3.1-cp37-cp37m-linux_x86_64.whl size=327355 sha256=55b23fc3a4f119a7203995f335c42faa79f4d2be0254a9d6296f09e47de0da27
      Stored in directory: /root/.cache/pip/wheels/51/e8/8b/63e959b3370efb7cdea3b7df62b907e956fe74162ddf027e69
      Building wheel for sasl (setup.py): started
      Building wheel for sasl (setup.py): finished with status 'done'
      Created wheel for sasl: filename=sasl-0.2.1-cp37-cp37m-linux_x86_64.whl size=264105 sha256=d3e25291a590ded30373b587491a338e8ac3dda20389ef6227af1c5b591b9c6b
      Stored in directory: /root/.cache/pip/wheels/7b/68/b5/7f434112e892ab875a0f2539bb1f9bbce5a51efb02930bde0a
      Building wheel for thrift (setup.py): started
      Building wheel for thrift (setup.py): finished with status 'done'
      Created wheel for thrift: filename=thrift-0.11.0-cp37-cp37m-linux_x86_64.whl size=468016 sha256=ad48f96be63c245789c922f7b174d59c25927b5dc7b1d683af657de4b9e95a08
      Stored in directory: /root/.cache/pip/wheels/4c/14/51/0a5ef9b177fce063cbb528b80a24e672ca356f7b09a3a137f3
      Building wheel for thrift-sasl (setup.py): started
      Building wheel for thrift-sasl (setup.py): finished with status 'done'
      Created wheel for thrift-sasl: filename=thrift_sasl-0.3.0-py3-none-any.whl size=3947 sha256=06c6f8f89cf116c9451686a2744433838fbaae0311da3db45b094562e9a9ac91
      Stored in directory: /root/.cache/pip/wheels/8f/ec/a0/1433c54c9575012ccf473a4b439c7593f0d9a9fde85796eb5a
      Building wheel for click-didyoumean (setup.py): started
      Building wheel for click-didyoumean (setup.py): finished with status 'done'
      Created wheel for click-didyoumean: filename=click_didyoumean-0.0.3-py3-none-any.whl size=2146 sha256=0f3d516db0bbf6b1b9c9b8e4da3a38786e7cdd747dc2b6903a814758d6173cb7
      Stored in directory: /root/.cache/pip/wheels/fa/7d/7c/7870b469b2f29dd833cf4ce37e5e7ab32d3488d405014232f6
      Building wheel for future (setup.py): started
      Building wheel for future (setup.py): finished with status 'done'
      Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=f58bd41e743cea67ea4b6fbb476daa6f34bac47104cfe6ffcbec26a2bb74b18c
      Stored in directory: /root/.cache/pip/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0
      Building wheel for limits (setup.py): started
      Building wheel for limits (setup.py): finished with status 'done'
      Created wheel for limits: filename=limits-1.5.1-py3-none-any.whl size=15612 sha256=3917d2da150611cdd9c929f9362f6d19a0a99298a4c8d58d82c475889c169703
      Stored in directory: /root/.cache/pip/wheels/b5/3a/b5/826ef34ce2356c92873e9807739ed37e7f98eb6a883a7bb776
    Successfully built Flask-Compress Flask-Limiter Flask-Login pydruid PyHive python-ldap sasl thrift thrift-sasl click-didyoumean future limits
    Installing collected packages: urllib3, six, idna, chardet, certifi, requests, python-dateutil, pycparser, pyasn1, oauthlib, jmespath, docutils, zipp, wcwidth, vine, typing-extensions, rsa, requests-oauthlib, pyparsing, pyasn1-modules, protobuf, isodate, cffi, cachetools, botocore, s3transfer, pytz, prompt-toolkit, packaging, msrest, MarkupSafe, importlib-metadata, googleapis-common-protos, google-auth, cryptography, click, cached-property, azure-core, asn1crypto, amqp, zope.interface, zope.event, Werkzeug, thrift, sasl, python-engineio, pyOpenSSL, pyjwt, pycryptodomex, oscrypto, kombu, Jinja2, itsdangerous, greenlet, google-crc32c, google-api-core, future, click-repl, click-plugins, click-didyoumean, boto3, billiard, bidict, azure-storage-blob, azure-common, xmltodict, thrift-sasl, sqlalchemy, soupsieve, snowflake-connector-python, responses, redis, python-socketio, python-editor, PyHive, more-itertools, Mako, limits, google-resumable-media, google-cloud-core, google-auth-oauthlib, gevent, flask, celery, sqlparse, snowflake-sqlalchemy, requests-aws4auth, pyyaml, python-memcached, python-ldap, pymysql, pydruid, moto, markdown2, kazoo, hmsclient, gspread, google-cloud-storage, google-cloud-bigquery, gevent-websocket, flask-socketio, Flask-Login, Flask-Limiter, Flask-Compress, Flask-Caching, elasticsearch, boto, beautifulsoup4, alembic
    Successfully installed Flask-Caching-1.7.2 Flask-Compress-1.4.0 Flask-Limiter-1.1.0 Flask-Login-0.4.1 Jinja2-2.11.3 Mako-1.1.4 MarkupSafe-2.0.1 PyHive-0.6.3 Werkzeug-0.15.5 alembic-1.4.3 amqp-5.0.6 asn1crypto-1.4.0 azure-common-1.1.27 azure-core-1.16.0 azure-storage-blob-12.8.1 beautifulsoup4-4.8.2 bidict-0.21.2 billiard- boto-2.49.0 boto3-1.9.201 botocore-1.12.253 cached-property-1.5.2 cachetools-4.2.2 celery-5.0.5 certifi-2021.5.30 cffi-1.14.6 chardet-3.0.4 click-7.1.2 click-didyoumean-0.0.3 click-plugins-1.1.1 click-repl-0.2.0 cryptography-3.4.7 docutils-0.15.2 elasticsearch-6.3.1 flask-1.1.2 flask-socketio-5.0.1 future-0.18.2 gevent-21.1.2 gevent-websocket-0.10.1 google-api-core-1.27.0 google-auth-1.24.0 google-auth-oauthlib-0.4.4 google-cloud-bigquery-1.28.0 google-cloud-core-1.7.1 google-cloud-storage-1.37.0 google-crc32c-1.1.2 google-resumable-media-1.2.0 googleapis-common-protos-1.53.0 greenlet-1.0.0 gspread-3.6.0 hmsclient-0.1.1 idna-2.8 importlib-metadata-4.6.1 isodate-0.6.0 itsdangerous-2.0.1 jmespath-0.10.0 kazoo-2.5.0 kombu-5.1.0 limits-1.5.1 markdown2-2.4.0 more-itertools-8.8.0 moto-2.0.7 msrest-0.6.21 oauthlib-3.1.1 oscrypto-1.2.1 packaging-21.0 prompt-toolkit-3.0.19 protobuf-3.17.3 pyOpenSSL-20.0.1 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.20 pycryptodomex-3.10.1 pydruid-0.5.7 pyjwt-2.1.0 pymysql-0.9.3 pyparsing-2.4.7 python-dateutil-2.8.2 python-editor-1.0.4 python-engineio-4.2.0 python-ldap-3.3.1 python-memcached-1.59 python-socketio-5.2.1 pytz-2021.1 pyyaml-5.4.1 redis-3.5.3 requests-2.22.0 requests-aws4auth-0.9 requests-oauthlib-1.0.0 responses-0.13.3 rsa-4.7.2 s3transfer-0.2.1 sasl-0.2.1 six-1.16.0 snowflake-connector-python-2.5.0 snowflake-sqlalchemy-1.2.4 soupsieve-2.2.1 sqlalchemy-1.3.17 sqlparse-0.2.3 thrift-0.11.0 thrift-sasl-0.3.0 typing-extensions- urllib3-1.25.11 vine-5.0.0 wcwidth-0.2.5 xmltodict-0.12.0 zipp-3.5.0 zope.event-4.5.0 zope.interface-5.4.0
    WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
    You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
    Collecting ipython
      Downloading ipython-7.25.0-py3-none-any.whl (786 kB)
    Collecting watchdog_gevent
      Downloading watchdog_gevent-0.1.1-py3-none-any.whl (3.7 kB)
    Collecting watchdog[watchmedo]
      Downloading watchdog-2.1.3-py3-none-manylinux2014_x86_64.whl (75 kB)
    Collecting pytest==5.2.2
      Downloading pytest-5.2.2-py3-none-any.whl (227 kB)
    Collecting black==19.10b0
      Downloading black-19.10b0-py36-none-any.whl (97 kB)
    Collecting pre-commit==2.2.0
      Downloading pre_commit-2.2.0-py2.py3-none-any.whl (170 kB)
    Collecting coverage==5.4
      Downloading coverage-5.4-cp37-cp37m-manylinux2010_x86_64.whl (242 kB)
    Collecting appdirs
      Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
    Collecting pathspec<1,>=0.6
      Downloading pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
    Collecting toml>=0.9.4
      Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
    Collecting attrs>=18.1.0
      Downloading attrs-21.2.0-py2.py3-none-any.whl (53 kB)
    Requirement already satisfied: click>=6.5 in /usr/local/lib/python3.7/site-packages (from black==19.10b0->-r requirements/dev.txt (line 5)) (7.1.2)
    Collecting typed-ast>=1.4.0
      Downloading typed_ast-1.4.3-cp37-cp37m-manylinux1_x86_64.whl (743 kB)
    Collecting regex
      Downloading regex-2021.7.6-cp37-cp37m-manylinux2014_x86_64.whl (721 kB)
    Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/site-packages (from pre-commit==2.2.0->-r requirements/dev.txt (line 6)) (4.6.1)
    Collecting cfgv>=2.0.0
      Downloading cfgv-3.3.0-py2.py3-none-any.whl (7.3 kB)
    Collecting virtualenv>=15.2
      Downloading virtualenv-20.6.0-py2.py3-none-any.whl (5.3 MB)
    Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.7/site-packages (from pre-commit==2.2.0->-r requirements/dev.txt (line 6)) (5.4.1)
    Collecting identify>=1.0.0
      Downloading identify-2.2.11-py2.py3-none-any.whl (98 kB)
    Collecting nodeenv>=0.11.1
      Downloading nodeenv-1.6.0-py2.py3-none-any.whl (21 kB)
    Requirement already satisfied: more-itertools>=4.0.0 in /usr/local/lib/python3.7/site-packages (from pytest==5.2.2->-r requirements/dev.txt (line 4)) (8.8.0)
    Requirement already satisfied: packaging in /usr/local/lib/python3.7/site-packages (from pytest==5.2.2->-r requirements/dev.txt (line 4)) (21.0)
    Collecting pluggy<1.0,>=0.12
      Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
    Collecting atomicwrites>=1.0
      Downloading atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB)
    Collecting py>=1.5.0
      Downloading py-1.10.0-py2.py3-none-any.whl (97 kB)
    Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/site-packages (from pytest==5.2.2->-r requirements/dev.txt (line 4)) (0.2.5)
    Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/site-packages (from importlib-metadata->pre-commit==2.2.0->-r requirements/dev.txt (line 6)) (3.5.0)
    Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/site-packages (from importlib-metadata->pre-commit==2.2.0->-r requirements/dev.txt (line 6)) (
    Requirement already satisfied: six<2,>=1.9.0 in /usr/local/lib/python3.7/site-packages (from virtualenv>=15.2->pre-commit==2.2.0->-r requirements/dev.txt (line 6)) (1.16.0)
    Collecting platformdirs<3,>=2
      Downloading platformdirs-2.0.2-py2.py3-none-any.whl (10 kB)
    Collecting backports.entry-points-selectable>=1.0.4
      Downloading backports.entry_points_selectable-1.1.0-py2.py3-none-any.whl (6.2 kB)
    Collecting filelock<4,>=3.0.0
      Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB)
    Collecting distlib<1,>=0.3.1
      Downloading distlib-0.3.2-py2.py3-none-any.whl (338 kB)
    Collecting jedi>=0.16
      Downloading jedi-0.18.0-py2.py3-none-any.whl (1.4 MB)
    Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.7/site-packages (from ipython->-r requirements/dev.txt (line 1)) (3.0.19)
    Collecting pickleshare
      Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
    Collecting pygments
      Downloading Pygments-2.9.0-py3-none-any.whl (1.0 MB)
    Collecting matplotlib-inline
      Downloading matplotlib_inline-0.1.2-py3-none-any.whl (8.2 kB)
    Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.7/site-packages (from ipython->-r requirements/dev.txt (line 1)) (53.0.0)
    Collecting backcall
      Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB)
    Collecting decorator
      Downloading decorator-5.0.9-py3-none-any.whl (8.9 kB)
    Collecting pexpect>4.3
      Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
    Collecting traitlets>=4.2
      Downloading traitlets-5.0.5-py3-none-any.whl (100 kB)
    Collecting parso<0.9.0,>=0.8.0
      Downloading parso-0.8.2-py2.py3-none-any.whl (94 kB)
    Collecting ptyprocess>=0.5
      Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
    Collecting ipython-genutils
      Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
    Requirement already satisfied: gevent>=1.1 in /usr/local/lib/python3.7/site-packages (from watchdog_gevent->-r requirements/dev.txt (line 2)) (21.1.2)
    Requirement already satisfied: zope.event in /usr/local/lib/python3.7/site-packages (from gevent>=1.1->watchdog_gevent->-r requirements/dev.txt (line 2)) (4.5.0)
    Requirement already satisfied: greenlet<2.0,>=0.4.17 in /usr/local/lib/python3.7/site-packages (from gevent>=1.1->watchdog_gevent->-r requirements/dev.txt (line 2)) (1.0.0)
    Requirement already satisfied: zope.interface in /usr/local/lib/python3.7/site-packages (from gevent>=1.1->watchdog_gevent->-r requirements/dev.txt (line 2)) (5.4.0)
    Collecting argh>=0.24.1
      Downloading argh-0.26.2-py2.py3-none-any.whl (30 kB)
    Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.7/site-packages (from packaging->pytest==5.2.2->-r requirements/dev.txt (line 4)) (2.4.7)
    Installing collected packages: ipython-genutils, traitlets, ptyprocess, platformdirs, parso, filelock, distlib, backports.entry-points-selectable, watchdog, virtualenv, typed-ast, toml, regex, pygments, py, pluggy, pickleshare, pexpect, pathspec, nodeenv, matplotlib-inline, jedi, identify, decorator, cfgv, backcall, attrs, atomicwrites, argh, appdirs, watchdog-gevent, pytest, pre-commit, ipython, coverage, black
    Successfully installed appdirs-1.4.4 argh-0.26.2 atomicwrites-1.4.0 attrs-21.2.0 backcall-0.2.0 backports.entry-points-selectable-1.1.0 black-19.10b0 cfgv-3.3.0 coverage-5.4 decorator-5.0.9 distlib-0.3.2 filelock-3.0.12 identify-2.2.11 ipython-7.25.0 ipython-genutils-0.2.0 jedi-0.18.0 matplotlib-inline-0.1.2 nodeenv-1.6.0 parso-0.8.2 pathspec-0.9.0 pexpect-4.8.0 pickleshare-0.7.5 platformdirs-2.0.2 pluggy-0.13.1 pre-commit-2.2.0 ptyprocess-0.7.0 py-1.10.0 pygments-2.9.0 pytest-5.2.2 regex-2021.7.6 toml-0.10.2 traitlets-5.0.5 typed-ast-1.4.3 virtualenv-20.6.0 watchdog-2.1.3 watchdog-gevent-0.1.1
    WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
    You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
    ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'requirements/local.txt'
    WARNING: You are using pip version 21.0.1; however, version 21.1.3 is available.
    You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
    Removing intermediate container 9898b2d14a00
     ---> c9fe85b3e9ed
    Step 8/14 : COPY package.json yarn.lock ./
     ---> e801b9e139e3
    Step 9/14 : RUN yarn install --pure-lockfile && npm rebuild node-sass
     ---> Running in 1c2eb93b954b
    yarn install v1.22.10
    [1/5] Validating package.json...
    [2/5] Resolving packages...
    [3/5] Fetching packages...
    info [email protected]: The platform "linux" is incompatible with this module.
    info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    info [email protected]: The platform "linux" is incompatible with this module.
    info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    info [email protected]: The platform "linux" is incompatible with this module.
    info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    info [email protected]: The platform "linux" is incompatible with this module.
    info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    [4/5] Linking dependencies...
    warning "react-hot-toast > [email protected]" has incorrect peer dependency "csstype@^2.6.2".
    warning " > [email protected]" has unmet peer dependency "react-is@^16.8".
    warning " > [email protected]" has unmet peer dependency "react-is@>= 16.8.0".
    warning "@storybook/addon-essentials > @storybook/[email protected]" has unmet peer dependency "@storybook/components@^6.3.0".
    warning "@storybook/addon-essentials > @storybook/[email protected]" has unmet peer dependency "@storybook/core-events@^6.3.0".
    warning "@storybook/addon-essentials > @storybook/[email protected]" has unmet peer dependency "@storybook/theming@^6.3.0".
    warning "@storybook/addon-essentials > @storybook/addon-docs > @mdx-js/[email protected]" has incorrect peer dependency "react@^16.13.1 || ^17.0.0".
    warning "@storybook/react > @storybook/react-docgen-typescript-plugin > [email protected]" has incorrect peer dependency "typescript@>= 4.3.x".
    warning " > [email protected]" has unmet peer dependency "postcss@^7.0.0 || ^8.0.1".

    Has anyone seen such problems before?

    opened by rfortmann-ewolff 9
  • feat: add redshift query engine

    feat: add redshift query engine

    Adds redshift query engine python packages. @czgu -- is the testing provided below and in #693 sufficient for providing this query engine as "tier 1"? if not, I'm more than happy to perform additional testing, just let me know what else you'd like to see :).


    • confirmed querybook make executes successfully after adding -r extra.txt in requirements/local.txt

    Testing Screenshots

    • Language Specific Autocomplete supported for Amazon Redshift datatypes

    Screen Shot 2021-11-15 at 12 51 07 PM Screen Shot 2021-11-15 at 12 49 54 PM Screen Shot 2021-12-15 at 1 11 45 PM

    • Query execution Screen Shot 2021-11-15 at 11 49 21 AM

    • Query Engine execution provides status in UI

    Screen Shot 2021-12-15 at 1 09 07 PM

    • Query Engine generates logs

    Screen Shot 2021-12-15 at 1 09 44 PM

    • Authentication via IAM is supported

    localhost_10001_admin_query_engine_4_ (1)

    • Federated Authentication via Identity Provider is supported

    localhost_10001_admin_query_engine_2_ (1) (1)

    opened by Brooke-white 8
  • Automatically add a row limit to queries

    Automatically add a row limit to queries

    This change adds an optional Row Limit configuration to Query Engines. When enabled, queries without a LIMIT clause will have one automatically added prior to execution, with the configured number of rows. This is desirable to avoid inadvertently running unbounded queries on massive tables.

    Users can manually disable this feature with a checkbox in the ad hoc editor, or by manually providing a LIMIT in their query. This feature is not enabled for DataDocs.

    Query detection support has been added for LIMIT and the SQL Standard FETCH FIRST/NEXT syntax, which covers a number of languages. Additional parsing support would be needed to fully support other languages (e.g. SQL Server's TOP).

    Additionally, the Trino language has been split from the Presto language to add support for FETCH FIRST/NEXT, which Presto does not currently support.

    Screenshot 2022-08-04 at 11-23-56 Querybook

    Screenshot 2022-08-04 at 11-24-30 Adhoc Query - Querybook

    opened by baumandm 6
  • major: migration to es7

    major: migration to es7

    Solving #683

    This pull requests contains:

    • Changes in ElasticSearch document mappings and calls to ES client
    • Changes in docker-compose, k8s, helm ElasticSearch deployments
      • As every deployment uses only one ES server (it doesn't actually create ES cluster there)discovery.type=single-node was used. This is necessary in ES7, otherwise it leads to verification of production setup (bootstrap checks) and the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured error. But these options are good only with proper cluster.
      • For helm deployment, I've taken the setting of ES environmental variables from elasticsearch-deployment.yaml template to values.yaml completely, so it's more on the eyes.
    • Increased version of base requirement elasticsearch library

    The most recent version of ElasticSearch 7 (7.15.2) was chosen as the default version, but according to my local tests any ES7 minor/patch version should work.

    opened by froukees 6
  • Feat: add Multi-line and multi-cursor editing

    Feat: add Multi-line and multi-cursor editing

    Hi! We want to add the next functionality https://kencenerelli.wordpress.com/2018/03/25/visual-studio-code-multi-line-and-multi-cursor-editing/ .

    So, a user can edit multiple lines at the same time and a user can set multiple selections.

    opened by alexVasylenko 5
  • Add ClickHouse Support Through SQLAlchemy

    Add ClickHouse Support Through SQLAlchemy

    • Adds the native clickhouse driver

    • Adds the sqlalchemy driver clickhouse

    • Supports connection options within the string

    • Specify your connection string as follows:

    HTTP (default)



    opened by rickysaltzer 5
  • Table Creator

    Table Creator

    Add the ability to create tables in metastore. The data used to create tables can come from 2 sources:

    • User-uploaded CSV file (or other formats?)
    • Query Results in CSV format

    For user uploaded, provide an upload icon near the search bar. If the environment has a metastore that can be uploaded, then show the export result to the table as an option.

    minor release high cost server 
    opened by czgu 5
  • Importing Table Metadata from an External System

    Importing Table Metadata from an External System

    Hi, we are looking at how we can maintain table metadata (e.g. table descriptions, column descriptions, table warnings) in a separate system, but mirror it into Querybook. It doesn't look like it's possible currently, so I've come up with a few options:

    1. Write an automated script that exports metadata and pushes it into Querybook database. This doesn't require changes to Querybook, but relying on Querybook internals is brittle.

    2. Extend one of the Metastore plugins (e.g. HMSMetastoreLoader) to fetch data during load. This would only require a new plugin, so no changes in Querybook. Downside is that it would be implemented per metastore, so if we wanted to implement this for a variety of different metastores, it would be a bit messy. It would also require maintaining a separate plugin fork.

    3. Extend Querybook with a new plugin type that pulls table metadata from an external source. This could be triggered as part of the update_metastore task, or configured as a separate task that runs on its own schedule. This allows the implementation to be cleanly separated from both the Querybook internals and any specific metastore loader.

    I think the 3rd option is the best approach, but requires the most changes in Querybook to support. Does this sound like a reasonable approach? Are there any other solutions that I'm missing?

    opened by baumandm 4
  • feat: Generic OAuth - Give the possibility to use the access_token in headers section

    feat: Generic OAuth - Give the possibility to use the access_token in headers section

    Solving #756

    This PR gives flexibility to the Generic OAuth Flow when using a provider that accepts authorized API calls using the retrieved access_token via Authorization header instead of URL parameters.

    opened by ghost 4
  • Add DataDocSchedule page

    Add DataDocSchedule page

    Hi! We want to add a page where a user (in general analyst) can see all dataDocs information and can edit the dataDoc schedules centrally. So, for that, I added a page with a table where an analyst will be able to see all the useful information. The left sidebar should be closed for this page because the sidebar has duplicated information.

    1. The table should contain the next list of information: DataDoc, Schedule, Last Run, Next Run, Execution Time, Status, and Actions.

    2. The DataDoc name is clickable and after a click, to the DataDoc name, the DataDoc will be opened. If some DataDocs don't have any title, the text "Untitled" will be displayed.

    3. The schedule column should contain information when and how often this DataDoc is executed.

    4. The last execution column contains the date or just an empty string.

    5. The next execution contains information about the next run, the information is calculated from cron schedule.

    6. This table has a column which is called 'Actions' and this column has two buttons: History and Edit.

    7. if a user clicks on the 'History' button, I should see a modal with the next information: id, created at, updated at, status, and Error Message should be displayed.

    8. If a user clicks on the 'Edit' button, a modal where the user can edit a schedule for the selected DataDoc should be shown.

    9. After closing the editing modal, the table should be updated automatically.

    10. This table should have pagination.

    11. A user can filter dataDocs by name. page2


    opened by alexVasylenko 4
  • [Snyk] Security upgrade yaml-loader from 0.6.0 to 0.7.0

    [Snyk] Security upgrade yaml-loader from 0.6.0 to 0.7.0

    Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • package.json
      • yarn.lock

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 713/1000
    Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 6.4 | Prototype Pollution
    SNYK-JS-JSON5-3182856 | No | Proof of Concept

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic

    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Prototype Pollution

    title needs formatting 
    opened by snyk-bot 0
  • [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1

    This PR was automatically created by Snyk using the credentials of a real user.

    Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • requirements/base.txt
    ⚠️ Warning
    Werkzeug 2.2.2 requires MarkupSafe, which is not installed.
    Mako 1.2.4 requires MarkupSafe, which is not installed.
    Jinja2 3.1.2 requires MarkupSafe, which is not installed.
    gevent 21.12.0 requires psutil, which is not installed.
    gevent 21.12.0 requires psutil, which is not installed.
    gevent 21.12.0 requires psutil, which is not installed.

    Vulnerabilities that will be fixed

    By pinning:

    Severity | Priority Score (*) | Issue | Upgrade | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:-------------------------|:------------------------- medium severity | 551/1000
    Why? Recently disclosed, Has a fix available, CVSS 5.3 | Regular Expression Denial of Service (ReDoS)
    SNYK-PYTHON-SETUPTOOLS-3180412 | setuptools:
    39.0.1 -> 65.5.1
    | No | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.

    Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

    Check the changes in this PR to ensure they won't cause issues with your project.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic

    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Regular Expression Denial of Service (ReDoS)

    title needs formatting 
    opened by devinlundberg 0
  • feat: add datadoc retry with delay on failure

    feat: add datadoc retry with delay on failure

    Adds an option to enable retrying running a Datadoc cell on the event of a failure. Can set the max number of times a cell will retry, and the delay in seconds between each attempt. Retries are performed per-cell, but whenever any cell reaches the max retries limit, the DataDoc is marked failed.

    This feature is disabled by default, and all existing schedules continue to work as before.

    Screen Shot 2022-12-08 at 11 30 48 AM

    Screen Shot 2022-12-08 at 11 07 00 AM

    opened by lilyli9 0
  • [Snyk] Security upgrade qs from 6.10.1 to 6.10.3

    [Snyk] Security upgrade qs from 6.10.1 to 6.10.3

    This PR was automatically created by Snyk using the credentials of a real user.

    Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.

    Changes included in this PR

    • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
      • package.json
      • yarn.lock

    Vulnerabilities that will be fixed

    With an upgrade:

    Severity | Priority Score (*) | Issue | Breaking Change | Exploit Maturity :-------------------------:|-------------------------|:-------------------------|:-------------------------|:------------------------- high severity | 768/1000
    Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 7.5 | Prototype Pollution
    SNYK-JS-QS-3153490 | No | Proof of Concept

    (*) Note that the real score may have changed since the PR was raised.

    Check the changes in this PR to ensure they won't cause issues with your project.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    ?? Adjust project settings

    📚 Read more about Snyk's upgrade and patch logic

    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Prototype Pollution

    title needs formatting 
    opened by devinlundberg 0
  • feat: Visualize complex Hive column types v2

    feat: Visualize complex Hive column types v2

    This is an alternate version of #1072, replacing the JSON viewer with a more natural-looking nested type drilldown. I've also addressed some issues with the original version.

    Compared to #1072, the parser is more consistent and does a better job of handling certain types than before. To support the nesting, it always creates nodes with optional children. Now array<> and uniontype<> types will create placeholder <element> nodes underneath them, and map<> types create placeholder <key> and <value> nodes.

    Complex type parsing is case-insensitive (e.g. struct vs STRUCT) but otherwise case is preserved.

    There are three main features:

    1. Columns with complex types can be expanded directly in the TablePanelView to see a nested representation (initially collapsed).

    Screen Shot 2022-12-01 at 4 55 50 PM Screen Shot 2022-12-01 at 4 56 10 PM

    1. The type displayed on the ColumnPanelView is pretty-printed with simple line breaks/indents.

    Screen Shot 2022-12-01 at 4 56 35 PM

    1. The DataTableColumnCard shows a similar nested visualization after expanding a column (initially collapsed).

    Screen Shot 2022-12-01 at 4 58 06 PM

    opened by baumandm 1
  • Pull Request Preview Environments for increasing maintainer productivity

    Pull Request Preview Environments for increasing maintainer productivity

    I would like to make life easier for Querybook maintainers by implementing Uffizzi preview environments. Disclaimer: I work on Uffizzi.

    Uffizzi is a Open Source full stack previews engine and our platform is available completely free for Querybook (and all open source projects). This will provide maintainers with preview environments of their PRs in the cloud, allowing them iterate faster and reduce time to merge.

    Uffizzi is purpose-built for the task of previewing PRs and it integrates with your workflow to deploy preview environments in the background without any manual steps for maintainers or contributors.


    • [ ] Intial PoC
    opened by waveywaves 0
  • v3.14.2(Dec 5, 2022)

    What's Changed

    • Add DataHub Query Result Type Detector/Stats Analyzer/Display Transformer by @czgu in https://github.com/pinterest/querybook/pull/290
    • Add isNumeric and make type check more general by @czgu in https://github.com/pinterest/querybook/pull/293
    • UI Fix for user menu by @czgu in https://github.com/pinterest/querybook/pull/295
    • Ensure s3 chunk read accounts for utf8 length by @czgu in https://github.com/pinterest/querybook/pull/296
    • Ignore contents inside bracket of a query if it does not start keywords like SELECT by @czgu in https://github.com/pinterest/querybook/pull/297
    • Show DataHub version in UI by @czgu in https://github.com/pinterest/querybook/pull/298
    • Update filter... placeholder for nav bars by @czgu in https://github.com/pinterest/querybook/pull/299
    • Add force form export button by @czgu in https://github.com/pinterest/querybook/pull/300
    • Ensure header is sticky in full screen mode by @czgu in https://github.com/pinterest/querybook/pull/301
    • Add documentation for query result transform by @czgu in https://github.com/pinterest/querybook/pull/303
    • Fix multiple charting bugs by @czgu in https://github.com/pinterest/querybook/pull/306
    • Fixed wrong execution picking behaivor for chart cell by @czgu in https://github.com/pinterest/querybook/pull/307
    • Add snowflake support for DH by @czgu in https://github.com/pinterest/querybook/pull/313
    • Version Bump Styled Components by @czgu in https://github.com/pinterest/querybook/pull/314
    • Add typescript checking to unit test, fixed all errors by @czgu in https://github.com/pinterest/querybook/pull/315
    • Bump dot-prop from 4.2.0 to 4.2.1 in /docs_website by @dependabot in https://github.com/pinterest/querybook/pull/316
    • [BUG] CI breaks when trying to set env var, updating how env vars are set by @darapuk in https://github.com/pinterest/querybook/pull/318
    • Use ESLint instead of TSLint by @czgu in https://github.com/pinterest/querybook/pull/317
    • Add Board View by @meowcodes in https://github.com/pinterest/querybook/pull/319
    • Fix auto complete in codemirror due to eslint update by @czgu in https://github.com/pinterest/querybook/pull/320
    • Bump version to resolve alerts by @czgu in https://github.com/pinterest/querybook/pull/321
    • Bump Python & Flask version by @czgu in https://github.com/pinterest/querybook/pull/322
    • Add snowflake syntax error parsing by @czgu in https://github.com/pinterest/querybook/pull/323
    • Custom homepage plugin by @czgu in https://github.com/pinterest/querybook/pull/324
    • Make source query only show the last entry by @czgu in https://github.com/pinterest/querybook/pull/325
    • Only show query engine from in the environment for samples by @czgu in https://github.com/pinterest/querybook/pull/326
    • Add new documentation site for DataHub by @czgu in https://github.com/pinterest/querybook/pull/327
    • Add Change note for Nov 2020 Update by @czgu in https://github.com/pinterest/querybook/pull/328
    • Add Google form for waitlist by @czgu in https://github.com/pinterest/querybook/pull/329
    • [UI] Update Lush Theme Colors & Execution List Alignment by @meowcodes in https://github.com/pinterest/querybook/pull/331
    • [Fix] Classname Typo by @meowcodes in https://github.com/pinterest/querybook/pull/332
    • Fix snapshot tests by @czgu in https://github.com/pinterest/querybook/pull/333
    • Fix issue with table view not available in full view by @czgu in https://github.com/pinterest/querybook/pull/335
    • Add docker to docs site by @czgu in https://github.com/pinterest/querybook/pull/337
    • Update front page styling of the docs site by @czgu in https://github.com/pinterest/querybook/pull/336
    • Rename DataHub to Querybook for docs and docs site by @czgu in https://github.com/pinterest/querybook/pull/339
    • [Board] Add title and description to board view by @meowcodes in https://github.com/pinterest/querybook/pull/340
    • Fix selection behavior by @czgu in https://github.com/pinterest/querybook/pull/341
    • Use Gifs for Docs site example by @czgu in https://github.com/pinterest/querybook/pull/342
    • Pin EngineIO version to fix socketio issue by @czgu in https://github.com/pinterest/querybook/pull/344
    • Update docs website message, add alt to img by @czgu in https://github.com/pinterest/querybook/pull/343
    • Fixed gradient text with wrong class by @czgu in https://github.com/pinterest/querybook/pull/345
    • Make clone DataDoc public/private config same as create new DataDoc by @czgu in https://github.com/pinterest/querybook/pull/346
    • Update lexer to not categorize distinct from as table by @czgu in https://github.com/pinterest/querybook/pull/347
    • Update docs formatting by @czgu in https://github.com/pinterest/querybook/pull/348
    • Delegate markdown rendering to the frontend by @czgu in https://github.com/pinterest/querybook/pull/349
    • Add force show functionality to meta info by @czgu in https://github.com/pinterest/querybook/pull/351
    • Make sure border radius is shown for docs image modal by @czgu in https://github.com/pinterest/querybook/pull/352
    • Update the html plugin guide by @czgu in https://github.com/pinterest/querybook/pull/353
    • Add correct cascade behavior for sqlalchemy by @czgu in https://github.com/pinterest/querybook/pull/354
    • Add search filters for table search by @czgu in https://github.com/pinterest/querybook/pull/356
    • Add foreign key name in the latest migration by @czgu in https://github.com/pinterest/querybook/pull/358
    • Update doc site url to querybook.com by @czgu in https://github.com/pinterest/querybook/pull/359
    • Update Favicon for Querybook 🐘 by @czgu in https://github.com/pinterest/querybook/pull/360
    • Only show my lists on the sidebar by @czgu in https://github.com/pinterest/querybook/pull/361
    • Make Markdown use external links, Make adhoc query persists in indexDB by @czgu in https://github.com/pinterest/querybook/pull/362
    • Add the ability to order board in doc nav by @czgu in https://github.com/pinterest/querybook/pull/363
    • add icon titles for left+right sidebars by @czgu in https://github.com/pinterest/querybook/pull/365
    • Allow query title to be multiline by @czgu in https://github.com/pinterest/querybook/pull/364
    • Use content for markdown formatting by @czgu in https://github.com/pinterest/querybook/pull/367
    • Decentralized storybook, update to v6 by @czgu in https://github.com/pinterest/querybook/pull/366
    • Manual bump axios to fix security alert by @czgu in https://github.com/pinterest/querybook/pull/368
    • Replace notification with toast by @czgu in https://github.com/pinterest/querybook/pull/369
    • Add multi export functionality to scheduled DataDoc by @czgu in https://github.com/pinterest/querybook/pull/372
    • Remove dead code / unused references by @czgu in https://github.com/pinterest/querybook/pull/370
    • Simplified api check for uid by @czgu in https://github.com/pinterest/querybook/pull/371
    • Use HTML to store rich text content by @czgu in https://github.com/pinterest/querybook/pull/373
    • Remove license file from repo by @czgu in https://github.com/pinterest/querybook/pull/374
    • Rename DataHub to Querybook by @czgu in https://github.com/pinterest/querybook/pull/375
    • Remove unused files by @czgu in https://github.com/pinterest/querybook/pull/378
    • Fix Embedded Query Page by @czgu in https://github.com/pinterest/querybook/pull/377
    • Bump Jest version to fix security issue by @czgu in https://github.com/pinterest/querybook/pull/381
    • Ensure scheduler works with old configs by @czgu in https://github.com/pinterest/querybook/pull/380
    • Fix & Update Tutorials by @czgu in https://github.com/pinterest/querybook/pull/382
    • Add the ability to customize app name by @czgu in https://github.com/pinterest/querybook/pull/379
    • Add the official doc site in readme by @czgu in https://github.com/pinterest/querybook/pull/383
    • Bump ini from 1.3.5 to 1.3.8 by @dependabot in https://github.com/pinterest/querybook/pull/391
    • Fix scheduler export by @czgu in https://github.com/pinterest/querybook/pull/392
    • Bump immer version by @czgu in https://github.com/pinterest/querybook/pull/390
    • Add gtag tracking to docs website by @czgu in https://github.com/pinterest/querybook/pull/393
    • Update README url by @czgu in https://github.com/pinterest/querybook/pull/394
    • Add babel styled components plugin by @czgu in https://github.com/pinterest/querybook/pull/397
    • Refactor run_query into multiple modules by @czgu in https://github.com/pinterest/querybook/pull/396
    • Autofocus adhoc query editor at start by @czgu in https://github.com/pinterest/querybook/pull/395
    • Update organization of documentation site by @czgu in https://github.com/pinterest/querybook/pull/398
    • Make webpack hot reload in docker compose by @czgu in https://github.com/pinterest/querybook/pull/401
    • Fixed home page to docs url by @czgu in https://github.com/pinterest/querybook/pull/402
    • Fix alignment of logo by @czgu in https://github.com/pinterest/querybook/pull/403
    • Add code coverage with python by @czgu in https://github.com/pinterest/querybook/pull/404
    • Updated auth documentation, link login warning to doc by @czgu in https://github.com/pinterest/querybook/pull/407
    • Add OKTA auth integration by @czgu in https://github.com/pinterest/querybook/pull/408
    • Fix sort cell behavior for query results by @czgu in https://github.com/pinterest/querybook/pull/410
    • ci: use nondocker to run pytest and jest by @czgu in https://github.com/pinterest/querybook/pull/413
    • chore: Add automatic version bumping by @czgu in https://github.com/pinterest/querybook/pull/412
    • feat: Update query engine archive behavior by @czgu in https://github.com/pinterest/querybook/pull/411
    • chore: Add eye icon for password field by @czgu in https://github.com/pinterest/querybook/pull/409
    • docs:Document querybook dev experience on windows by @czgu in https://github.com/pinterest/querybook/pull/415
    • ci: update version bump & document tag by @czgu in https://github.com/pinterest/querybook/pull/414
    • fix: Update socketio version, fix connection behavior by @czgu in https://github.com/pinterest/querybook/pull/416
    • fix: Skip ACL check if metastore id is not defined for engine by @czgu in https://github.com/pinterest/querybook/pull/417
    • ui: Make copy to tsv a single click by @czgu in https://github.com/pinterest/querybook/pull/418
    • ui: Refactored Button to make style more independent by @czgu in https://github.com/pinterest/querybook/pull/422
    • feat: Add cooccurence to query samples by @czgu in https://github.com/pinterest/querybook/pull/423
    • ui: add statement result filtering by @czgu in https://github.com/pinterest/querybook/pull/425
    • ui: Change overflow scroll to overflow auto by @czgu in https://github.com/pinterest/querybook/pull/427
    • fix: Update querybooks default engine error msg by @czgu in https://github.com/pinterest/querybook/pull/426
    • fix: Multiple socketio issues by @czgu in https://github.com/pinterest/querybook/pull/428
    • fix: correct connection behavior with socketio by @czgu in https://github.com/pinterest/querybook/pull/429
    • docs: update doc main site description by @czgu in https://github.com/pinterest/querybook/pull/431
    • feat: Improve lowercase & partial word search by @czgu in https://github.com/pinterest/querybook/pull/430
    • fix: broken docs links by @czgu in https://github.com/pinterest/querybook/pull/432
    • fix: setup node version issue by @meowcodes in https://github.com/pinterest/querybook/pull/438
    • feat: add access control to Lists by @meowcodes in https://github.com/pinterest/querybook/pull/440
    • fix: update DataDocError typing by @meowcodes in https://github.com/pinterest/querybook/pull/441
    • refactor: replace classnames with clsx by @meowcodes in https://github.com/pinterest/querybook/pull/443
    • fix: query cell typing slowness issue by @meowcodes in https://github.com/pinterest/querybook/pull/444
    • refactor: Allow metastore loaders parallelization setting to be customized by @czgu in https://github.com/pinterest/querybook/pull/445
    • refactor: reduce component re-render by @czgu in https://github.com/pinterest/querybook/pull/446
    • fix: gspread uploader issues by @czgu in https://github.com/pinterest/querybook/pull/460
    • docs: Update developer guide with nodepython version req by @czgu in https://github.com/pinterest/querybook/pull/447
    • feat: update alembic for list changes & type changes by @meowcodes in https://github.com/pinterest/querybook/pull/466
    • ui: Update Board description to richtext by @meowcodes in https://github.com/pinterest/querybook/pull/467
    • ci:Separate tests, remove auto versioning by @czgu in https://github.com/pinterest/querybook/pull/468
    • fix: disable react hot reloading for now by @czgu in https://github.com/pinterest/querybook/pull/470
    • docs: remove waitlist from docs site by @czgu in https://github.com/pinterest/querybook/pull/469
    • refactor: removed pinterest specific code & resolved some todo by @czgu in https://github.com/pinterest/querybook/pull/471
    • docs: Update quick_setup.md by @meowcodes in https://github.com/pinterest/querybook/pull/472
    • fix: Small demo change by @meowcodes in https://github.com/pinterest/querybook/pull/473
    • docs: Update doc for first setup by @czgu in https://github.com/pinterest/querybook/pull/474
    • fix: hot reloading for web container by @czgu in https://github.com/pinterest/querybook/pull/475
    • fix: Clean up migration scripts to be postgres/mysql compatible by @czgu in https://github.com/pinterest/querybook/pull/476
    • docs: add user comment by @czgu in https://github.com/pinterest/querybook/pull/478
    • docs: Add search support by Agolia by @czgu in https://github.com/pinterest/querybook/pull/477
    • fix: Resolve many small ui bugs by @czgu in https://github.com/pinterest/querybook/pull/479
    • chore(deps): bump elliptic from 6.5.3 to 6.5.4 by @dependabot in https://github.com/pinterest/querybook/pull/481
    • fix: update pyyaml and jinja2 version to resolve dependency alerts by @czgu in https://github.com/pinterest/querybook/pull/480
    • chore(deps): bump elliptic from 6.5.3 to 6.5.4 in /docs_website by @dependabot in https://github.com/pinterest/querybook/pull/482
    • fix: auto query selection behavior by @czgu in https://github.com/pinterest/querybook/pull/484
    • docs: add announcement banner on main site by @czgu in https://github.com/pinterest/querybook/pull/483
    • fix: update slack url by @meowcodes in https://github.com/pinterest/querybook/pull/485
    • fix querybook image url by @renzholy in https://github.com/pinterest/querybook/pull/487
    • fix: update google packages. by @set5think in https://github.com/pinterest/querybook/pull/494
    • fix: Update nofile ulimit for docker to be 65536 to enable es by @czgu in https://github.com/pinterest/querybook/pull/495
    • docs: Add slack to docs site and readme by @czgu in https://github.com/pinterest/querybook/pull/497
    • fix: Fix Slack URL by @justinmpier in https://github.com/pinterest/querybook/pull/500
    • feat: add generic-sqlalchemy executor to support most of databases by @czgu in https://github.com/pinterest/querybook/pull/501
    • Makefile updates by @trevorgrayson in https://github.com/pinterest/querybook/pull/503
    • docs: update docs section for query engines by @czgu in https://github.com/pinterest/querybook/pull/502
    • Modify cellType title by @vnnw in https://github.com/pinterest/querybook/pull/505
    • fix: fix form validation for metastore form by @czgu in https://github.com/pinterest/querybook/pull/506
    • docs: fix faq link by @meowcodes in https://github.com/pinterest/querybook/pull/510
    • docs: Add instruction on how to find the admin tool by @czgu in https://github.com/pinterest/querybook/pull/511
    • feat: Update docs on trino support, added trino sqlalchemy support by @czgu in https://github.com/pinterest/querybook/pull/512
    • fix: Meaningful error when creating a datadoc in env without query engine by @czgu in https://github.com/pinterest/querybook/pull/513
    • fix: update adhoc query editor to show selection by @czgu in https://github.com/pinterest/querybook/pull/515
    • fix: lower debounce for query cell by @czgu in https://github.com/pinterest/querybook/pull/516
    • ui: add yearly and hourly scheduling by @meowcodes in https://github.com/pinterest/querybook/pull/518
    • ui: add max width to table view by @meowcodes in https://github.com/pinterest/querybook/pull/519
    • ui: fix chart legend color update lag by @meowcodes in https://github.com/pinterest/querybook/pull/520
    • fix: Force content in container to take full width by @czgu in https://github.com/pinterest/querybook/pull/521
    • ui: add margin to error page by @meowcodes in https://github.com/pinterest/querybook/pull/522
    • ui: add request edit access + style update by @meowcodes in https://github.com/pinterest/querybook/pull/523
    • ui: update pagination by @meowcodes in https://github.com/pinterest/querybook/pull/524
    • fix: recurrence validation fix by @meowcodes in https://github.com/pinterest/querybook/pull/525
    • ui: add recurrence editor error by @meowcodes in https://github.com/pinterest/querybook/pull/526
    • ui: update hourly blurb by @meowcodes in https://github.com/pinterest/querybook/pull/527
    • Update authentication issue with socketio by @czgu in https://github.com/pinterest/querybook/pull/528
    • fix: Improve socketio error handling behaivor by @czgu in https://github.com/pinterest/querybook/pull/529
    • fix: hide client disconnect error msg by @czgu in https://github.com/pinterest/querybook/pull/530
    • fix: RESULT_PER_PAGE to be 20 by @czgu in https://github.com/pinterest/querybook/pull/533
    • ui: Add markdown table css table for content by @czgu in https://github.com/pinterest/querybook/pull/537
    • fix:small ui issues by @czgu in https://github.com/pinterest/querybook/pull/538
    • feat: show user name in user select by @czgu in https://github.com/pinterest/querybook/pull/540
    • fix: simplify es connection logic by @czgu in https://github.com/pinterest/querybook/pull/539
    • fix: set version of python-socketio to 5.2.1 by @czgu in https://github.com/pinterest/querybook/pull/545
    • build: Update to Webpack 5 by @czgu in https://github.com/pinterest/querybook/pull/546
    • feat: add aws glue data catalog as a metastore by @mnoumanshahzad in https://github.com/pinterest/querybook/pull/544
    • ui: add break-all to search result desc by @meowcodes in https://github.com/pinterest/querybook/pull/547
    • ui: hide hour when hourly recurrence by @meowcodes in https://github.com/pinterest/querybook/pull/548
    • fix: show untitled datadoc by @czgu in https://github.com/pinterest/querybook/pull/549
    • feat: add stack trace to internal querybook exceptions by @czgu in https://github.com/pinterest/querybook/pull/550
    • fix: remove extra characters from r exporter by @czgu in https://github.com/pinterest/querybook/pull/551
    • feat: support progressPercentage in hive thrift response by @dropoftruth in https://github.com/pinterest/querybook/pull/553
    • ui: Change favorite icon to star by @czgu in https://github.com/pinterest/querybook/pull/558
    • feat: Make log scrollable without fullscreen by @czgu in https://github.com/pinterest/querybook/pull/557
    • Fix username ui display by @czgu in https://github.com/pinterest/querybook/pull/559
    • fix: change remaining querybook image url by @yongchand in https://github.com/pinterest/querybook/pull/561
    • feat: Add query params for sqlalchemy connection by @czgu in https://github.com/pinterest/querybook/pull/563
    • fix: change k8s options to operate by @yongchand in https://github.com/pinterest/querybook/pull/567
    • fix: Delete DataDoc and QueryExecutionAccess errors by @czgu in https://github.com/pinterest/querybook/pull/568
    • fix: make link left click only, update style by @czgu in https://github.com/pinterest/querybook/pull/569
    • docs: update logo to use svg by @czgu in https://github.com/pinterest/querybook/pull/571
    • docs: update logo by @czgu in https://github.com/pinterest/querybook/pull/572
    • fix: slack invite url by @czgu in https://github.com/pinterest/querybook/pull/573
    • fix: Update slack everywhere by @czgu in https://github.com/pinterest/querybook/pull/574
    • fix: update package.json for security purposes by @czgu in https://github.com/pinterest/querybook/pull/577
    • feat: change workflow to publish to dockerhub by @czgu in https://github.com/pinterest/querybook/pull/575
    • feat: add helm chart for querybook by @yongchand in https://github.com/pinterest/querybook/pull/576
    • feat: Refactor keymap code under 1 file, added keymap customization by @czgu in https://github.com/pinterest/querybook/pull/579
    • fix: add explanation about mandatory environment variables by @yongchand in https://github.com/pinterest/querybook/pull/580
    • ui: add code splitting to webapp by @czgu in https://github.com/pinterest/querybook/pull/582
    • fix: container ui overflow issue by @czgu in https://github.com/pinterest/querybook/pull/594
    • fix: redirect user for download instead of proxy by @czgu in https://github.com/pinterest/querybook/pull/593
    • Prettier 2.2.1 by @czgu in https://github.com/pinterest/querybook/pull/591
    • fix: update overflow property of codehighlight, added stories by @czgu in https://github.com/pinterest/querybook/pull/589
    • feat: add celery flower monitoring example by @czgu in https://github.com/pinterest/querybook/pull/588
    • docs: Add documentation for storybook by @czgu in https://github.com/pinterest/querybook/pull/586
    • fix: error handling for update cell, insert/delete idempotent by @czgu in https://github.com/pinterest/querybook/pull/592
    • fix: regex backtracking due to nesting by @czgu in https://github.com/pinterest/querybook/pull/596
    • fix: search date picker logic by @czgu in https://github.com/pinterest/querybook/pull/597
    • refactor: moving lineage code into its own plugin by @dperetin in https://github.com/pinterest/querybook/pull/587
    • fix: chart metadata handling issue by @czgu in https://github.com/pinterest/querybook/pull/598
    • minor: update chartjs from 2 to 3 by @czgu in https://github.com/pinterest/querybook/pull/601
    • chore(deps): bump lodash from 4.17.19 to 4.17.21 by @dependabot in https://github.com/pinterest/querybook/pull/602
    • fix: update file store behavior for better csv parsing by @czgu in https://github.com/pinterest/querybook/pull/604
    • fix: docker compose fail due to variable missing by @czgu in https://github.com/pinterest/querybook/pull/603
    • major: add ability to customize download name by @czgu in https://github.com/pinterest/querybook/pull/606
    • feat: added size attribute to chart meta by @czgu in https://github.com/pinterest/querybook/pull/607
    • fix: let y axis auto provide scale by @czgu in https://github.com/pinterest/querybook/pull/609
    • fix: broken chart typing by @czgu in https://github.com/pinterest/querybook/pull/610
    • feat: add shortcut to change the engine by @czgu in https://github.com/pinterest/querybook/pull/608
    • fix: multiple charting bugs by @czgu in https://github.com/pinterest/querybook/pull/611
    • chore: update to react 17 by @czgu in https://github.com/pinterest/querybook/pull/612
    • fix: Added memo to charts to prevent necessary update by @czgu in https://github.com/pinterest/querybook/pull/613
    • fix: production web is broken due to css name mapping in source map by @czgu in https://github.com/pinterest/querybook/pull/615
    • feat: use react fast refresh instead of hot reloader by @czgu in https://github.com/pinterest/querybook/pull/617
    • fix: Use moment to parse date by @czgu in https://github.com/pinterest/querybook/pull/618
    • feat:add json view in table results by @czgu in https://github.com/pinterest/querybook/pull/622
    • feat: add copy and paste shortcuts by @czgu in https://github.com/pinterest/querybook/pull/621
    • feat: add full screen button for query editors by @czgu in https://github.com/pinterest/querybook/pull/620
    • feat: add hover to display functionality for docs and tables by @czgu in https://github.com/pinterest/querybook/pull/619
    • fix: remove preprocessing, use debounce instead of throttle by @czgu in https://github.com/pinterest/querybook/pull/623
    • chore: update to typescript 4.3 by @czgu in https://github.com/pinterest/querybook/pull/624
    • chore(deps): bump tar from 4.4.6 to 4.4.15 by @dependabot in https://github.com/pinterest/querybook/pull/625
    • fix: use http instead of ws to updateCell by @czgu in https://github.com/pinterest/querybook/pull/626
    • fix: hide stack trace for users by @czgu in https://github.com/pinterest/querybook/pull/627
    • fix: use phrase match to improve table name search by @czgu in https://github.com/pinterest/querybook/pull/629
    • chore: apply eslint to fix unused imports by @czgu in https://github.com/pinterest/querybook/pull/630
    • fix: common exceptions thrown in server by @czgu in https://github.com/pinterest/querybook/pull/628
    • docs: update logo for the documentation side by @czgu in https://github.com/pinterest/querybook/pull/632
    • feat: Fine tuning the search table behavior by @czgu in https://github.com/pinterest/querybook/pull/631
    • fix: add time scale for bar charts by @czgu in https://github.com/pinterest/querybook/pull/634
    • fix: add ordering by impression when fetching recent data docs by @czgu in https://github.com/pinterest/querybook/pull/637
    • fix: Remove logout from redux, add user resource by @czgu in https://github.com/pinterest/querybook/pull/636
    • Add moment adapter for impression charts by @czgu in https://github.com/pinterest/querybook/pull/639
    • refactor: Use resource for all API calls by @czgu in https://github.com/pinterest/querybook/pull/640
    • feat: Add modal to preview templated query by @czgu in https://github.com/pinterest/querybook/pull/641
    • fix: exporter name parameter correction by @czgu in https://github.com/pinterest/querybook/pull/643
    • refactor: use shallowEquals for useselector by @czgu in https://github.com/pinterest/querybook/pull/644
    • feat: Add option to filter tables by query engines by @kgopal492 in https://github.com/pinterest/querybook/pull/642
    • chore: Upgrade to flask2 by @czgu in https://github.com/pinterest/querybook/pull/645
    • refactor: Convert some components from class to function by @czgu in https://github.com/pinterest/querybook/pull/647
    • fix: Multiple ui bug fixes by @czgu in https://github.com/pinterest/querybook/pull/649
    • feat: Add latest_partition template function by @kgopal492 in https://github.com/pinterest/querybook/pull/648
    • fix: formatter not working if there is a false value by @czgu in https://github.com/pinterest/querybook/pull/652
    • fix: ui updates to list in datadoc nav by @czgu in https://github.com/pinterest/querybook/pull/651
    • docs: update documentation for adding exporter plugin by @czgu in https://github.com/pinterest/querybook/pull/656
    • minor: Set up filters as true by default. by @alexVasylenko in https://github.com/pinterest/querybook/pull/655
    • fix: small ui bugs by @czgu in https://github.com/pinterest/querybook/pull/660
    • feat: Add GitHub Oauth by @czgu in https://github.com/pinterest/querybook/pull/659
    • fix: Skip confirmation for cell deletion if it is empty by @czgu in https://github.com/pinterest/querybook/pull/664
    • docs: update proxy user documentation by @czgu in https://github.com/pinterest/querybook/pull/665
    • Add support for azure auth by @Aka-shi in https://github.com/pinterest/querybook/pull/663
    • Support signature v4 enabled buckets as result store by @Aka-shi in https://github.com/pinterest/querybook/pull/661
    • fix: specify snowflake-connector-python version by @yongchand in https://github.com/pinterest/querybook/pull/669
    • fix: Lazy load metastore loader by @czgu in https://github.com/pinterest/querybook/pull/671
    • fix: Improve latest_partition template function by @kgopal492 in https://github.com/pinterest/querybook/pull/667
    • fix: Change docker image and update README by @yongchand in https://github.com/pinterest/querybook/pull/672
    • Allow users to specify proxy_user_indetifier for Presto Engine. by @Aka-shi in https://github.com/pinterest/querybook/pull/673
    • ci: set patch, minor, major when publishing to docker by @czgu in https://github.com/pinterest/querybook/pull/674
    • fix: Only update meta if it is not None by @czgu in https://github.com/pinterest/querybook/pull/675
    • feat: Improve sample queries by @czgu in https://github.com/pinterest/querybook/pull/676
    • fix: lineage not showing due to table view height by @czgu in https://github.com/pinterest/querybook/pull/677
    • Add schema view for tables by @alexVasylenko in https://github.com/pinterest/querybook/pull/670
    • docs: update instruction on how to install virtualenv in querybook by @czgu in https://github.com/pinterest/querybook/pull/679
    • feat: Make data doc nav and table nav sortable by asc or desc by @czgu in https://github.com/pinterest/querybook/pull/680
    • fix: truncate information from metastore + small ui fixes by @czgu in https://github.com/pinterest/querybook/pull/684
    • fix: schema navigator not refreshing when switching environments by @czgu in https://github.com/pinterest/querybook/pull/686
    • Feat : Trino plugin Integration - Querybook by @shivammmmm in https://github.com/pinterest/querybook/pull/681
    • docs: update Amazon Redshift query engine docs by @Brooke-white in https://github.com/pinterest/querybook/pull/693
    • minor: load_partitions for hive metastore loaders by @froukees in https://github.com/pinterest/querybook/pull/694
    • feat: Add error message parsing for sample queries by @czgu in https://github.com/pinterest/querybook/pull/692
    • Feat: add announcement active fields by @alexVasylenko in https://github.com/pinterest/querybook/pull/688
    • ui: minor updates to admin ui by @czgu in https://github.com/pinterest/querybook/pull/697
    • [Snyk] Upgrade d3 from 5.7.0 to 5.16.0 by @snyk-bot in https://github.com/pinterest/querybook/pull/703
    • [Snyk] Upgrade codemirror from 5.49.2 to 5.63.3 by @snyk-bot in https://github.com/pinterest/querybook/pull/701
    • [Snyk] Upgrade yup from 0.27.0 to 0.32.11 by @snyk-bot in https://github.com/pinterest/querybook/pull/702
    • [Snyk] Upgrade: @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript by @snyk-bot in https://github.com/pinterest/querybook/pull/704
    • chore: update to ts 4.4.4 by @czgu in https://github.com/pinterest/querybook/pull/707
    • major: migration to es7 by @froukees in https://github.com/pinterest/querybook/pull/685
    • major: remove query engine python packages from requirement/base.txt by @czgu in https://github.com/pinterest/querybook/pull/698
    • fix: small fix to count in es7 by @czgu in https://github.com/pinterest/querybook/pull/708
    • Fix table loading for more than 100 items by @alexVasylenko in https://github.com/pinterest/querybook/pull/709
    • fix: add infra installation to sidebar by @czgu in https://github.com/pinterest/querybook/pull/712
    • fix: update yup validation schema for template var form by @czgu in https://github.com/pinterest/querybook/pull/713
    • fix: hide error overlay from react fast refresh by @czgu in https://github.com/pinterest/querybook/pull/715
    • feat: add redshift query engine by @Brooke-white in https://github.com/pinterest/querybook/pull/714
    • fix: parsing issue for connection strings of Presto,Trino by @czgu in https://github.com/pinterest/querybook/pull/716
    • [Snyk] Security upgrade docusaurus-plugin-sass from 0.1.12 to 0.1.13 by @snyk-bot in https://github.com/pinterest/querybook/pull/719
    • [Snyk] Security upgrade node-sass from 6.0.1 to 7.0.1 by @snyk-bot in https://github.com/pinterest/querybook/pull/720
    • [Snyk] Upgrade qs from 6.5.2 to 6.10.1 by @snyk-bot in https://github.com/pinterest/querybook/pull/706
    • chore: upgrade celery to 5.2.3 by @czgu in https://github.com/pinterest/querybook/pull/722
    • [Snyk] Upgrade core-js from 3.12.1 to 3.19.1 by @snyk-bot in https://github.com/pinterest/querybook/pull/705
    • chore: bump webpack to 5.65 by @czgu in https://github.com/pinterest/querybook/pull/723
    • fix: remove unused docker compose fields by @czgu in https://github.com/pinterest/querybook/pull/724
    • fix: upgrade elasticsearch to 7.16.2 to fix log4j issue by @kgopal492 in https://github.com/pinterest/querybook/pull/728
    • chore: fix a typo by @czgu in https://github.com/pinterest/querybook/pull/729
    • fix: index shifting in aggregate chart config by @czgu in https://github.com/pinterest/querybook/pull/735
    • feat: UDF support by @czgu in https://github.com/pinterest/querybook/pull/737
    • docs: fix build pipeline by @czgu in https://github.com/pinterest/querybook/pull/738
    • ui: update query execution run ui by @czgu in https://github.com/pinterest/querybook/pull/740
    • feat: implement query search by @kgopal492 in https://github.com/pinterest/querybook/pull/718
    • fix: fix bug where metastore id is not being filtered by @kgopal492 in https://github.com/pinterest/querybook/pull/746
    • Remove empty space for tables in data docs by @alexVasylenko in https://github.com/pinterest/querybook/pull/748
    • fix: big int prettify json by @czgu in https://github.com/pinterest/querybook/pull/758
    • feat: Generic OAuth - Give the possibility to use the access_token in headers section by @thalesbrant in https://github.com/pinterest/querybook/pull/757
    • Add DataDocSchedule page by @alexVasylenko in https://github.com/pinterest/querybook/pull/732
    • fix: get_data_doc_by_user is returning count by @czgu in https://github.com/pinterest/querybook/pull/769
    • fix: double username transformation in ldap authorizer by @a-pertsev in https://github.com/pinterest/querybook/pull/760
    • Feat - OAuth on Development Mode (Hot Reload ON) by @thalesbrant in https://github.com/pinterest/querybook/pull/762
    • Feat: Enable embedding of datadocs by @darapuk in https://github.com/pinterest/querybook/pull/747
    • patch: update Presto proxy auth behavior by @czgu in https://github.com/pinterest/querybook/pull/774
    • FLOAT column type fails on Row Samples functionality by @thalesbrant in https://github.com/pinterest/querybook/pull/776
    • docs: update Dockerfile, new makefile command by @czgu in https://github.com/pinterest/querybook/pull/783
    • feat: make statement result export async by @kgopal492 in https://github.com/pinterest/querybook/pull/777
    • fix: do not include breaking change for UI change log by @czgu in https://github.com/pinterest/querybook/pull/797
    • feat: Merge all UI Update changes to master by @czgu in https://github.com/pinterest/querybook/pull/785
    • ui: various ui updates by @czgu in https://github.com/pinterest/querybook/pull/798
    • fix: fix async exporter UI issues by @kgopal492 in https://github.com/pinterest/querybook/pull/800
    • ui: touch ups by @meowcodes in https://github.com/pinterest/querybook/pull/801
    • ui: nav/modal fix by @meowcodes in https://github.com/pinterest/querybook/pull/802
    • ui: bug fix by @meowcodes in https://github.com/pinterest/querybook/pull/803
    • ui: update execution dropdown by @meowcodes in https://github.com/pinterest/querybook/pull/804
    • ui: fix stepbar and ping message by @meowcodes in https://github.com/pinterest/querybook/pull/806
    • ui: add margin by @meowcodes in https://github.com/pinterest/querybook/pull/807
    • ui: add back duration by @meowcodes in https://github.com/pinterest/querybook/pull/808
    • Feat: LDAP bind user and filter by @froukees in https://github.com/pinterest/querybook/pull/717
    • fix: CSV iterator logic update by @czgu in https://github.com/pinterest/querybook/pull/810
    • fix: recent docs order by @czgu in https://github.com/pinterest/querybook/pull/809
    • fix: gspread single quote issue by @czgu in https://github.com/pinterest/querybook/pull/811
    • feat: Dynamic result size config by @czgu in https://github.com/pinterest/querybook/pull/812
    • ui: add comma to result limit by @czgu in https://github.com/pinterest/querybook/pull/813
    • fix: exempt limiter of query results for querybook by @czgu in https://github.com/pinterest/querybook/pull/814
    • fix: DDOS query result by @czgu in https://github.com/pinterest/querybook/pull/815
    • fix: update limiter logic, frontend error format limiter errors by @czgu in https://github.com/pinterest/querybook/pull/816
    • feat: Allow users to manually refresh metastore by @czgu in https://github.com/pinterest/querybook/pull/817
    • Add switcher between full cell content and short content by @alexVasylenko in https://github.com/pinterest/querybook/pull/780
    • chore: Update pre-commit hooks and black formatting by @czgu in https://github.com/pinterest/querybook/pull/821
    • [Snyk] Security upgrade moment from 2.24.0 to 2.29.2 by @snyk-bot in https://github.com/pinterest/querybook/pull/822
    • fix: Change Loader to loader for admin metastore by @czgu in https://github.com/pinterest/querybook/pull/823
    • ui: replace d3 with react flow by @meowcodes in https://github.com/pinterest/querybook/pull/820
    • ui: add FlowGraph test by @meowcodes in https://github.com/pinterest/querybook/pull/824
    • chore: upgrade to node 16 by @czgu in https://github.com/pinterest/querybook/pull/825
    • fix: handle trino exceptions properly (#826) by @a-pertsev in https://github.com/pinterest/querybook/pull/827
    • fix: separate query errors and engine errors (fixes #826) by @a-pertsev in https://github.com/pinterest/querybook/pull/828
    • ui: add column filtering, move full cell toggle to line above by @czgu in https://github.com/pinterest/querybook/pull/831
    • ui: update lineage by @meowcodes in https://github.com/pinterest/querybook/pull/835
    • fix: add pseudo element between nested menus by @czgu in https://github.com/pinterest/querybook/pull/837
    • chore: update docker-compose definitions by @czgu in https://github.com/pinterest/querybook/pull/838
    • Opportunity to redefine uid attribute (fixes #833) by @a-pertsev in https://github.com/pinterest/querybook/pull/840
    • feat: add test connection in admin app by @czgu in https://github.com/pinterest/querybook/pull/839
    • fix: Use default plugins when imported plugins is an empty list by @baumandm in https://github.com/pinterest/querybook/pull/853
    • chore: upgrade to redshift_connector 2.0.907 by @Brooke-white in https://github.com/pinterest/querybook/pull/855
    • fix: Update typing-extensions to fix dependency mismatch and tests by @baumandm in https://github.com/pinterest/querybook/pull/858
    • Fix typo in image for web-deployment.yaml by @samuelleb11 in https://github.com/pinterest/querybook/pull/864
    • fix: Reset Trino cursor rows between statements by @baumandm in https://github.com/pinterest/querybook/pull/867
    • feat: Querybook Table exporter by @czgu in https://github.com/pinterest/querybook/pull/863
    • feat: Add ability to customize tags by @czgu in https://github.com/pinterest/querybook/pull/868
    • fix: Make username case-sensitive in bind LDAP login by @froukees in https://github.com/pinterest/querybook/pull/873
    • fix: restrict access to private queries in query search by @kgopal492 in https://github.com/pinterest/querybook/pull/875
    • fix: get_user_by_name case-insensitive in LDAP auth by @froukees in https://github.com/pinterest/querybook/pull/876
    • fix: Apply AND to table_names filter in query search by @kgopal492 in https://github.com/pinterest/querybook/pull/881
    • fix: query result limit value by @czgu in https://github.com/pinterest/querybook/pull/880
    • feat: dag exporter by @meowcodes in https://github.com/pinterest/querybook/pull/884
    • fix: multiple tag bugs and ui update by @czgu in https://github.com/pinterest/querybook/pull/885
    • feat: greatly speedup table exporter by @czgu in https://github.com/pinterest/querybook/pull/893
    • fix: security bug issues by @czgu in https://github.com/pinterest/querybook/pull/894
    • chore: Add package sorting to prettier by @czgu in https://github.com/pinterest/querybook/pull/895
    • fix: datadoc workflow by @czgu in https://github.com/pinterest/querybook/pull/896
    • fix: unique exporter by @czgu in https://github.com/pinterest/querybook/pull/897
    • chore: fix relative import order by @czgu in https://github.com/pinterest/querybook/pull/898
    • fix: consistent background highlighting for list header by @czgu in https://github.com/pinterest/querybook/pull/900
    • refactor: elasticsearch clean up by @czgu in https://github.com/pinterest/querybook/pull/899
    • fix: rich text editor issues by @czgu in https://github.com/pinterest/querybook/pull/914
    • feat: add auto url transform to querybook by @czgu in https://github.com/pinterest/querybook/pull/918
    • fix: Pin protobuf to 3.20.1 by @baumandm in https://github.com/pinterest/querybook/pull/917
    • feat: strip white space when rendering templated queries by @czgu in https://github.com/pinterest/querybook/pull/919
    • Bump MySQL to a M1 compatible version by @Fokko in https://github.com/pinterest/querybook/pull/920
    • feat: list ver 2.0 by @meowcodes in https://github.com/pinterest/querybook/pull/925
    • [Snyk] Security upgrade moment from 2.29.2 to 2.29.4 by @devinlundberg in https://github.com/pinterest/querybook/pull/926
    • fix: draftjs backend parser by @czgu in https://github.com/pinterest/querybook/pull/927
    • ui: rename featured to top tier by @meowcodes in https://github.com/pinterest/querybook/pull/928
    • ui: add list tour by @meowcodes in https://github.com/pinterest/querybook/pull/929
    • ui: make table icon consistent by @meowcodes in https://github.com/pinterest/querybook/pull/931
    • ui: board list item link fix by @meowcodes in https://github.com/pinterest/querybook/pull/932
    • fix: combine update es queries by datadoc id into one celery task by @kgopal492 in https://github.com/pinterest/querybook/pull/933
    • ui: move tutorials to sidebar by @meowcodes in https://github.com/pinterest/querybook/pull/930
    • fix: various board and search updates by @czgu in https://github.com/pinterest/querybook/pull/934
    • feat: Add auto updating timestamp by @czgu in https://github.com/pinterest/querybook/pull/936
    • feat: Collapse and expand ad hoc query execution results by @baumandm in https://github.com/pinterest/querybook/pull/937
    • fix: list drag and drop by @czgu in https://github.com/pinterest/querybook/pull/938
    • feat: Add templating support for Adhoc query by @jczhong84 in https://github.com/pinterest/querybook/pull/939
    • ui: fix long board title by @meowcodes in https://github.com/pinterest/querybook/pull/940
    • fix: various board related bugs by @czgu in https://github.com/pinterest/querybook/pull/943
    • fix: adhoc template query by @jczhong84 in https://github.com/pinterest/querybook/pull/944
    • feat: add confirmation before execution if the query drops any tables by @jczhong84 in https://github.com/pinterest/querybook/pull/946
    • chore: Upgrade flask and sqlalchemy versions by @czgu in https://github.com/pinterest/querybook/pull/947
    • Feat: add Multi-line and multi-cursor editing by @alexVasylenko in https://github.com/pinterest/querybook/pull/941
    • fix: getStatementType vs invalid queries by @czgu in https://github.com/pinterest/querybook/pull/948
    • Fix SQLAlchemy API change to return RMKeyView for columns by @czgu in https://github.com/pinterest/querybook/pull/950
    • Feat: add 'All' button in the 'Hide columns' menu by @alexVasylenko in https://github.com/pinterest/querybook/pull/949
    • feat: Update Okta auth method to provide full names by @baumandm in https://github.com/pinterest/querybook/pull/945
    • [Snyk] Fix for 16 vulnerabilities by @devinlundberg in https://github.com/pinterest/querybook/pull/951
    • feat: add table name drop and drop by @czgu in https://github.com/pinterest/querybook/pull/952
    • chore: Upgrade to Python 3.10 by @czgu in https://github.com/pinterest/querybook/pull/953
    • fix: DELETE http does not work without params by @czgu in https://github.com/pinterest/querybook/pull/954
    • fix: Prod build fails to install uwsgi by @czgu in https://github.com/pinterest/querybook/pull/955
    • fix: revert back to python 3.9 by @czgu in https://github.com/pinterest/querybook/pull/956
    • feat: dont show stack trace is exception is recognitizable by @czgu in https://github.com/pinterest/querybook/pull/957
    • feat: Ignore null values when detecting types by @czgu in https://github.com/pinterest/querybook/pull/958
    • feat: Add breadcrumb for board in querybook by @czgu in https://github.com/pinterest/querybook/pull/962
    • fix: auto add trailing slash at end by @czgu in https://github.com/pinterest/querybook/pull/965
    • fix: make trailing slash not required for catch all route by @czgu in https://github.com/pinterest/querybook/pull/966
    • ui: fix margins for board items by @meowcodes in https://github.com/pinterest/querybook/pull/967
    • Update webpack.config.js by @baumandm in https://github.com/pinterest/querybook/pull/970
    • ui: add board author, make title into a link by @czgu in https://github.com/pinterest/querybook/pull/969
    • feat: Allow executors to return warnings for query executions by @ShuchiZhang in https://github.com/pinterest/querybook/pull/963
    • ui: fix overflow for long table name and .Title css by @czgu in https://github.com/pinterest/querybook/pull/974
    • Pass utf8 as default charset into mysqld command (fixes #842) by @a-pertsev in https://github.com/pinterest/querybook/pull/843
    • fix: overflow in raw metastore info by @ShuchiZhang in https://github.com/pinterest/querybook/pull/976
    • feat: improve table upload with managed/external by @czgu in https://github.com/pinterest/querybook/pull/979
    • feat: add support of syncing table/column description from metastore by @jczhong84 in https://github.com/pinterest/querybook/pull/980
    • fix: docs website failed to build by @czgu in https://github.com/pinterest/querybook/pull/981
    • Automatically add a row limit to queries by @baumandm in https://github.com/pinterest/querybook/pull/960
    • feat: add icon for partition keys by @ShuchiZhang in https://github.com/pinterest/querybook/pull/977
    • feat: Add a new API of syncing a table from metastore by @jczhong84 in https://github.com/pinterest/querybook/pull/982
    • Bugfix: scatter/bubble charts were losing their labels after save by @pateketrueke in https://github.com/pinterest/querybook/pull/985
    • fix: column icon css for partition keys by @jczhong84 in https://github.com/pinterest/querybook/pull/987
    • docs: update migration description by @czgu in https://github.com/pinterest/querybook/pull/986
    • feat: add query validation to querybook by @czgu in https://github.com/pinterest/querybook/pull/984
    • fix(DataDoc): Use Previous Query Engine by @LulaV14 in https://github.com/pinterest/querybook/pull/983
    • feat: (experimental) add Query transpilation to Querybook by @czgu in https://github.com/pinterest/querybook/pull/988
    • feat: pass execution type to executor client by @jczhong84 in https://github.com/pinterest/querybook/pull/992
    • Add message to error by @Fokko in https://github.com/pinterest/querybook/pull/989
    • fix: lint error doesn't disappear when switching to templating query by @jczhong84 in https://github.com/pinterest/querybook/pull/994
    • feat: improved query limit by @czgu in https://github.com/pinterest/querybook/pull/995
    • feat: improve charting axis and value display by @czgu in https://github.com/pinterest/querybook/pull/999
    • feat: Add a new function to sync table with metastore by @jczhong84 in https://github.com/pinterest/querybook/pull/998
    • fix: Hide export option on scheduler pop-up if there are no exporters by @LulaV14 in https://github.com/pinterest/querybook/pull/1001
    • feat: allow user to bypass LIMIT by @czgu in https://github.com/pinterest/querybook/pull/1000
    • fix: disable new features in read only mode by @czgu in https://github.com/pinterest/querybook/pull/1002
    • feat: show 404 page when table gets deleted by @jczhong84 in https://github.com/pinterest/querybook/pull/1003
    • fix: add acl check for metastore table sync by @jczhong84 in https://github.com/pinterest/querybook/pull/1004
    • chore: update websocket packages version by @czgu in https://github.com/pinterest/querybook/pull/1006
    • fix: raise rate limit for the sync api by @jczhong84 in https://github.com/pinterest/querybook/pull/1007
    • fix: transfer schedule's ownership along with datadoc's ownership by @jczhong84 in https://github.com/pinterest/querybook/pull/1005
    • fix: table validation for sync_table by @jczhong84 in https://github.com/pinterest/querybook/pull/1008
    • feat: add diff view when transpiling query by @czgu in https://github.com/pinterest/querybook/pull/1010
    • fix: automatic serialize sqlalchemy Row by @czgu in https://github.com/pinterest/querybook/pull/1011
    • fix: delete button stuck in spinning for cancel confirm by @czgu in https://github.com/pinterest/querybook/pull/1012
    • fix: url validation by @czgu in https://github.com/pinterest/querybook/pull/1013
    • feat: display presto and trino nested structures by @froukees in https://github.com/pinterest/querybook/pull/991
    • feat: show deactivated user with different ui by @czgu in https://github.com/pinterest/querybook/pull/1014
    • fix: userInfo might be null by @czgu in https://github.com/pinterest/querybook/pull/1016
    • feat: (experimental) make error suggestion pluggable by @czgu in https://github.com/pinterest/querybook/pull/1017
    • fix: JSONView fix by @czgu in https://github.com/pinterest/querybook/pull/1019
    • fix: do not transform presto map keys by @czgu in https://github.com/pinterest/querybook/pull/1021
    • fix: Make Presto Explain Validator optional install by @czgu in https://github.com/pinterest/querybook/pull/1023
    • fix: disable json formatting by default by @jczhong84 in https://github.com/pinterest/querybook/pull/1025
    • fix: schedule owner not update by @jczhong84 in https://github.com/pinterest/querybook/pull/1027
    • fix: Replace cronjs-matcher with cron-parser by @baumandm in https://github.com/pinterest/querybook/pull/1028
    • fix: disable autocomplete for exact keyword matches by @jczhong84 in https://github.com/pinterest/querybook/pull/1029
    • fix: Increase CodeMirror hint z-index above modals by @baumandm in https://github.com/pinterest/querybook/pull/1030
    • fix: table column auto completion not work sometimes by @jczhong84 in https://github.com/pinterest/querybook/pull/1026
    • feat: add formatted transpile view by @czgu in https://github.com/pinterest/querybook/pull/1031
    • fix: ExecutedQueryCell auto scropll to top during execution by @jczhong84 in https://github.com/pinterest/querybook/pull/1033
    • refactor: QueryEditor to functional component by @jczhong84 in https://github.com/pinterest/querybook/pull/1032
    • docs: add instruction on init_db by @czgu in https://github.com/pinterest/querybook/pull/1034
    • fix: query editor issues after refactor by @jczhong84 in https://github.com/pinterest/querybook/pull/1035
    • feat: Add syntax highlight/copy to markdown code by @czgu in https://github.com/pinterest/querybook/pull/1039
    • feat: syntax highlighting for templated queries by @czgu in https://github.com/pinterest/querybook/pull/1040
    • fix: codemirror starts with a wrong height by @jczhong84 in https://github.com/pinterest/querybook/pull/1041
    • fix: formatQuery isn't using the latest ref by @czgu in https://github.com/pinterest/querybook/pull/1042
    • ui: keep the search string when switching the search type by @jczhong84 in https://github.com/pinterest/querybook/pull/1043
    • fix: QueryComposer additional buttons nested right by @baumandm in https://github.com/pinterest/querybook/pull/1044
    • fix: template variable type change and big numbers by @jczhong84 in https://github.com/pinterest/querybook/pull/1046
    • fix: Update Google OAuth Version by @czgu in https://github.com/pinterest/querybook/pull/1057
    • fix: rebase by @meowcodes in https://github.com/pinterest/querybook/pull/1060
    • refactor: Query editor linting by @czgu in https://github.com/pinterest/querybook/pull/1052
    • feat: dag exporter v2 by @meowcodes in https://github.com/pinterest/querybook/pull/1058
    • fix: SqlAutocompler setter not bind by @czgu in https://github.com/pinterest/querybook/pull/1062
    • fix: only show supported query engines in the current env for dag exporter by @jczhong84 in https://github.com/pinterest/querybook/pull/1063
    • ui: update markdown code copy button by @meowcodes in https://github.com/pinterest/querybook/pull/1064
    • fix: [dag exporter] remove use vairables by @jczhong84 in https://github.com/pinterest/querybook/pull/1065
    • fix: refactored useLint pipeline to be more hooks based by @czgu in https://github.com/pinterest/querybook/pull/1066
    • fix: Add sort_key and sort_order to table search by @LulaV14 in https://github.com/pinterest/querybook/pull/1022
    • Feat: add schema filtering for table search by @alexVasylenko in https://github.com/pinterest/querybook/pull/996
    • feat: add customized notification for scheduled datadoc by @jczhong84 in https://github.com/pinterest/querybook/pull/1061
    • fix: schedule notification exception by @jczhong84 in https://github.com/pinterest/querybook/pull/1067
    • fix: Remove console.log by @baumandm in https://github.com/pinterest/querybook/pull/1069
    • ui: fix notify me button by @meowcodes in https://github.com/pinterest/querybook/pull/1071
    • fix: Ensure DataDoc runs get tracked even if template rendering fails by @baumandm in https://github.com/pinterest/querybook/pull/1073
    • fix: Wrap or truncate long column types by @baumandm in https://github.com/pinterest/querybook/pull/1070
    • feat: add event logging support by @jczhong84 in https://github.com/pinterest/querybook/pull/1075
    • fix: disable some api reqests from event logging by @jczhong84 in https://github.com/pinterest/querybook/pull/1079
    • fix: relint on engine change + dont show lint when empty by @czgu in https://github.com/pinterest/querybook/pull/1077
    • [Snyk] Security upgrade setuptools from 39.0.1 to 65.5.1 by @devinlundberg in https://github.com/pinterest/querybook/pull/1081
    • [Snyk] Security upgrade json-bigint from 0.4.0 to 1.0.0 by @devinlundberg in https://github.com/pinterest/querybook/pull/1020
    • fix: load announcements only if the tab is active by @jczhong84 in https://github.com/pinterest/querybook/pull/1085
    • feat: add filter support for api logging by @jczhong84 in https://github.com/pinterest/querybook/pull/1084
    • feat: add helper task to auto disable unused workflows by @czgu in https://github.com/pinterest/querybook/pull/1082
    • fix: search and replace overlaps with lint status by @jczhong84 in https://github.com/pinterest/querybook/pull/1088
    • ui: fix execution date string by @meowcodes in https://github.com/pinterest/querybook/pull/1090
    • fix: remove the edge when the node is deleted in dag exporter by @jczhong84 in https://github.com/pinterest/querybook/pull/1089
    • chore: bump version to 3.14.2 for CVE by @czgu in https://github.com/pinterest/querybook/pull/1093

    New Contributors

    • @renzholy made their first contribution in https://github.com/pinterest/querybook/pull/487
    • @set5think made their first contribution in https://github.com/pinterest/querybook/pull/494
    • @trevorgrayson made their first contribution in https://github.com/pinterest/querybook/pull/503
    • @vnnw made their first contribution in https://github.com/pinterest/querybook/pull/505
    • @mnoumanshahzad made their first contribution in https://github.com/pinterest/querybook/pull/544
    • @dropoftruth made their first contribution in https://github.com/pinterest/querybook/pull/553
    • @yongchand made their first contribution in https://github.com/pinterest/querybook/pull/561
    • @dperetin made their first contribution in https://github.com/pinterest/querybook/pull/587
    • @alexVasylenko made their first contribution in https://github.com/pinterest/querybook/pull/655
    • @Aka-shi made their first contribution in https://github.com/pinterest/querybook/pull/663
    • @shivammmmm made their first contribution in https://github.com/pinterest/querybook/pull/681
    • @Brooke-white made their first contribution in https://github.com/pinterest/querybook/pull/693
    • @froukees made their first contribution in https://github.com/pinterest/querybook/pull/694
    • @snyk-bot made their first contribution in https://github.com/pinterest/querybook/pull/703
    • @thalesbrant made their first contribution in https://github.com/pinterest/querybook/pull/757
    • @a-pertsev made their first contribution in https://github.com/pinterest/querybook/pull/760
    • @baumandm made their first contribution in https://github.com/pinterest/querybook/pull/853
    • @samuelleb11 made their first contribution in https://github.com/pinterest/querybook/pull/864
    • @Fokko made their first contribution in https://github.com/pinterest/querybook/pull/920
    • @devinlundberg made their first contribution in https://github.com/pinterest/querybook/pull/926
    • @ShuchiZhang made their first contribution in https://github.com/pinterest/querybook/pull/963
    • @pateketrueke made their first contribution in https://github.com/pinterest/querybook/pull/985
    • @LulaV14 made their first contribution in https://github.com/pinterest/querybook/pull/983

    Full Changelog: https://github.com/pinterest/querybook/compare/v2.4.0...v3.14.2

    Source code(tar.gz)
    Source code(zip)
  • v2.4.0(Oct 20, 2020)


    Sidebar 2.0! A new much more powerful sidebar with lists, recent, and favorites all in a single view, with drag and drop support.
    Table Tags! You can now easily add tags to tables and retrieve all tables with a certain tag through search. Table Ownership Editing! With a single click, you can add yourself as the owner of a table. GDoc Style Access Requests! You can now request and grant access to a given DataDoc directly in the UI. Table Stats! Use it to populate any auto-generated statistics for all tables. Column Search! Now you can narrow down your search to only columns, descriptions, or table names. Sample Queries! Quickly see sample queries of a given table to kickstart your analysis. Table Warnings! Found a given table has wrong data? Easily add table warnings and errors that will then show up in the query editor. Frequent query users! See at a glance the top users of a given table, reach out to them for questions and doubts.

    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(May 28, 2020)

    Major Features

    • Scheduling with Exporting: Automate export results to Google Sheets and get notified via Slack or email with the new DataDoc scheduling UI #60
    • DataDoc Search/Replace: Navigate around your doc easily with the new search and replace UI! Also available for ad hoc query! #30
    • Copy/Cut/Paste: You can now move your Query Cells to another DataDoc & retain the same execution history. #38
    • Improved Charting: We added custom x-axis sorting and the option to show values in charts. #29 #59
    • Advanced Templating: You can now nest templated variable definitions and leverage the full potentials of templating with Jinja2. #45
    • Table Relevance: Autocomplete suggestions and table search are now ranked by impressions and usage of the table. #36

    Minor Fixes

    • You can now collapse the query inside a Query Cell.
    • Sharing query execution in DataDoc will link to the query execution page directly.
    • Clicking on a cell automatically updates the url to point to the cell for easy sharing
    • Query completion message is rephrased to show the status first.
    • Added editor settings to let users configure autocompletion, tab space, and font size.
    • Running a CREATE as INSERT or insert query updates the table lineage automatically
    • URLs will be auto-detected and converted to links in Text Cells
    • Creating a DataDoc will include an empty Query Cell
    • You can now convert an ad-hoc query to a DataDoc with a single click
    • Exported google sheets are now editable and owned by the user
    • DataDoc scheduling now records failures if errors occurred during scheduled runs
    Source code(tar.gz)
    Source code(zip)
Pinterest's Open Source Projects
Mercury: easily convert Python notebook to web app and share with others

Mercury Share your Python notebooks with others Easily convert your Python notebooks into interactive web apps by adding parameters in YAML. Simply ad

MLJAR 2.3k Jan 5, 2023
Store all your wallets NFT metadata with a single click.

Problem: JPEGs are stored on CDN’s. If the maintainer of a project stops paying for the CDN, your NFT will 404 :( Project meta-data might be stored of

Benjamin Schachter 6 Jul 2, 2022
Visualize Big ERC721 Collections (9,999+ items) dynamically from the browser. An alternative to OpenSea or Rarible.

NFT Explorer https://ivanm.github.io/nft-explorer/ Visualize ERC721 NFT Collections directly from the blockchain. An alternative to OpenSea/Rarible, e

Iván Mayoral 10 Dec 20, 2022
Source code for my tutorial on how to build customizable table component with React Table and Tailwind CSS.

React Table + Tailwind CSS = ❤️ Source code for my tutorial on how to build customizable table component with React Table and Tailwind CSS. Both parts

Samuel Liedtke 145 Dec 28, 2022
Uniswap Clone Interface - a Dapp application that replicates the Uniswap web application interface

This project was developed with ReactJS, being a Dapp application (decentralized application) that replicates the Uniswap web application interface. With this interface it is possible to perform the real login connection with your MetaMask digital wallet previously installed in your browser.

NguyenSonTung982000 8 Dec 2, 2022
TryShape is an open-source platform to create shapes of your choice using a simple, easy-to-use interface. You can create banners, circles, polygonal shapes, export them as SVG, PNG, and even as CSS.

TryShape is an open-source platform to create shapes of your choice using a simple, easy-to-use interface. You can create banners, circles, polygonal shapes, export them as SVG, PNG, and even as CSS.

TryShape 148 Dec 26, 2022
kbar is a simple plug-n-play React component to add a fast, portable, and extensible command+k interface to your site.

kbar is a simple plug-n-play React component to add a fast, portable, and extensible command+k interface to your site.

Tim 3.6k Jan 5, 2023
Vercel 40k Jan 7, 2023
Veroo is a cappuccino delivery app. This application is for the purpose of studying modern interface and animations.

Veroo is a cappuccino delivery app. This application is for the purpose of studying modern interface and animations.

Lucas Augusto 13 May 10, 2022
Minimalist web interface for qBitTorrent. Implemented using React, Typescript and Mantine

QBitUI! Minimalist web interface for qBitTorrent. Implemented using React, Typescript and Mantine. Features Basic torrent management: Add, Pause, Resu

Macovei Gabriel 8 Oct 24, 2022
Clone da interface da Netflix com React JS.

Netflix Clone Clone da interface da Netflix com React JS. Iniciar projeto No terminal, siga as seguintes instruções: # Clonar o repositório $ git clon

Vitoria Felix 9 Oct 11, 2022
Interface de um aplicativo para locação de imóveis.

App Alugue! Interface de um aplicativo para locação de imóveis. Projeto realizado na disciplina de Programação para dispositivos móveis, na turma de A

Luciana Ferreira da Silva 3 Sep 29, 2022
Interface for BeCode Artificial intelligence class Machine learning tool

AI Training tool Interface for BeCode Artificial intelligence class Machine learning tool The problem At BeCode, the coaches were trying some options

Tim Poels 4 Nov 24, 2022
Simple react js web that consume data from Spotify WEB API and use Spotify Playback SDK for playing a tracks

React JS Spotify Clone Simple react js web that consume data from Spotify WEB API and use Spotify Playback SDK for playing a tracks How to run First y

Dody 3 Sep 3, 2022
A simple react app which reads block data from the ethereum blockchain using web3.js

This is a very simple web application which reads block data from the ethereum blockchain (testnet) using web3.js. Web3.js is a library which provides

Lighthouse 3 Nov 20, 2021
Simple NestJS backend for a dashboard displaying graphs of environmental sensor data

Sensor dashboard backend Description Simple NestJS backend for a dashboard displ

Lucifer1123 3 Mar 17, 2022
Consuming series data from marvel api and implementing features like infinite scroll, reactive search and lazy loading on images with Angular.

Consuming series data from marvel api and implementing features like infinite scroll, reactive search and lazy loading on images with Angular.

Renato Curcino Barros 1 Jul 19, 2022