setup.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import codecs
  2. import os
  3. from setuptools import find_packages, setup
  4. here = os.path.abspath(os.path.dirname(__file__))
  5. with codecs.open(os.path.join(here, 'README.md'), encoding='utf-8') as fh:
  6. long_description = '\n' + fh.read()
  7. INSTALL_REQUIRE = [
  8. "requests",
  9. "aiohttp",
  10. ]
  11. EXTRA_REQUIRE = {
  12. 'all': [
  13. "curl_cffi>=0.6.0b9",
  14. "certifi",
  15. "async-property", # openai
  16. "py-arkose-generator", # openai
  17. "browser_cookie3", # get_cookies
  18. "PyExecJS", # GptForLove
  19. "duckduckgo-search", # internet.search
  20. "beautifulsoup4", # internet.search and bing.create_images
  21. "brotli", # openai
  22. "platformdirs", # webdriver
  23. "undetected-chromedriver", # webdriver
  24. "setuptools", # webdriver
  25. "aiohttp_socks", # proxy
  26. "pillow", # image
  27. "cairosvg", # svg image
  28. "werkzeug", "flask", # gui
  29. "loguru", "fastapi",
  30. "uvicorn", "nest_asyncio", # api
  31. ],
  32. "image": [
  33. "pillow",
  34. "cairosvg",
  35. "beautifulsoup4"
  36. ],
  37. "webdriver": [
  38. "platformdirs",
  39. "undetected-chromedriver",
  40. "setuptools"
  41. ],
  42. "openai": [
  43. "async-property",
  44. "py-arkose-generator",
  45. "brotli"
  46. ],
  47. "api": [
  48. "loguru", "fastapi",
  49. "uvicorn", "nest_asyncio"
  50. ],
  51. "gui": [
  52. "werkzeug", "flask",
  53. "beautifulsoup4", "pillow",
  54. "duckduckgo-search",
  55. "browser_cookie3"
  56. ]
  57. }
  58. DESCRIPTION = (
  59. 'The official gpt4free repository | various collection of powerful language models'
  60. )
  61. # Setting up
  62. setup(
  63. name='g4f',
  64. version=os.environ.get("G4F_VERSION"),
  65. author='Tekky',
  66. author_email='<support@g4f.ai>',
  67. description=DESCRIPTION,
  68. long_description_content_type='text/markdown',
  69. long_description=long_description,
  70. packages=find_packages(),
  71. package_data={
  72. 'g4f': ['g4f/interference/*', 'g4f/gui/client/*', 'g4f/gui/server/*', 'g4f/Provider/npm/*']
  73. },
  74. include_package_data=True,
  75. install_requires=INSTALL_REQUIRE,
  76. extras_require=EXTRA_REQUIRE,
  77. entry_points={
  78. 'console_scripts': ['g4f=g4f.cli:main'],
  79. },
  80. url='https://github.com/xtekky/gpt4free', # Link to your GitHub repository
  81. project_urls={
  82. 'Source Code': 'https://github.com/xtekky/gpt4free', # GitHub link
  83. 'Bug Tracker': 'https://github.com/xtekky/gpt4free/issues', # Link to issue tracker
  84. },
  85. keywords=[
  86. 'python',
  87. 'chatbot',
  88. 'reverse-engineering',
  89. 'openai',
  90. 'chatbots',
  91. 'gpt',
  92. 'language-model',
  93. 'gpt-3',
  94. 'gpt3',
  95. 'openai-api',
  96. 'gpt-4',
  97. 'gpt4',
  98. 'chatgpt',
  99. 'chatgpt-api',
  100. 'openai-chatgpt',
  101. 'chatgpt-free',
  102. 'chatgpt-4',
  103. 'chatgpt4',
  104. 'chatgpt4-api',
  105. 'free',
  106. 'free-gpt',
  107. 'gpt4free',
  108. 'g4f',
  109. ],
  110. classifiers=[
  111. 'Development Status :: 2 - Pre-Alpha',
  112. 'Intended Audience :: Developers',
  113. 'Programming Language :: Python :: 3',
  114. 'Operating System :: Unix',
  115. 'Operating System :: MacOS :: MacOS X',
  116. 'Operating System :: Microsoft :: Windows',
  117. ],
  118. )