| # 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. |
| import io |
| import json |
| import os |
| import subprocess |
| import sys |
| |
| from setuptools import find_packages, setup |
| |
| if sys.version_info < (3, 6): |
| sys.exit('Sorry, Python < 3.6 is not supported') |
| |
| BASE_DIR = os.path.abspath(os.path.dirname(__file__)) |
| PACKAGE_DIR = os.path.join(BASE_DIR, 'superset', 'static', 'assets') |
| PACKAGE_FILE = os.path.join(PACKAGE_DIR, 'package.json') |
| with open(PACKAGE_FILE) as package_file: |
| version_string = json.load(package_file)['version'] |
| |
| with io.open('README.md', encoding='utf-8') as f: |
| long_description = f.read() |
| |
| |
| def get_git_sha(): |
| try: |
| s = subprocess.check_output(['git', 'rev-parse', 'HEAD']) |
| return s.decode().strip() |
| except Exception: |
| return '' |
| |
| |
| GIT_SHA = get_git_sha() |
| version_info = { |
| 'GIT_SHA': GIT_SHA, |
| 'version': version_string, |
| } |
| print('-==-' * 15) |
| print('VERSION: ' + version_string) |
| print('GIT SHA: ' + GIT_SHA) |
| print('-==-' * 15) |
| |
| with open(os.path.join(PACKAGE_DIR, 'version_info.json'), 'w') as version_file: |
| json.dump(version_info, version_file) |
| |
| |
| setup( |
| name='apache-superset', |
| description=( |
| 'A modern, enterprise-ready business intelligence web application'), |
| long_description=long_description, |
| long_description_content_type='text/markdown', |
| version=version_string, |
| packages=find_packages(), |
| include_package_data=True, |
| zip_safe=False, |
| scripts=['superset/bin/superset'], |
| install_requires=[ |
| 'bleach>=3.0.2, <4.0.0', |
| 'celery>=4.2.0, <5.0.0', |
| 'click>=6.0, <7.0.0', # click >=7 forces "-" instead of "_" |
| 'colorama', |
| 'contextlib2', |
| 'croniter>=0.3.26', |
| 'cryptography>=2.4.2', |
| 'flask>=1.0.0, <2.0.0', |
| 'flask-appbuilder>=1.12.1, <2.0.0', |
| 'flask-caching', |
| 'flask-compress', |
| 'flask-migrate', |
| 'flask-wtf', |
| 'geopy', |
| 'gunicorn', # deprecated |
| 'humanize', |
| 'idna', |
| 'isodate', |
| 'markdown>=3.0', |
| 'pandas>=0.18.0', |
| 'parsedatetime', |
| 'pathlib2', |
| 'polyline', |
| 'pydruid>=0.4.3', |
| 'python-dateutil', |
| 'python-geohash', |
| 'pyyaml>=3.13', |
| 'requests>=2.20.0', |
| 'retry>=0.9.2', |
| 'selenium>=3.141.0', |
| 'simplejson>=3.15.0', |
| 'sqlalchemy', |
| 'sqlalchemy-utils', |
| 'sqlparse', |
| 'unicodecsv', |
| 'wtforms-json', |
| ], |
| extras_require={ |
| 'cors': ['flask-cors>=2.0.0'], |
| 'console_log': ['console_log==0.2.10'], |
| 'hive': [ |
| 'pyhive>=0.4.0', |
| 'tableschema', |
| 'thrift-sasl>=0.2.1', |
| 'thrift>=0.9.3', |
| ], |
| 'presto': ['pyhive>=0.4.0'], |
| 'gsheets': ['gsheetsdb>=0.1.9'], |
| }, |
| author='Apache Software Foundation', |
| author_email='dev@superset.incubator.apache.org', |
| url='http://superset.apache.org/', |
| download_url=( |
| 'https://dist.apache.org/repos/dist/release/superset/' + version_string |
| ), |
| classifiers=[ |
| 'Programming Language :: Python :: 3.6', |
| ], |
| ) |