import json import os import subprocess from setuptools import find_packages, setup BASE_DIR = os.path.abspath(os.path.dirname(__file__)) PACKAGE_DIR = os.path.join(BASE_DIR, 'superset', 'assets') PACKAGE_FILE = os.path.join(PACKAGE_DIR, 'package.json') with open(PACKAGE_FILE) as package_file: version_string = json.load(package_file)['version'] def get_git_sha(): try: s = str(subprocess.check_output(['git', 'rev-parse', 'HEAD'])) return s.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='superset', description=( 'A interactive data visualization platform build on SqlAlchemy ' 'and druid.io'), version=version_string, packages=find_packages(), include_package_data=True, zip_safe=False, scripts=['superset/bin/superset'], install_requires=[ 'boto3>=1.4.6', 'celery==4.1.0', 'colorama==0.3.9', 'cryptography==1.9', 'flask==0.12.2', 'flask-appbuilder==1.9.4', 'flask-cache==0.13.1', 'flask-migrate==2.0.3', 'flask-script==2.0.5', 'flask-sqlalchemy==2.1', 'flask-testing==0.6.2', 'flask-wtf==0.14.2', 'flower==0.9.1', 'future>=0.16.0, <0.17', 'humanize==0.5.1', 'gunicorn==19.7.1', 'idna==2.5', 'markdown==2.6.8', 'pandas==0.20.3', 'parsedatetime==2.0.0', 'pydruid==0.3.1', 'PyHive>=0.4.0', 'python-dateutil==2.6.0', 'requests==2.17.3', 'simplejson==3.10.0', 'six==1.10.0', 'sqlalchemy==1.1.9', 'sqlalchemy-utils==0.32.16', 'sqlparse==0.2.3', 'thrift>=0.9.3', 'thrift-sasl>=0.2.1', ], extras_require={ 'cors': ['Flask-Cors>=2.0.0'], }, tests_require=[ 'codeclimate-test-reporter', 'coverage', 'mock', 'nose', 'redis', ], author='Maxime Beauchemin', author_email='maximebeauchemin@gmail.com', url='https://github.com/airbnb/superset', download_url=( 'https://github.com/airbnb/superset/tarball/' + version_string), classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', ], )