3
0

setup.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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",
  33. "PyMySQL>=0.9.3",
  34. "redis>=2.10.6,<4.0.0",
  35. "requests>=2.24.0",
  36. "PySocks==1.7.1",
  37. "bs4>=0.0.1",
  38. "ipython>=7.14.0,<=8.12",
  39. "redis-py-cluster>=2.1.0",
  40. "cryptography>=3.3.2",
  41. "pymongo>=3.10.1",
  42. "urllib3>=1.25.8,<=1.25.11",
  43. "loguru>=0.5.3",
  44. "influxdb>=5.3.1",
  45. "pyperclip>=1.8.2",
  46. "terminal-layout>=2.1.3",
  47. "python-logstash==0.4.8",
  48. "AMQPStorm==2.10.6",
  49. ]
  50. render_requires = ["webdriver-manager>=3.5.3", "selenium==3.141.0"]
  51. jy_requires = ["tqdm>=4.64.0", "func-timeout==4.3.5", "oss2"]
  52. all_requires = [
  53. "bitarray>=1.5.3",
  54. "PyExecJS>=1.5.1",
  55. *jy_requires,
  56. *render_requires
  57. ]
  58. setuptools.setup(
  59. name="feapder",
  60. version=version,
  61. author="Boris",
  62. license="MIT",
  63. author_email="",
  64. python_requires=">=3.6",
  65. description="feapder是一款支持分布式、批次采集、任务防丢、报警丰富的python爬虫框架",
  66. long_description=long_description,
  67. long_description_content_type="text/markdown",
  68. install_requires=requires,
  69. extras_require={"all": all_requires, "jy": jy_requires, "render": render_requires},
  70. entry_points={"console_scripts": ["feapder = feapder.commands.cmdline:execute"]},
  71. url="https://github.com/Boris-code/feapder.git",
  72. packages=packages,
  73. include_package_data=True,
  74. classifiers=["Programming Language :: Python :: 3"],
  75. )