PageRenderTime 123ms CodeModel.GetById 35ms RepoModel.GetById 0ms app.codeStats 0ms

/setup.py

https://gitlab.com/e0/luigi
Python | 90 lines | 73 code | 4 blank | 13 comment | 0 complexity | f3f95f070bf99c0640e18d79611c47f4 MD5 | raw file
  1. # Copyright (c) 2012 Spotify AB
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not
  4. # use this file except in compliance with the License. You may obtain a copy of
  5. # the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  11. # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  12. # License for the specific language governing permissions and limitations under
  13. # the License.
  14. import os
  15. from setuptools import setup
  16. def get_static_files(path):
  17. return [os.path.join(dirpath.replace("luigi/", ""), ext)
  18. for (dirpath, dirnames, filenames) in os.walk(path)
  19. for ext in ["*.html", "*.js", "*.css", "*.png",
  20. "*.eot", "*.svg", "*.ttf", "*.woff", "*.woff2"]]
  21. luigi_package_data = sum(map(get_static_files, ["luigi/static", "luigi/templates"]), [])
  22. readme_note = """\
  23. .. note::
  24. For the latest source, discussion, etc, please visit the
  25. `GitHub repository <https://github.com/spotify/luigi>`_\n\n
  26. """
  27. with open('README.rst') as fobj:
  28. long_description = readme_note + fobj.read()
  29. install_requires = [
  30. 'tornado>=4.0,<5',
  31. 'python-daemon<3.0',
  32. ]
  33. if os.environ.get('READTHEDOCS', None) == 'True':
  34. # So that we can build documentation for luigi.db_task_history and luigi.contrib.sqla
  35. install_requires.append('sqlalchemy')
  36. # readthedocs don't like python-daemon, see #1342
  37. install_requires.remove('python-daemon<3.0')
  38. setup(
  39. name='luigi',
  40. version='2.1.1',
  41. description='Workflow mgmgt + task scheduling + dependency resolution',
  42. long_description=long_description,
  43. author='Erik Bernhardsson',
  44. url='https://github.com/spotify/luigi',
  45. license='Apache License 2.0',
  46. packages=[
  47. 'luigi',
  48. 'luigi.contrib',
  49. 'luigi.contrib.hdfs',
  50. 'luigi.tools'
  51. ],
  52. package_data={
  53. 'luigi': luigi_package_data
  54. },
  55. entry_points={
  56. 'console_scripts': [
  57. 'luigi = luigi.cmdline:luigi_run',
  58. 'luigid = luigi.cmdline:luigid',
  59. 'luigi-grep = luigi.tools.luigi_grep:main',
  60. 'luigi-deps = luigi.tools.deps:main',
  61. 'luigi-migrate = luigi.tools.migrate:main'
  62. ]
  63. },
  64. install_requires=install_requires,
  65. classifiers=[
  66. 'Development Status :: 5 - Production/Stable',
  67. 'Environment :: Console',
  68. 'Environment :: Web Environment',
  69. 'Intended Audience :: Developers',
  70. 'Intended Audience :: System Administrators',
  71. 'License :: OSI Approved :: Apache Software License',
  72. 'Programming Language :: Python :: 2.7',
  73. 'Programming Language :: Python :: 3.3',
  74. 'Programming Language :: Python :: 3.4',
  75. 'Programming Language :: Python :: 3.5',
  76. 'Topic :: System :: Monitoring',
  77. ],
  78. )