2019-01-15 18:53:27 -05:00
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
# or more contributor license agreements. See the NOTICE file
|
|
|
|
# distributed with this work for additional information
|
|
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
|
|
# to you under the Apache License, Version 2.0 (the
|
|
|
|
# "License"); you may not use this file except in compliance
|
|
|
|
# with the License. You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing,
|
|
|
|
# software distributed under the License is distributed on an
|
|
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
# KIND, either express or implied. See the License for the
|
|
|
|
# specific language governing permissions and limitations
|
|
|
|
# under the License.
|
2018-07-04 17:04:39 -04:00
|
|
|
import io
|
2017-11-07 23:23:40 -05:00
|
|
|
import json
|
2016-06-09 21:05:58 -04:00
|
|
|
import os
|
2017-01-12 15:32:06 -05:00
|
|
|
import subprocess
|
2018-10-05 13:44:45 -04:00
|
|
|
import sys
|
2017-11-07 23:23:40 -05:00
|
|
|
|
|
|
|
from setuptools import find_packages, setup
|
2015-09-05 12:23:46 -04:00
|
|
|
|
2016-09-15 20:20:18 -04:00
|
|
|
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
|
2019-09-11 01:25:58 -04:00
|
|
|
|
2020-02-09 20:53:56 -05:00
|
|
|
PACKAGE_JSON = os.path.join(BASE_DIR, "superset-frontend", "package.json")
|
2019-09-11 01:25:58 -04:00
|
|
|
with open(PACKAGE_JSON, "r") as package_file:
|
2019-06-25 16:34:48 -04:00
|
|
|
version_string = json.load(package_file)["version"]
|
2015-09-05 12:23:46 -04:00
|
|
|
|
2019-09-11 01:25:58 -04:00
|
|
|
with io.open("README.md", "r", encoding="utf-8") as f:
|
2018-07-01 11:57:14 -04:00
|
|
|
long_description = f.read()
|
2018-06-18 11:42:48 -04:00
|
|
|
|
2017-01-12 15:32:06 -05:00
|
|
|
|
2021-07-21 14:46:43 -04:00
|
|
|
def get_git_sha() -> str:
|
2017-01-12 15:32:06 -05:00
|
|
|
try:
|
2019-06-25 16:34:48 -04:00
|
|
|
s = subprocess.check_output(["git", "rev-parse", "HEAD"])
|
2018-07-04 17:04:39 -04:00
|
|
|
return s.decode().strip()
|
2017-11-09 23:23:59 -05:00
|
|
|
except Exception:
|
2019-06-25 16:34:48 -04:00
|
|
|
return ""
|
2017-01-12 15:32:06 -05:00
|
|
|
|
2017-11-10 20:52:34 -05:00
|
|
|
|
2017-01-12 15:32:06 -05:00
|
|
|
GIT_SHA = get_git_sha()
|
2019-06-25 16:34:48 -04:00
|
|
|
version_info = {"GIT_SHA": GIT_SHA, "version": version_string}
|
|
|
|
print("-==-" * 15)
|
|
|
|
print("VERSION: " + version_string)
|
|
|
|
print("GIT SHA: " + GIT_SHA)
|
|
|
|
print("-==-" * 15)
|
2017-01-12 15:32:06 -05:00
|
|
|
|
2020-02-12 10:48:24 -05:00
|
|
|
VERSION_INFO_FILE = os.path.join(BASE_DIR, "superset", "static", "version_info.json")
|
2019-09-11 01:25:58 -04:00
|
|
|
|
|
|
|
with open(VERSION_INFO_FILE, "w") as version_file:
|
2017-01-12 15:32:06 -05:00
|
|
|
json.dump(version_info, version_file)
|
|
|
|
|
|
|
|
|
2015-09-05 12:23:46 -04:00
|
|
|
setup(
|
2019-06-25 16:34:48 -04:00
|
|
|
name="apache-superset",
|
|
|
|
description=("A modern, enterprise-ready business intelligence web application"),
|
2018-06-18 11:42:48 -04:00
|
|
|
long_description=long_description,
|
2019-06-25 16:34:48 -04:00
|
|
|
long_description_content_type="text/markdown",
|
2016-09-15 20:20:18 -04:00
|
|
|
version=version_string,
|
2015-09-05 12:23:46 -04:00
|
|
|
packages=find_packages(),
|
|
|
|
include_package_data=True,
|
|
|
|
zip_safe=False,
|
2020-08-04 22:31:52 -04:00
|
|
|
entry_points={"console_scripts": ["superset=superset.cli:superset"]},
|
2015-09-05 12:23:46 -04:00
|
|
|
install_requires=[
|
2019-09-03 19:37:42 -04:00
|
|
|
"backoff>=1.8.0",
|
2019-06-25 16:34:48 -04:00
|
|
|
"bleach>=3.0.2, <4.0.0",
|
2020-06-22 09:01:46 -04:00
|
|
|
"cachelib>=0.1.1,<0.2",
|
2021-08-03 12:27:45 -04:00
|
|
|
"celery>=4.3.0, <5.0.0, !=4.4.1",
|
2020-03-13 15:36:16 -04:00
|
|
|
"click<8",
|
2019-06-25 16:34:48 -04:00
|
|
|
"colorama",
|
|
|
|
"croniter>=0.3.28",
|
2020-12-15 01:29:31 -05:00
|
|
|
"cron-descriptor",
|
2021-05-28 17:59:15 -04:00
|
|
|
"cryptography>=3.3.2",
|
2021-07-04 03:27:02 -04:00
|
|
|
"deprecation>=2.1.0, <2.2.0",
|
2019-09-04 13:21:13 -04:00
|
|
|
"flask>=1.1.0, <2.0.0",
|
2021-05-11 05:00:07 -04:00
|
|
|
"flask-appbuilder>=3.3.0, <4.0.0",
|
2021-06-27 20:58:56 -04:00
|
|
|
"flask-caching>=1.10.0",
|
2019-06-25 16:34:48 -04:00
|
|
|
"flask-compress",
|
|
|
|
"flask-talisman",
|
|
|
|
"flask-migrate",
|
|
|
|
"flask-wtf",
|
|
|
|
"geopy",
|
2021-04-15 13:55:35 -04:00
|
|
|
"graphlib-backport",
|
2019-11-24 03:18:22 -05:00
|
|
|
"gunicorn>=20.0.2, <20.1",
|
2021-07-04 03:27:02 -04:00
|
|
|
"holidays==0.10.3", # PINNED! https://github.com/dr-prodigy/python-holidays/issues/406
|
2019-06-25 16:34:48 -04:00
|
|
|
"humanize",
|
2021-07-21 19:53:45 -04:00
|
|
|
"itsdangerous>=1.0.0, <2.0.0", # https://github.com/apache/superset/pull/14627
|
2019-06-25 16:34:48 -04:00
|
|
|
"isodate",
|
|
|
|
"markdown>=3.0",
|
2020-05-13 11:49:34 -04:00
|
|
|
"msgpack>=1.0.0, <1.1",
|
2021-03-02 12:44:53 -05:00
|
|
|
"pandas>=1.2.2, <1.3",
|
2019-06-25 16:34:48 -04:00
|
|
|
"parsedatetime",
|
2020-12-04 22:17:23 -05:00
|
|
|
"pgsanity",
|
2019-06-25 16:34:48 -04:00
|
|
|
"polyline",
|
2021-07-04 03:27:02 -04:00
|
|
|
"pyparsing>=2.4.7, <3.0.0",
|
2019-06-25 16:34:48 -04:00
|
|
|
"python-dateutil",
|
|
|
|
"python-dotenv",
|
|
|
|
"python-geohash",
|
2021-06-16 17:19:32 -04:00
|
|
|
"pyarrow>=4.0.1, <4.1",
|
2021-03-17 17:41:02 -04:00
|
|
|
"pyyaml>=5.4",
|
2021-01-29 05:01:58 -05:00
|
|
|
"PyJWT>=1.7.1, <2",
|
2020-12-16 17:52:21 -05:00
|
|
|
"redis",
|
2019-06-25 16:34:48 -04:00
|
|
|
"selenium>=3.141.0",
|
|
|
|
"simplejson>=3.15.0",
|
2020-07-20 12:20:05 -04:00
|
|
|
"slackclient==2.5.0", # PINNED! slack changes file upload api in the future versions
|
2021-04-15 13:55:35 -04:00
|
|
|
"sqlalchemy>=1.3.16, <1.4, !=1.3.21",
|
2020-06-22 09:01:46 -04:00
|
|
|
"sqlalchemy-utils>=0.36.6,<0.37",
|
2020-07-06 14:10:46 -04:00
|
|
|
"sqlparse==0.3.0", # PINNED! see https://github.com/andialbrecht/sqlparse/issues/562
|
2021-07-29 13:13:28 -04:00
|
|
|
"tabulate==0.8.9",
|
2021-01-22 18:13:44 -05:00
|
|
|
"typing-extensions>=3.7.4.3,<4", # needed to support typing.Literal on py37
|
2019-06-25 16:34:48 -04:00
|
|
|
"wtforms-json",
|
2015-09-05 12:23:46 -04:00
|
|
|
],
|
2016-06-02 15:34:36 -04:00
|
|
|
extras_require={
|
2020-06-29 10:38:58 -04:00
|
|
|
"athena": ["pyathena>=1.10.8,<1.11"],
|
2020-12-03 16:20:23 -05:00
|
|
|
"bigquery": [
|
|
|
|
"pandas_gbq>=0.10.0",
|
|
|
|
"pybigquery>=0.4.10",
|
|
|
|
"google-cloud-bigquery>=2.4.0",
|
|
|
|
],
|
2021-03-18 05:19:15 -04:00
|
|
|
"clickhouse": ["clickhouse-sqlalchemy>=0.1.4, <0.2"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"cockroachdb": ["cockroachdb>=0.3.5, <0.4"],
|
2019-06-25 16:34:48 -04:00
|
|
|
"cors": ["flask-cors>=2.0.0"],
|
2021-03-11 16:03:22 -05:00
|
|
|
"crate": ["crate[sqlalchemy]>=0.26.0, <0.27"],
|
2021-03-18 05:19:15 -04:00
|
|
|
"databricks": ["databricks-dbapi[sqlalchemy]>=0.5.0, <0.6"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"db2": ["ibm-db-sa>=0.3.5, <0.4"],
|
|
|
|
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.2"],
|
2020-08-10 14:39:46 -04:00
|
|
|
"drill": ["sqlalchemy-drill==0.1.dev"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"druid": ["pydruid>=0.6.1,<0.7"],
|
2021-01-15 08:11:56 -05:00
|
|
|
"solr": ["sqlalchemy-solr >= 0.2.0"],
|
2021-02-10 03:17:27 -05:00
|
|
|
"elasticsearch": ["elasticsearch-dbapi>=0.2.0, <0.3.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"exasol": ["sqlalchemy-exasol>=2.1.0, <2.2"],
|
|
|
|
"excel": ["xlrd>=1.2.0, <1.3"],
|
2021-02-26 15:07:27 -05:00
|
|
|
"firebird": ["sqlalchemy-firebird>=0.7.0, <0.8"],
|
2021-07-01 22:27:26 -04:00
|
|
|
"gsheets": ["shillelagh[gsheetsapi]>=0.7.1, <0.8"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"hana": ["hdbcli==2.4.162", "sqlalchemy_hana==0.4.0"],
|
2019-06-25 16:34:48 -04:00
|
|
|
"hive": ["pyhive[hive]>=0.6.1", "tableschema", "thrift>=0.11.0, <1.0.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"impala": ["impyla>0.16.2, <0.17"],
|
|
|
|
"kylin": ["kylinpy>=2.8.1, <2.9"],
|
|
|
|
"mmsql": ["pymssql>=2.1.4, <2.2"],
|
2019-06-25 16:34:48 -04:00
|
|
|
"mysql": ["mysqlclient==1.4.2.post1"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"oracle": ["cx-Oracle>8.0.0, <8.1"],
|
|
|
|
"pinot": ["pinotdb>=0.3.3, <0.4"],
|
2020-05-17 17:49:51 -04:00
|
|
|
"postgres": ["psycopg2-binary==2.8.5"],
|
2019-06-25 16:34:48 -04:00
|
|
|
"presto": ["pyhive[presto]>=0.4.0"],
|
2021-02-15 07:30:13 -05:00
|
|
|
"trino": ["sqlalchemy-trino>=0.2"],
|
2021-04-20 08:55:55 -04:00
|
|
|
"prophet": ["prophet>=1.0.1, <1.1", "pystan<3.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"redshift": ["sqlalchemy-redshift>=0.8.1, < 0.9"],
|
|
|
|
"snowflake": ["snowflake-sqlalchemy>=1.2.3, <1.3"],
|
|
|
|
"teradata": ["sqlalchemy-teradata==0.9.0.dev0"],
|
|
|
|
"thumbnails": ["Pillow>=7.0.0, <8.0.0"],
|
|
|
|
"vertica": ["sqlalchemy-vertica-python>=0.5.9, < 0.6"],
|
2021-06-30 08:27:54 -04:00
|
|
|
"netezza": ["nzalchemy>=11.0.2"],
|
2016-06-02 15:34:36 -04:00
|
|
|
},
|
2020-11-26 06:49:12 -05:00
|
|
|
python_requires="~=3.7",
|
2019-06-25 16:34:48 -04:00
|
|
|
author="Apache Software Foundation",
|
2021-01-06 06:45:19 -05:00
|
|
|
author_email="dev@superset.apache.org",
|
2019-06-25 16:34:48 -04:00
|
|
|
url="https://superset.apache.org/",
|
2021-01-06 06:45:19 -05:00
|
|
|
download_url="https://www.apache.org/dist/superset/" + version_string,
|
2019-09-27 10:54:45 -04:00
|
|
|
classifiers=[
|
|
|
|
"Programming Language :: Python :: 3.7",
|
2020-08-05 06:29:07 -04:00
|
|
|
"Programming Language :: Python :: 3.8",
|
2019-09-27 10:54:45 -04:00
|
|
|
],
|
2015-09-05 12:23:46 -04:00
|
|
|
)
|