mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	All favicons implementations have been documented and moved to the Python
package:
    searx.favicons
There is a configuration (based on Pydantic) for the favicons and all its
components:
    searx.favicons.config
A solution for caching favicons has been implemented:
    searx.favicon.cache
If the favicon is already in the cache, the returned URL is a data URL [1]
(something like `data:image/png;base64,...`).  By generating a data url from
the FaviconCache, additional HTTP roundtripps via the favicon_proxy are saved:
    favicons.proxy.favicon_url
The favicon proxy service now sets a HTTP header "Cache-Control: max-age=...":
    favicons.proxy.favicon_proxy
The resolvers now also provide the mime type (data, mime):
    searx.favicon.resolvers
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
		
	
			
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						|
"""Installer for SearXNG package."""
 | 
						|
 | 
						|
from setuptools import setup, find_packages
 | 
						|
 | 
						|
from searx.version import VERSION_TAG, GIT_URL
 | 
						|
from searx import get_setting
 | 
						|
 | 
						|
with open('README.rst', encoding='utf-8') as f:
 | 
						|
    long_description = f.read()
 | 
						|
 | 
						|
with open('requirements.txt') as f:
 | 
						|
    requirements = [ l.strip() for l in f.readlines()]
 | 
						|
 | 
						|
with open('requirements-dev.txt') as f:
 | 
						|
    dev_requirements = [ l.strip() for l in f.readlines()]
 | 
						|
 | 
						|
setup(
 | 
						|
    name='searxng',
 | 
						|
    python_requires=">=3.8",
 | 
						|
    version=VERSION_TAG,
 | 
						|
    description="A privacy-respecting, hackable metasearch engine",
 | 
						|
    long_description=long_description,
 | 
						|
    url=get_setting('brand.docs_url'),
 | 
						|
    project_urls={
 | 
						|
        "Code": GIT_URL,
 | 
						|
        "Issue tracker": get_setting('brand.issue_url')
 | 
						|
    },
 | 
						|
    classifiers=[
 | 
						|
        "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(
 | 
						|
        include=[
 | 
						|
            'searx', 'searx.*', 'searx.*.*', 'searx.*.*.*',
 | 
						|
        ]
 | 
						|
    ),
 | 
						|
    install_requires=requirements,
 | 
						|
    extras_require={
 | 
						|
        'test': dev_requirements
 | 
						|
    },
 | 
						|
    entry_points={
 | 
						|
        'console_scripts': [
 | 
						|
            'searxng-run = searx.webapp:run',
 | 
						|
            'searxng-checker = searx.search.checker.__main__:main'
 | 
						|
        ]
 | 
						|
    },
 | 
						|
    package_data={
 | 
						|
        'searx': [
 | 
						|
            'settings.yml',
 | 
						|
            '*.toml',
 | 
						|
            '*.msg',
 | 
						|
            'search/checker/scheduler.lua',
 | 
						|
            'data/*.json',
 | 
						|
            'data/*.txt',
 | 
						|
            'data/*.ftz',
 | 
						|
            'favicons/*.toml',
 | 
						|
            'infopage/*/*',
 | 
						|
            'static/themes/simple/css/*',
 | 
						|
            'static/themes/simple/css/*/*',
 | 
						|
            'static/themes/simple/img/*',
 | 
						|
            'static/themes/simple/js/*',
 | 
						|
            'templates/*/*',
 | 
						|
            'templates/*/*/*',
 | 
						|
            'translations/*',
 | 
						|
            'translations/*/*',
 | 
						|
            'translations/*/*/*',
 | 
						|
        ],
 | 
						|
    },
 | 
						|
)
 |