[enh] container: build with uv (#5199)

This commit replaces `pip` in container builds with `uv` pip compat
with a 1:1 parity. The only thing that changes is the installation speed of the
wheels, which seems to be considerably faster, although I haven't been able to
properly quantify this yet.

uv also gives us more tools to manage the cache. We can revert the prior cache
changes in `container.yml` as we won't have duplicated wheels anymore.
This commit is contained in:
Ivan Gabaldon
2025-09-14 10:36:21 +02:00
committed by GitHub
parent 687121d584
commit a0d2ecf434
5 changed files with 46 additions and 67 deletions

View File

@@ -10,48 +10,45 @@ 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()]
requirements = [l.strip() for l in f.readlines()]
with open('requirements-dev.txt') as f:
dev_requirements = [ l.strip() for l in f.readlines()]
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",
description="SearXNG is a metasearch engine. Users are neither tracked nor profiled.",
long_description=long_description,
license="AGPL-3.0-or-later",
author='SearXNG',
author_email='contact@searxng.org',
python_requires=">=3.10",
version=VERSION_TAG,
keywords='metasearch searchengine search web http',
url=get_setting('brand.docs_url'),
project_urls={
"Code": GIT_URL,
"Issue tracker": get_setting('brand.issue_url')
},
classifiers=[
"Programming Language :: Python",
"Development Status :: 5 - Production/Stable",
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
'License :: OSI Approved :: GNU Affero General Public License v3'
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
],
keywords='metasearch searchengine search web http',
author='SearXNG dev team',
author_email='contact@searxng.org',
license='GNU Affero General Public License',
project_urls={"Code": GIT_URL, "Issue tracker": get_setting('brand.issue_url')},
entry_points={
'console_scripts': ['searxng-run = searx.webapp:run', 'searxng-checker = searx.search.checker.__main__:main']
},
packages=find_packages(
include=[
'searx', 'searx.*', 'searx.*.*', 'searx.*.*.*',
'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',
@@ -74,4 +71,6 @@ setup(
'translations/*/*/*',
],
},
install_requires=requirements,
extras_require={'test': dev_requirements},
)