superset/setup.py

74 lines
2.6 KiB
Python
Raw Normal View History

# 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.
2017-11-07 23:23:40 -05:00
import json
import os
import subprocess
2017-11-07 23:23:40 -05:00
from setuptools import find_packages, setup
2015-09-05 12:23:46 -04:00
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
PACKAGE_JSON = os.path.join(BASE_DIR, "superset-frontend", "package.json")
with open(PACKAGE_JSON) 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
def get_git_sha() -> str:
try:
output = subprocess.check_output(["git", "rev-parse", "HEAD"])
return output.decode().strip()
except Exception: # pylint: disable=broad-except
2019-06-25 16:34:48 -04:00
return ""
2017-11-10 20:52:34 -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)
VERSION_INFO_FILE = os.path.join(BASE_DIR, "superset", "static", "version_info.json")
with open(VERSION_INFO_FILE, "w") as version_file:
json.dump(version_info, version_file)
2024-04-02 19:53:14 -04:00
# translating 'no version' from npm to pypi to prevent warning msg
version_string = version_string.replace("-dev", ".dev0")
2015-09-05 12:23:46 -04:00
setup(
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
"sqlalchemy.dialects": [
2022-08-10 21:07:31 -04:00
"postgres.psycopg2 = sqlalchemy.dialects.postgresql:dialect",
"postgres = sqlalchemy.dialects.postgresql:dialect",
"superset = superset.extensions.metadb:SupersetAPSWDialect",
],
"shillelagh.adapter": [
"superset=superset.extensions.metadb:SupersetShillelaghAdapter"
],
2022-02-11 20:40:20 -05:00
},
download_url="https://www.apache.org/dist/superset/" + version_string,
2015-09-05 12:23:46 -04:00
)