setup.py 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. # Licensed to the Apache Software Foundation (ASF) under one
  2. # or more contributor license agreements. See the NOTICE file
  3. # distributed with this work for additional information
  4. # regarding copyright ownership. The ASF licenses this file
  5. # to you under the Apache License, Version 2.0 (the
  6. # "License"); you may not use this file except in compliance
  7. # with the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing,
  12. # software distributed under the License is distributed on an
  13. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. # KIND, either express or implied. See the License for the
  15. # specific language governing permissions and limitations
  16. # under the License.
  17. """The script for setting up pydolphinscheduler."""
  18. import sys
  19. from os.path import dirname, join
  20. from setuptools import find_packages, setup
  21. version = "0.0.1.dev0"
  22. if sys.version_info[0] < 3:
  23. raise Exception(
  24. "pydolphinscheduler does not support Python 2. Please upgrade to Python 3."
  25. )
  26. def read(*names, **kwargs):
  27. """Read file content from given file path."""
  28. return open(
  29. join(dirname(__file__), *names), encoding=kwargs.get("encoding", "utf8")
  30. ).read()
  31. setup(
  32. name="pydolphinscheduler",
  33. version=version,
  34. license="Apache License 2.0",
  35. description="Apache DolphinScheduler python SDK",
  36. long_description=read("README.md"),
  37. # Make sure pypi is expecting markdown
  38. long_description_content_type="text/markdown",
  39. author="Apache Software Foundation",
  40. author_email="dev@dolphinscheduler.apache.org",
  41. url="https://dolphinscheduler.apache.org/",
  42. python_requires=">=3.6",
  43. keywords=[
  44. "dolphinscheduler",
  45. "workflow",
  46. "scheduler",
  47. "taskflow",
  48. ],
  49. project_urls={
  50. "Homepage": "https://dolphinscheduler.apache.org",
  51. "Documentation": "https://dolphinscheduler.apache.org/en-us/docs/latest/user_doc/quick-start.html",
  52. "Source": "https://github.com/apache/dolphinscheduler",
  53. "Issue Tracker": "https://github.com/apache/dolphinscheduler/issues",
  54. "Discussion": "https://github.com/apache/dolphinscheduler/discussions",
  55. "Twitter": "https://twitter.com/dolphinschedule",
  56. },
  57. packages=find_packages(where="src"),
  58. package_dir={"": "src"},
  59. include_package_data=True,
  60. classifiers=[
  61. # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers
  62. "Development Status :: 1 - Planning",
  63. "Environment :: Console",
  64. "Intended Audience :: Developers",
  65. "License :: OSI Approved :: Apache Software License",
  66. "Operating System :: Unix",
  67. "Operating System :: POSIX",
  68. "Operating System :: Microsoft :: Windows",
  69. "Programming Language :: Python",
  70. "Programming Language :: Python :: 3",
  71. "Programming Language :: Python :: 3.6",
  72. "Programming Language :: Python :: 3.7",
  73. "Programming Language :: Python :: 3.8",
  74. "Programming Language :: Python :: 3.9",
  75. "Programming Language :: Python :: Implementation :: CPython",
  76. "Programming Language :: Python :: Implementation :: PyPy",
  77. "Topic :: Software Development :: User Interfaces",
  78. ],
  79. install_requires=[
  80. # Core
  81. "py4j~=0.10",
  82. # Dev
  83. "pytest~=6.2",
  84. ],
  85. )