searxng/setup.py
Alexandre Flament 3a14cf0efe Version: rely on pyproject.toml and setuptools_scm
Move brand information to Python package rather than settings.yml
`pip install .` works with the right version.

Dependencies are moved to setup.py
requirements.txt contains the dev dependencies.
requirements-dev.txt is removed

"make install" is broken
2023-02-12 09:51:51 +00:00

99 lines
3 KiB
Python

# -*- coding: utf-8 -*-
"""Installer for SearXNG package."""
from setuptools import setup, find_packages
with open('README.rst', encoding='utf-8') as f:
long_description = f.read()
def version_yyyymmdd_tag():
from setuptools_scm.version import ScmVersion
def custom_version_scheme(version: ScmVersion):
return f"{version.node_date.year}.{version.node_date.month}.{version.node_date.day}+{version.node}"
def custom_local_scheme(version: ScmVersion):
return '.dirty' if version.dirty else ''
return {
'write_to': 'searx/_version.py',
'version_scheme': custom_version_scheme,
'local_scheme': custom_local_scheme
}
setup(
name='searxng',
python_requires=">=3.7",
description="A privacy-respecting, hackable metasearch engine",
long_description=long_description,
use_scm_version=version_yyyymmdd_tag,
url='https://docs.searxng.org/',
project_urls={
"Code": 'https://github.com/searxng/searxng',
"Documentation": 'https://docs.searxng.org/',
"Issue tracker": 'https://github.com/searxng/searxng/issues',
"New issue": 'https://github.com/searxng/searxng/issues/new',
'Public instances': 'https//searx.space',
},
classifiers=[
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
'License :: OSI Approved :: GNU Affero General Public License v3'
],
keywords='metasearch searchengine search web http',
author='SearXNG dev team',
author_email='contact@searxng.org',
license='GNU Affero General Public License',
packages=find_packages(exclude=["tests*", "searxng_extra*"]),
zip_safe=False,
install_requires=[
'certifi==2022.12.7',
'babel==2.11.0',
'flask-babel==3.0.1',
'flask==2.2.2',
'jinja2==3.1.2',
'lxml==4.9.2',
'pygments==2.14.0',
'python-dateutil==2.8.2',
'pyyaml==6.0',
'httpx[http2]==0.21.2',
'Brotli==1.0.9',
'uvloop==0.17.0',
'httpx-socks[asyncio]==0.7.2',
'setproctitle==1.3.2',
'redis==4.5.1',
'markdown-it-py==2.1.0',
'typing_extensions==4.4.0',
'fasttext-predict==0.9.2.1',
],
entry_points={
'console_scripts': [
'searxng = searx.webapp:run',
'searxng-checker = searx.search.checker.__main__:main'
]
},
package_data={
'searx': [
'settings.yml',
'../README.rst',
'data/*',
'info/*',
'info/*/*',
'plugins/*/*',
'static/*.*',
'static/*/*.*',
'static/*/*/*.*',
'static/*/*/*/*.*',
'static/*/*/*/*/*.*',
'templates/*/*.*',
'templates/*/*/*.*',
'translations/*/*/*'
],
},
)