superset-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maximebeauche...@apache.org
Subject [incubator-superset] branch master updated: Make boto3/botocore installation optional (#6540)
Date Fri, 21 Dec 2018 20:28:04 GMT
This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e942c9  Make boto3/botocore installation optional (#6540)
6e942c9 is described below

commit 6e942c9fb35ac323cb6760b924c7d65e553e1601
Author: Maxime Beauchemin <maximebeauchemin@gmail.com>
AuthorDate: Fri Dec 21 12:27:57 2018 -0800

    Make boto3/botocore installation optional (#6540)
    
    * Make boto3 installation optional
    
    * pylinting
---
 UPDATING.md                 | 6 +++++-
 requirements.txt            | 5 -----
 setup.py                    | 2 --
 superset/db_engine_specs.py | 4 +++-
 4 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/UPDATING.md b/UPDATING.md
index af8561f..97ed710 100644
--- a/UPDATING.md
+++ b/UPDATING.md
@@ -4,7 +4,11 @@ This file documents any backwards-incompatible changes in Superset and
 assists people when migrating to a new version.
 
 ## Superset 0.31.0
-From 0.31.0 onwards, we recommend not using the npm package `yarn` in
+* boto3 / botocore was removed from the dependency list. If you use s3
+as a place to store your SQL Lab result set or Hive uploads, you may
+have to rely on an alternate requirements.txt file to install those
+dependencies.
+* From 0.31.0 onwards, we recommend not using the npm package `yarn` in
 favor of good old `npm install`. While yarn should still work just fine,
 you should probably align to guarantee builds similar to the ones we
 use in testing and across the community in general.
diff --git a/requirements.txt b/requirements.txt
index b728bf0..0b3c67b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,8 +10,6 @@ asn1crypto==0.24.0        # via cryptography
 babel==2.6.0              # via flask-babel, flower
 billiard==3.5.0.4         # via celery
 bleach==3.0.2
-boto3==1.4.7
-botocore==1.7.48
 cachetools==3.0.0         # via google-auth
 cchardet==1.0.0           # via tabulator
 celery==4.2.0
@@ -25,7 +23,6 @@ croniter==0.3.25
 cryptography==1.9
 decorator==4.3.0          # via retry
 defusedxml==0.5.0         # via python3-openid
-docutils==0.14            # via botocore
 et-xmlfile==1.0.1         # via openpyxl
 flask-appbuilder==1.12.1
 flask-babel==0.11.1       # via flask-appbuilder
@@ -50,7 +47,6 @@ isodate==0.6.0
 itsdangerous==0.24        # via flask
 jdcal==1.4                # via openpyxl
 jinja2==2.10              # via flask, flask-babel
-jmespath==0.9.3           # via boto3, botocore
 jsonlines==1.2.0          # via tabulator
 jsonschema==2.6.0         # via tableschema
 kombu==4.2.1              # via celery
@@ -83,7 +79,6 @@ requests==2.20.0
 retry==0.9.2
 rfc3986==1.1.0            # via tableschema
 rsa==4.0                  # via google-auth
-s3transfer==0.1.13        # via boto3
 sasl==0.2.1               # via thrift-sasl
 selenium==3.14.0
 simplejson==3.15.0
diff --git a/setup.py b/setup.py
index b6ca798..53804ad 100644
--- a/setup.py
+++ b/setup.py
@@ -54,8 +54,6 @@ setup(
     scripts=['superset/bin/superset'],
     install_requires=[
         'bleach>=3.0.2, <4.0.0',
-        'boto3>=1.4.7, <2.0.0',
-        'botocore>=1.7.0, <1.8.0',
         'celery>=4.2.0, <5.0.0',
         'click>=6.0, <7.0.0',  # click >=7 forces "-" instead of "_"
         'colorama',
diff --git a/superset/db_engine_specs.py b/superset/db_engine_specs.py
index 97b6439..3c09de5 100644
--- a/superset/db_engine_specs.py
+++ b/superset/db_engine_specs.py
@@ -20,7 +20,6 @@ import re
 import textwrap
 import time
 
-import boto3
 from flask import g
 from flask_babel import lazy_gettext as _
 import pandas
@@ -1065,6 +1064,9 @@ class HiveEngineSpec(PrestoEngineSpec):
                     convert_to_hive_type(column_info['type'])))
         schema_definition = ', '.join(column_name_and_type)
 
+        # Optional dependency
+        import boto3  # pylint: disable=import-error
+
         s3 = boto3.client('s3')
         location = os.path.join('s3a://', bucket_path, upload_prefix, table_name)
         s3.upload_file(


Mime
View raw message