import os from distutils.core import setup from distutils.command.sdist import sdist import skyfield # safe, because __init__.py contains no import statements extras = { 'tests': [ # TODO: add assay 'pytz', ], } class my_sdist(sdist): def make_distribution(self): # See https://github.com/skyfielders/python-skyfield/issues/378 for path in self.filelist.files: os.chmod(path, 0o644) sdist.make_distribution(self) setup( cmdclass={'sdist': my_sdist}, name='skyfield', version=skyfield.__version__, description=skyfield.__doc__.split('\n', 1)[0], long_description=open('README.rst', 'rb').read().decode('utf-8'), license='MIT', author='Brandon Rhodes', author_email='brandon@rhodesmill.org', url='http://github.com/brandon-rhodes/python-skyfield/', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Topic :: Scientific/Engineering :: Astronomy', ], packages=[ 'skyfield', 'skyfield.data', 'skyfield.tests', ], package_data = { 'skyfield': ['documentation/*.rst'], 'skyfield.data': ['Leap_Second.dat', 'deltat.data', 'deltat.preds', '*.npy', '*.npz'], 'skyfield.tests': ['data/*'], }, install_requires=[ 'certifi>=2017.4.17', # version constraint copied from Requests 'jplephem>=2.13', 'numpy', 'sgp4>=2.2', ], extras_require=extras, # support "pip install skyfield[tests]" )