3
0

setup.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2020/4/22 10:45 PM
  4. ---------
  5. @summary:
  6. ---------
  7. @author: Boris
  8. @email: boris_liu@foxmail.com
  9. """
  10. from os.path import dirname, join
  11. from sys import version_info
  12. import setuptools
  13. if version_info < (3, 6, 0):
  14. raise SystemExit("Sorry! feapder requires python 3.6.0 or later.")
  15. with open(join(dirname(__file__), "feapder/VERSION"), "rb") as fh:
  16. version = fh.read().decode("ascii").strip()
  17. with open("README.md", "r", encoding="utf8") as fh:
  18. long_description = fh.read()
  19. packages = setuptools.find_packages()
  20. packages.extend(
  21. [
  22. "feapder",
  23. "feapder.templates",
  24. "feapder.templates.project_template",
  25. "feapder.templates.project_template.spiders",
  26. "feapder.templates.project_template.items",
  27. ]
  28. )
  29. requires = [
  30. "better-exceptions>=0.2.2",
  31. "DBUtils>=2.0",
  32. "parsel>=1.5.2,<=1.6.0",
  33. "PyMySQL>=0.9.3",
  34. "pymongo==3.10.1",
  35. "redis>=2.10.6,<4.0.0",
  36. "requests>=2.24.0",
  37. "bs4>=0.0.1",
  38. "ipython>=7.14.0,<=8.12",
  39. "cryptography>=3.3.2",
  40. "urllib3>=1.25.8,<=1.25.11",
  41. "loguru>=0.5.3",
  42. "influxdb>=5.3.1",
  43. "pyperclip>=1.8.2",
  44. "terminal-layout>=2.1.3",
  45. "redis-py-cluster>=2.1.0",
  46. "tqdm>=4.64.0",
  47. "jmespath<1.0.0,>=0.9.3"
  48. ]
  49. render_requires = [
  50. "webdriver-manager>=4.0.0",
  51. "DrissionPage==4.1.0.18",
  52. "playwright",
  53. "selenium>=3.141.0"
  54. ]
  55. other = [
  56. "func-timeout==4.3.5"
  57. ]
  58. all_requires = [
  59. "bitarray>=1.5.3",
  60. "PyExecJS>=1.5.1",
  61. "PySocks==1.7.1",
  62. "oss2",
  63. "AMQPStorm"
  64. ] + render_requires
  65. setuptools.setup(
  66. name="feapder",
  67. version=version,
  68. author="Boris",
  69. license="MIT",
  70. author_email="",
  71. python_requires=">=3.6",
  72. description="feapder是一款支持分布式、批次采集、任务防丢、报警丰富的python爬虫框架",
  73. long_description=long_description,
  74. long_description_content_type="text/markdown",
  75. install_requires=requires,
  76. extras_require={
  77. "all": all_requires,
  78. "render": render_requires,
  79. "other": other
  80. },
  81. entry_points={"console_scripts": ["feapder = feapder.commands.cmdline:execute"]},
  82. url="https://github.com/Boris-code/feapder.git",
  83. packages=packages,
  84. include_package_data=True,
  85. classifiers=["Programming Language :: Python :: 3"],
  86. )