| import os |
| from setuptools import setup, find_packages |
| |
| |
| COMMONS_VERSION = '==0.3.2' |
| MESOS_VERSION = '==0.20.1' |
| |
| |
| here = os.path.abspath(os.path.dirname(__file__)) |
| |
| |
| def make_commons_requirement(name): |
| return 'twitter.common.{0}{1}'.format(name, COMMONS_VERSION) |
| |
| |
| def list_package_data_files(package_root, data_folder): |
| """List the data files in the data_folder under the given package_root.""" |
| paths = [] |
| for root, _, files in os.walk(os.path.join(package_root, data_folder)): |
| for filename in files: |
| paths.append(os.path.relpath(os.path.join(root, filename), package_root)) |
| |
| return paths |
| |
| |
| setup( |
| name='mysos', |
| version='0.1.0-dev0', |
| description='Mysos (MySQL on Mesos)', |
| url='https://github.com/twitter/mysos', |
| license='Apache License, Version 2.0', |
| classifiers=[ |
| 'Development Status :: 3 - Alpha', |
| 'Programming Language :: Python :: 2', |
| 'Programming Language :: Python :: 2.7', |
| ], |
| keywords='mesos mysql', |
| packages=find_packages(exclude=['tests*']), |
| package_data={ |
| '': (list_package_data_files('mysos/executor', 'files') + |
| list_package_data_files('mysos/scheduler', 'assets')) |
| }, |
| install_requires=[ |
| 'kazoo==1.3.1', |
| 'mako==0.4.0', |
| 'mesos.interface{0}'.format(MESOS_VERSION), |
| 'pyyaml==3.10', |
| make_commons_requirement('app'), |
| make_commons_requirement('collections'), |
| make_commons_requirement('concurrent'), |
| make_commons_requirement('exceptions'), |
| make_commons_requirement('http'), |
| make_commons_requirement('lang'), |
| make_commons_requirement('log'), |
| make_commons_requirement('metrics'), |
| make_commons_requirement('quantity'), |
| make_commons_requirement('zookeeper'), |
| ], |
| extras_require={ |
| 'test': [ |
| 'pynacl>=0.3.0', |
| 'webtest', |
| 'zake==0.2.1', |
| ], |
| 'scheduler': [ |
| 'cherrypy==3.2.2', |
| 'mesos.native{0}'.format(MESOS_VERSION), |
| 'pynacl>=0.3.0,<1', |
| ], |
| 'executor': [ |
| 'mesos.native{0}'.format(MESOS_VERSION), |
| ], |
| 'test_client': [ |
| 'sqlalchemy', |
| 'mysql-python' |
| ] |
| }, |
| entry_points={ |
| 'console_scripts': [ |
| 'mysos_scheduler=mysos.scheduler.mysos_scheduler:proxy_main [scheduler]', |
| 'vagrant_mysos_executor=mysos.executor.testing.vagrant_mysos_executor:proxy_main [executor]', |
| 'mysos_test_client=mysos.testing.mysos_test_client:proxy_main [test_client]', |
| ], |
| }, |
| ) |