setup.py 2.2 KB

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