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__))
|
2020-02-09 20:53:56 -05:00
|
|
|
PACKAGE_JSON = os.path.join(BASE_DIR, "superset-frontend", "package.json")
|
2022-03-30 03:13:09 -04:00
|
|
|
|
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",
|
2021-11-01 12:04:25 -04:00
|
|
|
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,
|
2022-02-11 20:40:20 -05:00
|
|
|
entry_points={
|
|
|
|
"console_scripts": ["superset=superset.cli.main:superset"],
|
2022-08-10 21:07:31 -04:00
|
|
|
# the `postgres` and `postgres+psycopg2://` schemes were removed in SQLAlchemy 1.4
|
|
|
|
# add an alias here to prevent breaking existing databases
|
2022-07-29 16:03:41 -04:00
|
|
|
"sqlalchemy.dialects": [
|
2022-08-10 21:07:31 -04:00
|
|
|
"postgres.psycopg2 = sqlalchemy.dialects.postgresql:dialect",
|
|
|
|
"postgres = sqlalchemy.dialects.postgresql:dialect",
|
2022-07-29 16:03:41 -04:00
|
|
|
],
|
2022-02-11 20:40:20 -05:00
|
|
|
},
|
2015-09-05 12:23:46 -04:00
|
|
|
install_requires=[
|
2019-09-03 19:37:42 -04:00
|
|
|
"backoff>=1.8.0",
|
2021-11-21 03:13:28 -05:00
|
|
|
"cachelib>=0.4.1,<0.5",
|
2022-03-24 05:16:53 -04:00
|
|
|
"celery>=5.2.2, <6.0.0",
|
|
|
|
"click>=8.0.3",
|
2023-04-20 23:12:33 -04:00
|
|
|
"click-option-group",
|
2019-06-25 16:34:48 -04:00
|
|
|
"colorama",
|
|
|
|
"croniter>=0.3.28",
|
2020-12-15 01:29:31 -05:00
|
|
|
"cron-descriptor",
|
2023-02-22 11:51:46 -05:00
|
|
|
"cryptography>=39.0.1, <40",
|
2021-07-04 03:27:02 -04:00
|
|
|
"deprecation>=2.1.0, <2.2.0",
|
2023-01-09 05:10:31 -05:00
|
|
|
"flask>=2.1.3, <2.2",
|
2023-02-24 05:42:07 -05:00
|
|
|
"flask-appbuilder>=4.3.0, <5.0.0",
|
2023-01-09 05:10:31 -05:00
|
|
|
"flask-caching>=1.10.1, <1.11",
|
|
|
|
"flask-compress>=1.13, <2.0",
|
|
|
|
"flask-talisman>=1.0.0, <2.0",
|
|
|
|
"flask-login==0.6.0",
|
|
|
|
"flask-migrate>=3.1.0, <4.0",
|
|
|
|
"flask-wtf>=1.0.1, <1.1",
|
2022-01-12 16:01:34 -05:00
|
|
|
"func_timeout",
|
2019-06-25 16:34:48 -04:00
|
|
|
"geopy",
|
2021-04-15 13:55:35 -04:00
|
|
|
"graphlib-backport",
|
2023-02-02 14:07:22 -05:00
|
|
|
"gunicorn>=20.1.0; sys_platform != 'win32'",
|
2022-03-24 15:53:09 -04:00
|
|
|
"hashids>=1.3.1, <2",
|
2023-04-26 06:59:31 -04:00
|
|
|
"holidays>=0.23, <0.24",
|
2019-06-25 16:34:48 -04:00
|
|
|
"humanize",
|
|
|
|
"isodate",
|
|
|
|
"markdown>=3.0",
|
2020-05-13 11:49:34 -04:00
|
|
|
"msgpack>=1.0.0, <1.1",
|
2023-04-28 09:36:51 -04:00
|
|
|
"nh3>=0.2.11, <0.3",
|
2022-12-03 02:25:11 -05:00
|
|
|
"numpy==1.23.5",
|
2023-02-01 16:25:50 -05:00
|
|
|
"pandas>=1.5.3, <1.6",
|
2019-06-25 16:34:48 -04:00
|
|
|
"parsedatetime",
|
2020-12-04 22:17:23 -05:00
|
|
|
"pgsanity",
|
2023-04-28 08:18:46 -04:00
|
|
|
"polyline>=2.0.0, <3.0",
|
2022-01-07 08:29:13 -05:00
|
|
|
"pyparsing>=3.0.6, <4",
|
2019-06-25 16:34:48 -04:00
|
|
|
"python-dateutil",
|
|
|
|
"python-dotenv",
|
|
|
|
"python-geohash",
|
2022-12-03 02:25:11 -05:00
|
|
|
"pyarrow>=10.0.1, <11",
|
2021-03-17 17:41:02 -04:00
|
|
|
"pyyaml>=5.4",
|
2022-06-07 21:34:00 -04:00
|
|
|
"PyJWT>=2.4.0, <3.0",
|
2023-04-28 04:46:56 -04:00
|
|
|
"redis>=4.5.4, <5.0",
|
2019-06-25 16:34:48 -04:00
|
|
|
"selenium>=3.141.0",
|
2023-04-20 23:12:33 -04:00
|
|
|
"shortid",
|
2023-01-03 17:22:42 -05:00
|
|
|
"sshtunnel>=0.4.0, <0.5",
|
2019-06-25 16:34:48 -04:00
|
|
|
"simplejson>=3.15.0",
|
2023-05-08 15:13:21 -04:00
|
|
|
"slack_sdk>=3.19.0, <4",
|
2022-07-18 18:21:38 -04:00
|
|
|
"sqlalchemy>=1.4, <2",
|
2022-09-10 04:39:23 -04:00
|
|
|
"sqlalchemy-utils>=0.38.3, <0.39",
|
2022-09-26 10:41:04 -04:00
|
|
|
"sqlparse>=0.4.3, <0.5",
|
2022-10-04 07:42:42 -04:00
|
|
|
"tabulate>=0.8.9, <0.9",
|
2022-10-28 21:15:15 -04:00
|
|
|
"typing-extensions>=4, <5",
|
2023-02-02 14:07:22 -05:00
|
|
|
"waitress; sys_platform == 'win32'",
|
2023-04-28 10:31:57 -04:00
|
|
|
"wtforms>=2.3.3, <4",
|
2019-06-25 16:34:48 -04:00
|
|
|
"wtforms-json",
|
2023-01-27 13:23:10 -05:00
|
|
|
"xlsxwriter>=3.0.7, <3.1",
|
2015-09-05 12:23:46 -04:00
|
|
|
],
|
2016-06-02 15:34:36 -04:00
|
|
|
extras_require={
|
2022-10-28 21:15:15 -04:00
|
|
|
"athena": ["pyathena[pandas]>=2, <3"],
|
2021-09-04 11:40:14 -04:00
|
|
|
"aurora-data-api": ["preset-sqlalchemy-aurora-data-api>=0.2.8,<0.3"],
|
2020-12-03 16:20:23 -05:00
|
|
|
"bigquery": [
|
2022-12-02 05:48:36 -05:00
|
|
|
"pandas-gbq>=0.18.1",
|
|
|
|
"sqlalchemy-bigquery>=1.5.0",
|
|
|
|
"google-cloud-bigquery>=3.4.0",
|
2020-12-03 16:20:23 -05:00
|
|
|
],
|
2023-03-08 14:53:52 -05:00
|
|
|
"clickhouse": ["clickhouse-connect>=0.5.14, <1.0"],
|
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"],
|
2022-06-09 18:34:49 -04:00
|
|
|
"databricks": [
|
|
|
|
"databricks-sql-connector>=2.0.2, <3",
|
|
|
|
"sqlalchemy-databricks>=0.2.0",
|
|
|
|
],
|
2020-08-05 00:51:32 -04:00
|
|
|
"db2": ["ibm-db-sa>=0.3.5, <0.4"],
|
2021-10-26 15:00:42 -04:00
|
|
|
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.3"],
|
2020-08-10 14:39:46 -04:00
|
|
|
"drill": ["sqlalchemy-drill==0.1.dev"],
|
2022-11-08 18:03:58 -05:00
|
|
|
"druid": ["pydruid>=0.6.5,<0.7"],
|
2022-11-14 23:57:04 -05:00
|
|
|
"dynamodb": ["pydynamodb>=0.4.2"],
|
2021-01-15 08:11:56 -05:00
|
|
|
"solr": ["sqlalchemy-solr >= 0.2.0"],
|
2022-08-31 15:42:48 -04:00
|
|
|
"elasticsearch": ["elasticsearch-dbapi>=0.2.9, <0.3.0"],
|
2022-05-25 21:01:46 -04:00
|
|
|
"exasol": ["sqlalchemy-exasol >= 2.4.0, <3.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"excel": ["xlrd>=1.2.0, <1.3"],
|
2021-02-26 15:07:27 -05:00
|
|
|
"firebird": ["sqlalchemy-firebird>=0.7.0, <0.8"],
|
2021-10-01 12:43:15 -04:00
|
|
|
"firebolt": ["firebolt-sqlalchemy>=0.0.1"],
|
2022-05-31 13:10:25 -04:00
|
|
|
"gsheets": ["shillelagh[gsheetsapi]>=1.0.14, <2"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"hana": ["hdbcli==2.4.162", "sqlalchemy_hana==0.4.0"],
|
2022-08-31 23:26:00 -04:00
|
|
|
"hive": ["pyhive[hive]>=0.6.5", "tableschema", "thrift>=0.14.1, <1.0.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"impala": ["impyla>0.16.2, <0.17"],
|
2022-09-09 04:55:36 -04:00
|
|
|
"kusto": ["sqlalchemy-kusto>=2.0.0, <3"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"kylin": ["kylinpy>=2.8.1, <2.9"],
|
2022-06-24 13:43:16 -04:00
|
|
|
"mssql": ["pymssql>=2.1.4, <2.2"],
|
2021-11-29 03:38:41 -05:00
|
|
|
"mysql": ["mysqlclient>=2.1.0, <3"],
|
2023-04-22 21:49:32 -04:00
|
|
|
"ocient": [
|
|
|
|
"sqlalchemy-ocient>=1.0.0",
|
|
|
|
"pyocient>=1.0.15",
|
|
|
|
],
|
2020-08-05 00:51:32 -04:00
|
|
|
"oracle": ["cx-Oracle>8.0.0, <8.1"],
|
|
|
|
"pinot": ["pinotdb>=0.3.3, <0.4"],
|
2023-04-28 04:46:56 -04:00
|
|
|
"postgres": ["psycopg2-binary==2.9.6"],
|
2022-06-03 18:27:35 -04:00
|
|
|
"presto": ["pyhive[presto]>=0.6.5"],
|
2022-11-09 17:30:49 -05:00
|
|
|
"trino": ["trino>=0.319.0"],
|
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"],
|
2022-04-27 17:58:08 -04:00
|
|
|
"rockset": ["rockset>=0.8.10, <0.9"],
|
2021-08-24 20:07:29 -04:00
|
|
|
"shillelagh": [
|
2022-10-27 18:08:51 -04:00
|
|
|
"shillelagh[datasetteapi,gsheetsapi,socrata,weatherapi]>=1.1.1, <2"
|
2021-08-24 20:07:29 -04:00
|
|
|
],
|
2022-08-03 00:17:06 -04:00
|
|
|
"snowflake": ["snowflake-sqlalchemy>=1.2.4, <2"],
|
2022-08-31 23:26:00 -04:00
|
|
|
"spark": ["pyhive[hive]>=0.6.5", "tableschema", "thrift>=0.14.1, <1.0.0"],
|
2022-01-31 22:15:42 -05:00
|
|
|
"teradata": ["teradatasql>=16.20.0.23"],
|
2022-12-23 10:25:22 -05:00
|
|
|
"thumbnails": ["Pillow>=9.3.0, <10.0.0"],
|
2020-08-05 00:51:32 -04:00
|
|
|
"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
|
|
|
},
|
2022-03-14 13:29:18 -04:00
|
|
|
python_requires="~=3.8",
|
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=[
|
2020-08-05 06:29:07 -04:00
|
|
|
"Programming Language :: Python :: 3.8",
|
2021-10-05 04:35:14 -04:00
|
|
|
"Programming Language :: Python :: 3.9",
|
2022-08-17 09:36:36 -04:00
|
|
|
"Programming Language :: Python :: 3.10",
|
2022-12-03 02:25:11 -05:00
|
|
|
"Programming Language :: Python :: 3.11",
|
2019-09-27 10:54:45 -04:00
|
|
|
],
|
2015-09-05 12:23:46 -04:00
|
|
|
)
|