setup.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # SPDX-License-Identifier: AGPL-3.0-or-later
  2. """Installer for SearXNG package."""
  3. from setuptools import setup, find_packages
  4. from searx.version import VERSION_TAG, GIT_URL
  5. from searx import get_setting
  6. with open('README.rst', encoding='utf-8') as f:
  7. long_description = f.read()
  8. with open('requirements.txt') as f:
  9. requirements = [ l.strip() for l in f.readlines()]
  10. with open('requirements-dev.txt') as f:
  11. dev_requirements = [ l.strip() for l in f.readlines()]
  12. setup(
  13. name='searxng',
  14. python_requires=">=3.8",
  15. version=VERSION_TAG,
  16. description="A privacy-respecting, hackable metasearch engine",
  17. long_description=long_description,
  18. url=get_setting('brand.docs_url'),
  19. project_urls={
  20. "Code": GIT_URL,
  21. "Issue tracker": get_setting('brand.issue_url')
  22. },
  23. classifiers=[
  24. "Programming Language :: Python",
  25. "Topic :: Internet",
  26. "Topic :: Internet :: WWW/HTTP :: HTTP Servers",
  27. "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
  28. 'License :: OSI Approved :: GNU Affero General Public License v3'
  29. ],
  30. keywords='metasearch searchengine search web http',
  31. author='SearXNG dev team',
  32. author_email='contact@searxng.org',
  33. license='GNU Affero General Public License',
  34. packages=find_packages(
  35. include=[
  36. 'searx', 'searx.*', 'searx.*.*', 'searx.*.*.*',
  37. ]
  38. ),
  39. install_requires=requirements,
  40. extras_require={
  41. 'test': dev_requirements
  42. },
  43. entry_points={
  44. 'console_scripts': [
  45. 'searxng-run = searx.webapp:run',
  46. 'searxng-checker = searx.search.checker.__main__:main'
  47. ]
  48. },
  49. package_data={
  50. 'searx': [
  51. 'settings.yml',
  52. '*.toml',
  53. '*.msg',
  54. 'search/checker/scheduler.lua',
  55. 'data/*.json',
  56. 'data/*.txt',
  57. 'data/*.ftz',
  58. 'favicons/*.toml',
  59. 'infopage/*/*',
  60. 'static/themes/simple/css/*',
  61. 'static/themes/simple/css/*/*',
  62. 'static/themes/simple/img/*',
  63. 'static/themes/simple/js/*',
  64. 'templates/*/*',
  65. 'templates/*/*/*',
  66. 'translations/*',
  67. 'translations/*/*',
  68. 'translations/*/*/*',
  69. ],
  70. },
  71. )