1 Commits

Author SHA1 Message Date
searxng-bot 19cb234514 [l10n] update translations from Weblate
54de6653b - 2026-04-15 - AndersNordh <andersnordh@noreply.codeberg.org>
e410bed58 - 2026-04-15 - AndersNordh <andersnordh@noreply.codeberg.org>
2026-04-24 13:03:49 +00:00
95 changed files with 9214 additions and 10103 deletions
+8 -31
View File
@@ -24,13 +24,13 @@
"mathjs": "^15.2.0", "mathjs": "^15.2.0",
"sharp": "~0.34.5", "sharp": "~0.34.5",
"sort-package-json": "^3.6.1", "sort-package-json": "^3.6.1",
"stylelint": "^17.9.1", "stylelint": "^17.9.0",
"stylelint-config-standard-less": "^4.1.0", "stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3", "stylelint-prettier": "^5.0.3",
"svgo": "^4.0.1", "svgo": "^4.0.1",
"typescript": "~6.0.3", "typescript": "~6.0.3",
"vite": "^8.0.10", "vite": "^8.0.10",
"vite-bundle-analyzer": "^1.3.8" "vite-bundle-analyzer": "^1.3.7"
} }
}, },
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
@@ -417,29 +417,6 @@
"postcss-selector-parser": "^7.1.1" "postcss-selector-parser": "^7.1.1"
} }
}, },
"node_modules/@emnapi/core": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
"integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"@emnapi/wasi-threads": "1.2.1",
"tslib": "^2.4.0"
}
},
"node_modules/@emnapi/runtime": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
"integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
}
},
"node_modules/@emnapi/wasi-threads": { "node_modules/@emnapi/wasi-threads": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
@@ -4059,9 +4036,9 @@
} }
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "17.9.1", "version": "17.9.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.9.1.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.9.0.tgz",
"integrity": "sha512-THTmnAPJTrg/JhkTWZlSyrO+HUYMx6ELthIHeMyD2WOKqXIJUFQv2Yxn91bvUrZdbBJaW2dUuQdPST2wcQ6C3g==", "integrity": "sha512-xO0jeY6z1/urFL5L/BZLmB1yYlbRiRMQnYH6ArZIDWJ+SZXGssOY7XoYb1JIv/L220+EBnwwJXJS4Mt/F96SvA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -4623,9 +4600,9 @@
} }
}, },
"node_modules/vite-bundle-analyzer": { "node_modules/vite-bundle-analyzer": {
"version": "1.3.8", "version": "1.3.7",
"resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.8.tgz", "resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.7.tgz",
"integrity": "sha512-IIk7WPhoYs7pyo75jwI+dFt7yykgjK7NY+dqnJtiZnyqP2k6NgPb3TY80FLFjtgnfk/o+OjI18+anKyeviCbRA==", "integrity": "sha512-dYlW6iM0Gq7+uSEfXytDC+UjruUMgEKhXwQUbw4cJUgHA6FdEhpLgIrL5OZEyabrzVen0mZyfOSESyZ7nGyT8g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
+2 -2
View File
@@ -38,12 +38,12 @@
"mathjs": "^15.2.0", "mathjs": "^15.2.0",
"sharp": "~0.34.5", "sharp": "~0.34.5",
"sort-package-json": "^3.6.1", "sort-package-json": "^3.6.1",
"stylelint": "^17.9.1", "stylelint": "^17.9.0",
"stylelint-config-standard-less": "^4.1.0", "stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3", "stylelint-prettier": "^5.0.3",
"svgo": "^4.0.1", "svgo": "^4.0.1",
"typescript": "~6.0.3", "typescript": "~6.0.3",
"vite": "^8.0.10", "vite": "^8.0.10",
"vite-bundle-analyzer": "^1.3.8" "vite-bundle-analyzer": "^1.3.7"
} }
} }
-57
View File
@@ -1,57 +0,0 @@
.content {
width: 52em; /* instead of 46em */
}
p code.literal {
text-wrap: nowrap;
}
aside.sidebar {
border-color: lightsteelblue;
border-radius: 3pt;
}
p.sidebar-title, .sidebar p {
margin: 6pt;
}
.sidebar li,
.hlist li {
list-style-type: disclosure-closed;
}
.sphinxsidebar .current > a {
font-weight: bold;
}
/* admonitions with (rendered) reST markup examples (:class: rst-example)
*
* .. admonition:: title of the example
* :class: rst-example
* ....
*/
div.rst-example {
background-color: inherit;
margin: 0;
border-top: none;
border-right: 1px solid #ccc;
border-bottom: none;
border-left: none;
border-radius: none;
padding: 0;
}
div.rst-example > p.admonition-title {
font-family: Sans Serif;
font-style: italic;
font-size: 0.8em;
display: block;
border-bottom: 1px solid #ccc;
padding: 0.5em 1em;
text-align: right;
}
div.sphinx-tabs {
clear: both;
}
+151
View File
@@ -0,0 +1,151 @@
@import url("pocoo.css");
a, a.reference, a.footnote-reference {
color: #004b6b;
border-color: #004b6b;
}
a:hover {
color: #6d4100;
border-color: #6d4100;
}
p.version-warning {
background-color: #004b6b;
}
aside.sidebar {
background-color: whitesmoke;
border-color: lightsteelblue;
border-radius: 3pt;
}
div.sphinxsidebar p.caption {
display: none;
}
p.sidebar-title, .sidebar p {
margin: 6pt;
}
.sidebar li,
.hlist li {
list-style-type: disclosure-closed;
}
.sphinxsidebar .current > a {
font-weight: bold;
}
/* admonitions
*/
div.admonition, div.topic, nav.contents, div.toctree-wrapper {
background-color: #fafafa;
margin: 8px 0px;
padding: 1em;
border-radius: 3pt 0 0 3pt;
border-top: none;
border-right: none;
border-bottom: none;
border-left: 5pt solid #ccc;
list-style-type: disclosure-closed;
}
div.toctree-wrapper p.caption {
font-weight: normal;
font-size: 24px;
margin: 0 0 10px 0;
padding: 0;
line-height: 1;
display: inline;
}
p.admonition-title:after {
content: none;
}
.admonition.hint { border-color: #416dc0b0; }
.admonition.note { border-color: #6c856cb0; }
.admonition.tip { border-color: #85c5c2b0; }
.admonition.attention { border-color: #ecec97b0; }
.admonition.caution { border-color: #a6c677b0; }
.admonition.danger { border-color: #d46262b0; }
.admonition.important { border-color: #dfa3a3b0; }
.admonition.error { border-color: red; }
.admonition.warning { border-color: darkred; }
.admonition.admonition-generic-admonition-title {
border-color: #416dc0b0;
}
/* admonitions with (rendered) reST markup examples (:class: rst-example)
*
* .. admonition:: title of the example
* :class: rst-example
* ....
*/
div.rst-example {
background-color: inherit;
margin: 0;
border-top: none;
border-right: 1px solid #ccc;
border-bottom: none;
border-left: none;
border-radius: none;
padding: 0;
}
div.rst-example > p.admonition-title {
font-family: Sans Serif;
font-style: italic;
font-size: 0.8em;
display: block;
border-bottom: 1px solid #ccc;
padding: 0.5em 1em;
text-align: right;
}
/* code block in figures
*/
div.highlight pre {
text-align: left;
}
/* Table theme
*/
thead, tfoot {
background-color: #fff;
}
th:hover, td:hover {
background-color: #ffc;
}
thead th, tfoot th, tfoot td, tbody th {
background-color: #fffaef;
}
tbody tr:nth-child(odd) {
background-color: #fff;
}
tbody tr:nth-child(even) {
background-color: #fafafa;
}
caption {
font-family: Sans Serif;
padding: 0.5em;
margin: 0.5em 0 0.5em 0;
caption-side: top;
text-align: left;
}
div.sphinx-tabs {
clear: both;
}
+7
View File
@@ -0,0 +1,7 @@
[theme]
inherit = pocoo
stylesheet = searxng.css
[options]
touch_icon =
globaltoc_maxdepth = 5
+5
View File
@@ -4,6 +4,11 @@
Buildhosts Buildhosts
========== ==========
.. contents::
:depth: 2
:local:
:backlinks: entry
To get best results from build, it's recommend to install additional packages on To get best results from build, it's recommend to install additional packages on
build hosts (see :ref:`searxng.sh`). build hosts (see :ref:`searxng.sh`).
+5
View File
@@ -61,6 +61,11 @@ section might give you some guidance.
- `Apache Fedora`_ - `Apache Fedora`_
- `Apache directives`_ - `Apache directives`_
.. contents::
:depth: 2
:local:
:backlinks: entry
The Apache HTTP server The Apache HTTP server
====================== ======================
+6
View File
@@ -41,6 +41,12 @@ section might give you some guidance.
- `uWSGI support from nginx`_ - `uWSGI support from nginx`_
.. contents::
:depth: 2
:local:
:backlinks: entry
The nginx HTTP server The nginx HTTP server
===================== =====================
+6
View File
@@ -4,6 +4,12 @@
Step by step installation Step by step installation
========================= =========================
.. contents::
:depth: 2
:local:
:backlinks: entry
In this section we show the setup of a SearXNG instance that will be installed In this section we show the setup of a SearXNG instance that will be installed
by the :ref:`installation scripts`. by the :ref:`installation scripts`.
+6
View File
@@ -9,6 +9,12 @@ uWSGI
- `systemd.unit`_ - `systemd.unit`_
- `uWSGI Emperor`_ - `uWSGI Emperor`_
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html .. _systemd.unit: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
.. _One service per app in systemd: .. _One service per app in systemd:
https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd https://uwsgi-docs.readthedocs.io/en/latest/Systemd.html#one-service-per-app-in-systemd
+6
View File
@@ -8,6 +8,11 @@ Favicons
Don't activate the favicons before reading the documentation. Don't activate the favicons before reading the documentation.
.. contents::
:depth: 2
:local:
:backlinks: entry
Activating the favicons in SearXNG is very easy, but this **generates a Activating the favicons in SearXNG is very easy, but this **generates a
significantly higher load** in the client/server communication and increases significantly higher load** in the client/server communication and increases
resources needed on the server. resources needed on the server.
@@ -245,3 +250,4 @@ into the *proxy*:
.. _data URL: .. _data URL:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
.. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name .. _FQN: https://en.wikipedia.org/wiki/Fully_qualified_name
+5
View File
@@ -8,5 +8,10 @@ Limiter
The limiter requires a :ref:`Valkey <settings valkey>` database. The limiter requires a :ref:`Valkey <settings valkey>` database.
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.limiter .. automodule:: searx.limiter
:members: :members:
+5
View File
@@ -12,6 +12,11 @@ file.
- :ref:`use_default_settings.yml` - :ref:`use_default_settings.yml`
- :ref:`search API` - :ref:`search API`
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _settings location: .. _settings location:
settings.yml location settings.yml location
+6 -13
View File
@@ -102,18 +102,11 @@ The built-in plugins are all located in the namespace `searx.plugins`.
external plugins external plugins
================ ================
SearXNG supports :ref:`external plugins <dev plugin>` / there is no need to
install one, SearXNG runs out of the box.
`Only show green hosted results`_:
SearXNG plugin to check if a domain is part of the Green WEB.
`SearXNG BM25 Reranker`_:
SearXNG plugin that reranks search results using BM25 text relevance scoring
to improve search quality.
.. _Only show green hosted results: .. _Only show green hosted results:
https://github.com/return42/tgwf-searx-plugins/ https://github.com/return42/tgwf-searx-plugins/
.. _SearXNG BM25 Reranker: SearXNG supports *external plugins* / there is no need to install one, SearXNG
https://github.com/Oaklight/searxng-bm25-reranker runs out of the box.
- `Only show green hosted results`_
- ..
+5
View File
@@ -9,6 +9,11 @@ SearXNG maintenance
- :ref:`toolboxing` - :ref:`toolboxing`
- :ref:`uWSGI maintenance` - :ref:`uWSGI maintenance`
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _update searxng: .. _update searxng:
How to update How to update
+34 -41
View File
@@ -1,7 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
import os import sys, os
from pathlib import Path from pathlib import Path
from pallets_sphinx_themes import ProjectLink
from searx import get_setting from searx import get_setting
from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH from searx.version import VERSION_STRING, GIT_URL, GIT_BRANCH
@@ -97,6 +98,7 @@ extlinks['pull-searx'] = ('https://github.com/searx/searx/pull/%s', 'PR %s')
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s') extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://%s')
extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s') extlinks['patch'] = (GIT_URL + '/commit/%s', '#%s')
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s') extlinks['docs'] = (DOCS_URL + '/%s', 'docs: %s')
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: %s')
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s') extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '%s')
#extlinks['role'] = ( #extlinks['role'] = (
# 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '') # 'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
@@ -115,6 +117,7 @@ extensions = [
'sphinx.ext.viewcode', 'sphinx.ext.viewcode',
"sphinx.ext.autodoc", "sphinx.ext.autodoc",
"sphinx.ext.intersphinx", "sphinx.ext.intersphinx",
"pallets_sphinx_themes",
"sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst "sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
"sphinx_jinja", # https://github.com/tardyp/sphinx-jinja "sphinx_jinja", # https://github.com/tardyp/sphinx-jinja
"sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput "sphinxcontrib.programoutput", # https://github.com/NextThought/sphinxcontrib-programoutput
@@ -155,49 +158,15 @@ issues_github_path = "searxng/searxng"
# HTML ----------------------------------------------------------------- # HTML -----------------------------------------------------------------
html_theme = "furo"
html_theme_options = {
# link to project source at GitHub for editing and viewing docs code
"source_repository": "https://github.com/searxng/searxng/",
"source_branch": "master",
"source_directory": "docs/",
# Show link to repository & searx.space in footer
"footer_icons": [
{
"name": "GitHub",
"url": "https://github.com/searxng/searxng/",
"html": "&#x1F4BE;",
},
{
"name": "searx.space",
"url": "https://searx.space/",
"html": "&#x1F310;",
},
],
}
html_sidebars = {
"**": [
"sidebar/scroll-start.html",
"sidebar/brand.html",
"sidebar/search.html",
"sidebar/navigation.html",
"sidebar/ethical-ads.html",
"sidebar/scroll-end.html",
]
}
html_static_path = ['_static']
html_css_files = [
'searxng.css',
]
# https://searxng.github.io/searxng --> '/searxng/' # https://searxng.github.io/searxng --> '/searxng/'
# https://docs.searxng.org --> '/' # https://docs.searxng.org --> '/'
notfound_urls_prefix = '/' notfound_urls_prefix = '/'
sys.path.append(os.path.abspath('_themes'))
sys.path.insert(0, os.path.abspath("../"))
html_theme_path = ['_themes']
html_theme = "searxng"
# sphinx.ext.imgmath setup # sphinx.ext.imgmath setup
html_math_renderer = 'imgmath' html_math_renderer = 'imgmath'
imgmath_image_format = 'svg' imgmath_image_format = 'svg'
@@ -205,10 +174,34 @@ imgmath_font_size = 14
# sphinx.ext.imgmath setup END # sphinx.ext.imgmath setup END
html_show_sphinx = False html_show_sphinx = False
html_theme_options = {"index_sidebar_logo": True}
html_context = {"project_links": [] }
html_context["project_links"].append(ProjectLink("Source", GIT_URL + '/tree/' + GIT_BRANCH))
if WIKI_URL:
html_context["project_links"].append(ProjectLink("Wiki", WIKI_URL))
if PUBLIC_INSTANCES:
html_context["project_links"].append(ProjectLink("Public instances", PUBLIC_INSTANCES))
if ISSUE_URL:
html_context["project_links"].append(ProjectLink("Issue Tracker", ISSUE_URL))
if PRIVACYPOLICY_URL:
html_context["project_links"].append(ProjectLink("Privacy Policy", PRIVACYPOLICY_URL))
if CONTACT_URL:
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
html_sidebars = {
"**": [
"globaltoc.html",
"project.html",
"relations.html",
"searchbox.html",
"sourcelink.html"
],
}
singlehtml_sidebars = {"index": ["project.html", "localtoc.html"]}
html_logo = "../client/simple/src/brand/searxng-wordmark.svg" html_logo = "../client/simple/src/brand/searxng-wordmark.svg"
html_title = "SearXNG Documentation ({})".format(VERSION_STRING) html_title = "SearXNG Documentation ({})".format(VERSION_STRING)
html_show_sourcelink = True html_show_sourcelink = True
html_copy_source = True
# LaTeX ---------------------------------------------------------------- # LaTeX ----------------------------------------------------------------
+5
View File
@@ -4,6 +4,11 @@
How to contribute How to contribute
================= =================
.. contents::
:depth: 2
:local:
:backlinks: entry
Prime directives: Privacy, Hackability Prime directives: Privacy, Hackability
====================================== ======================================
+5
View File
@@ -4,6 +4,11 @@
Demo Offline Engine Demo Offline Engine
=================== ===================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.demo_offline .. automodule:: searx.engines.demo_offline
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
Demo Online Engine Demo Online Engine
================== ==================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.demo_online .. automodule:: searx.engines.demo_online
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
Engine Overview Engine Overview
=============== ===============
.. contents::
:depth: 3
:local:
:backlinks: entry
.. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine .. _metasearch-engine: https://en.wikipedia.org/wiki/Metasearch_engine
.. sidebar:: Further reading .. .. sidebar:: Further reading ..
+6
View File
@@ -4,6 +4,12 @@
Engine Implementations Engine Implementations
====================== ======================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. toctree:: .. toctree::
:caption: Framework Components :caption: Framework Components
:maxdepth: 2 :maxdepth: 2
+5
View File
@@ -4,5 +4,10 @@
JSON Engine JSON Engine
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.json_engine .. automodule:: searx.engines.json_engine
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
MediaWiki Engine MediaWiki Engine
================ ================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.mediawiki .. automodule:: searx.engines.mediawiki
:members: :members:
@@ -9,6 +9,11 @@ Command Line Engines
- :origin:`command.py <searx/engines/command.py>` - :origin:`command.py <searx/engines/command.py>`
- :ref:`offline engines` - :ref:`offline engines`
.. contents::
:depth: 2
:local:
:backlinks: entry
.. sidebar:: info .. sidebar:: info
Initial sponsored by `Search and Discovery Fund Initial sponsored by `Search and Discovery Fund
+12 -7
View File
@@ -6,16 +6,21 @@ NoSQL databases
.. sidebar:: further read .. sidebar:: further read
- `NoSQL database <https://en.wikipedia.org/wiki/NoSQL>`_ - `NoSQL databases <https://en.wikipedia.org/wiki/NoSQL>`_
- `valkey.io <https://valkey.io/>`_ - `valkey.io <https://valkey.io/>`_
- `MongoDB <https://www.mongodb.com>`_ - `MongoDB <https://www.mongodb.com>`_
.. contents::
:depth: 2
:local:
:backlinks: entry
.. sidebar:: info .. sidebar:: info
Initial sponsored by `Search and Discovery Fund Initial sponsored by `Search and Discovery Fund
<https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_. <https://nlnet.nl/discovery>`_ of `NLnet Foundation <https://nlnet.nl/>`_.
The following `NoSQL database`_ are supported: The following `NoSQL databases`_ are supported:
- :ref:`engine valkey_server` - :ref:`engine valkey_server`
- :ref:`engine mongodb` - :ref:`engine mongodb`
@@ -52,7 +57,7 @@ instance. To switch into the environment (:ref:`searxng-src`) you can use
Configure the engines Configure the engines
===================== =====================
`NoSQL database`_ are used for storing arbitrary data without first defining `NoSQL databases`_ are used for storing arbitrary data without first defining
their structure. their structure.
@@ -70,13 +75,13 @@ Valkey Server
- :origin:`valkey_server.py <searx/engines/valkey_server.py>` - :origin:`valkey_server.py <searx/engines/valkey_server.py>`
.. automodule:: searx.engines.valkey_server .. automodule:: searx.engines.valkey_server
:members: :members:
.. _engine mongodb: .. _engine mongodb:
MongoDB / PyMongo MongoDB
----------------- -------
.. _pymongo: https://github.com/mongodb/mongo-python-driver#installation .. _pymongo: https://github.com/mongodb/mongo-python-driver#installation
@@ -88,4 +93,4 @@ MongoDB / PyMongo
.. automodule:: searx.engines.mongodb .. automodule:: searx.engines.mongodb
:members: :members:
@@ -7,6 +7,11 @@ Local Search APIs
- `Comparison to alternatives - `Comparison to alternatives
<https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_ <https://docs.meilisearch.com/learn/what_is_meilisearch/comparison_to_alternatives.html>`_
.. contents::
:depth: 1
:local:
:backlinks: entry
.. sidebar:: info .. sidebar:: info
Initial sponsored by `Search and Discovery Fund Initial sponsored by `Search and Discovery Fund
@@ -32,8 +37,8 @@ in section :ref:`private engines`.
.. _engine meilisearch: .. _engine meilisearch:
MeiliSearch Engine MeiliSearch
================== ===========
.. automodule:: searx.engines.meilisearch .. automodule:: searx.engines.meilisearch
:members: :members:
@@ -41,16 +46,17 @@ MeiliSearch Engine
.. _engine elasticsearch: .. _engine elasticsearch:
Elasticsearch Engine Elasticsearch
==================== =============
.. automodule:: searx.engines.elasticsearch .. automodule:: searx.engines.elasticsearch
:members: :members:
.. _engine solr: .. _engine solr:
Solr Engine Solr
=========== ====
.. automodule:: searx.engines.solr .. automodule:: searx.engines.solr
:members: :members:
+5
View File
@@ -10,6 +10,11 @@ SQL Engines
- `PostgreSQL <https://www.postgresql.org>`_ - `PostgreSQL <https://www.postgresql.org>`_
- `MySQL <https://www.mysql.com>`_ - `MySQL <https://www.mysql.com>`_
.. contents::
:depth: 2
:local:
:backlinks: entry
.. sidebar:: info .. sidebar:: info
Initial sponsored by `Search and Discovery Fund Initial sponsored by `Search and Discovery Fund
+5
View File
@@ -4,5 +4,10 @@
Adobe Stock Adobe Stock
=========== ===========
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.adobe_stock .. automodule:: searx.engines.adobe_stock
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Alpine Linux Packages Alpine Linux Packages
===================== =====================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.alpinelinux .. automodule:: searx.engines.alpinelinux
:members: :members:
@@ -4,5 +4,10 @@
Anna's Archive Anna's Archive
============== ==============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.annas_archive .. automodule:: searx.engines.annas_archive
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
Arch Linux Arch Linux
========== ==========
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.archlinux .. automodule:: searx.engines.archlinux
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Bing Engines Bing Engines
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _bing web engine: .. _bing web engine:
Bing WEB Bing WEB
+5
View File
@@ -4,5 +4,10 @@
Bpb Bpb
=== ===
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.bpb .. automodule:: searx.engines.bpb
:members: :members:
+5
View File
@@ -2,6 +2,11 @@
Brave Engines Brave Engines
============= =============
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
Brave offers two different engines for SearXNG: Brave offers two different engines for SearXNG:
1. The standard engine (``brave``) uses the web interface. 1. The standard engine (``brave``) uses the web interface.
+5
View File
@@ -4,6 +4,11 @@
BT4G BT4G
==== ====
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.bt4g .. automodule:: searx.engines.bt4g
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
CORE CORE
==== ====
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.core .. automodule:: searx.engines.core
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Dailymotion Dailymotion
=========== ===========
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.dailymotion .. automodule:: searx.engines.dailymotion
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
DuckDuckGo Engines DuckDuckGo Engines
================== ==================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.duckduckgo .. automodule:: searx.engines.duckduckgo
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Google Engines Google Engines
============== ==============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _google API: .. _google API:
Google API Google API
+5
View File
@@ -4,5 +4,10 @@
Lemmy Lemmy
===== =====
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.lemmy .. automodule:: searx.engines.lemmy
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Library of Congress Library of Congress
=================== ===================
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.loc .. automodule:: searx.engines.loc
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Mastodon Mastodon
======== ========
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.mastodon .. automodule:: searx.engines.mastodon
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Moviepilot Moviepilot
========== ==========
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.moviepilot .. automodule:: searx.engines.moviepilot
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Matrix Rooms Search (MRS) Matrix Rooms Search (MRS)
========================= =========================
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.mrs .. automodule:: searx.engines.mrs
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Mwmbl Engine Mwmbl Engine
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _mwmbl web engine: .. _mwmbl web engine:
Mwmbl WEB Mwmbl WEB
+5
View File
@@ -4,5 +4,10 @@
Odysee Odysee
====== ======
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.odysee .. automodule:: searx.engines.odysee
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Peertube Engines Peertube Engines
================ ================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _peertube video engine: .. _peertube video engine:
Peertube Video Peertube Video
+5
View File
@@ -4,5 +4,10 @@
Piped Piped
===== =====
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.piped .. automodule:: searx.engines.piped
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Presearch Engine Presearch Engine
================ ================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.presearch .. automodule:: searx.engines.presearch
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Qwant Qwant
===== =====
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.qwant .. automodule:: searx.engines.qwant
:members: :members:
@@ -4,5 +4,10 @@
RadioBrowser RadioBrowser
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.radio_browser .. automodule:: searx.engines.radio_browser
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Recoll Engine Recoll Engine
============= =============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.recoll .. automodule:: searx.engines.recoll
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Soundcloud Soundcloud
========== ==========
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.soundcloud .. automodule:: searx.engines.soundcloud
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Startpage Engines Startpage Engines
================= =================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.startpage .. automodule:: searx.engines.startpage
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Tagesschau API Tagesschau API
============== ==============
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.tagesschau .. automodule:: searx.engines.tagesschau
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Torznab WebAPI Torznab WebAPI
============== ==============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.torznab .. automodule:: searx.engines.torznab
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Void Linux binary packages Void Linux binary packages
========================== ==========================
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.voidlinux .. automodule:: searx.engines.voidlinux
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Wallhaven Wallhaven
========= =========
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.wallhaven .. automodule:: searx.engines.wallhaven
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Wikimedia Wikimedia
========= =========
.. contents::
:depth: 2
:local:
:backlinks: entry
.. _wikipedia engine: .. _wikipedia engine:
Wikipedia Wikipedia
+5
View File
@@ -4,5 +4,10 @@
Yacy Yacy
==== ====
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.yacy .. automodule:: searx.engines.yacy
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Yahoo Engine Yahoo Engine
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.yahoo .. automodule:: searx.engines.yahoo
:members: :members:
+5
View File
@@ -4,5 +4,10 @@
Z-Library Z-Library
========= =========
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.zlibrary .. automodule:: searx.engines.zlibrary
:members: :members:
@@ -4,6 +4,11 @@
Tineye Tineye
====== ======
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.tineye .. automodule:: searx.engines.tineye
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
XPath Engine XPath Engine
============ ============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.engines.xpath .. automodule:: searx.engines.xpath
:members: :members:
+5
View File
@@ -19,6 +19,11 @@ Makefiles, we recommend to read gnu-make_ introduction.
To install developer requirements follow :ref:`buildhosts`. To install developer requirements follow :ref:`buildhosts`.
.. contents::
:depth: 2
:local:
:backlinks: entry
The usage is simple, just type ``make {target-name}`` to *build* a target. The usage is simple, just type ``make {target-name}`` to *build* a target.
Calling the ``help`` target gives a first overview (``make help``): Calling the ``help`` target gives a first overview (``make help``):
+6
View File
@@ -36,6 +36,12 @@ docs.live <make docs.live>` to build HTML while editing.
- SVG_, ImageMagick_ - SVG_, ImageMagick_
- DOT_, `Graphviz's dot`_, Graphviz_ - DOT_, `Graphviz's dot`_, Graphviz_
.. contents::
:depth: 3
:local:
:backlinks: entry
Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is Sphinx_ and reST_ have their place in the python ecosystem. Over that reST is
used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_. used in popular projects, e.g the Linux kernel documentation `[kernel doc]`_.
+5
View File
@@ -14,6 +14,11 @@ type of a result is defined by the :py:obj:`result_type.Result.template`. To
set another media-type as :ref:`template default`, the field ``template`` set another media-type as :ref:`template default`, the field ``template``
in the result item must be set to the desired type. in the result item must be set to the desired type.
.. contents:: Contents
:depth: 2
:local:
:backlinks: entry
.. _result template macros: .. _result template macros:
+5
View File
@@ -7,6 +7,11 @@ Why use a private instance?
\.\.\.is a common question among SearXNG users. Before answering this \.\.\.is a common question among SearXNG users. Before answering this
question, see what options a SearXNG user has. question, see what options a SearXNG user has.
.. contents::
:depth: 2
:local:
:backlinks: entry
Public instances are open to everyone who has access to their URL. Usually, they Public instances are open to everyone who has access to their URL. Usually, they
are operated by unknown parties (from the users' point of view). Private are operated by unknown parties (from the users' point of view). Private
instances can be used by a select group of people, such as a SearXNG instance for a instances can be used by a select group of people, such as a SearXNG instance for a
+5
View File
@@ -4,6 +4,11 @@
Bot Detection Bot Detection
============= =============
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.botdetection .. automodule:: searx.botdetection
:members: :members:
+8
View File
@@ -4,6 +4,11 @@
Favicons (source) Favicons (source)
================= =================
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.favicons .. automodule:: searx.favicons
:members: :members:
@@ -38,3 +43,6 @@ Favicons Cache
.. automodule:: searx.favicons.cache .. automodule:: searx.favicons.cache
:members: :members:
+5
View File
@@ -4,6 +4,11 @@
Locales Locales
======= =======
.. contents::
:depth: 2
:local:
:backlinks: entry
.. automodule:: searx.locales .. automodule:: searx.locales
:members: :members:
+6
View File
@@ -4,6 +4,12 @@
Search processors Search processors
================= =================
.. contents::
:depth: 2
:local:
:backlinks: entry
Abstract processor class Abstract processor class
======================== ========================
+5
View File
@@ -22,6 +22,11 @@ Configured Engines
called *tabs*), engines can be queried by their name or the categories they called *tabs*), engines can be queried by their name or the categories they
belong to, by using a :ref:`\!bing syntax <search-syntax>`. belong to, by using a :ref:`\!bing syntax <search-syntax>`.
.. contents::
:depth: 2
:local:
:backlinks: entry
.. jinja:: searx .. jinja:: searx
{% for category, engines in categories_as_tabs.items() %} {% for category, engines in categories_as_tabs.items() %}
+5
View File
@@ -2,6 +2,11 @@
User information User information
================ ================
.. contents::
:depth: 3
:local:
:backlinks: entry
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
+6
View File
@@ -15,6 +15,12 @@ script :origin:`utils/searxng.sh`.
- :ref:`installation nginx` - :ref:`installation nginx`
- :ref:`installation apache` - :ref:`installation apache`
.. contents::
:depth: 2
:local:
:backlinks: entry
Install Install
======= =======
+7 -9
View File
@@ -5,24 +5,22 @@ black==25.9.0
pylint==4.0.5 pylint==4.0.5
splinter==0.21.0 splinter==0.21.0
selenium==4.43.0 selenium==4.43.0
Sphinx==8.2.3;python_version <= "3.11" Pallets-Sphinx-Themes==2.5.0
Sphinx==9.1.0; python_version > "3.11" Sphinx==8.2.3
sphinx-issues==6.0.0 sphinx-issues==6.0.0
sphinx-jinja==2.0.2 sphinx-jinja==2.0.2
sphinx-tabs==3.5.0 sphinx-tabs==3.5.0
furo==2025.12.19
sphinxcontrib-programoutput==0.19 sphinxcontrib-programoutput==0.19
sphinx-autobuild==2025.8.25 sphinx-autobuild==2025.8.25
sphinx-notfound-page==1.1.0 sphinx-notfound-page==1.1.0
myst-parser==5.0.0 myst-parser==5.0.0
linuxdoc==20260504 linuxdoc==20240924
aiounittest==1.5.0 aiounittest==1.5.0
yamllint==1.38.0 yamllint==1.38.0
wlc==2.0.0 wlc==1.17.2
coloredlogs==15.0.1 coloredlogs==15.0.1
docutils>=0.21.2;python_version <= "3.11" docutils>=0.21.2
docutils>=0.22.4; python_version > "3.11"
parameterized==0.9.0 parameterized==0.9.0
granian[reload]==2.7.4 granian[reload]==2.7.3
basedpyright==1.39.3 basedpyright==1.39.2
types-lxml==2026.2.16 types-lxml==2026.2.16
+2 -2
View File
@@ -1,2 +1,2 @@
granian==2.7.4 granian==2.7.3
granian[pname]==2.7.4 granian[pname]==2.7.3
+3 -3
View File
@@ -1,9 +1,9 @@
certifi==2026.4.22 certifi==2026.2.25
babel==2.18.0 babel==2.18.0
flask-babel==4.0.0 flask-babel==4.0.0
flask==3.1.3 flask==3.1.3
jinja2==3.1.6 jinja2==3.1.6
lxml==6.1.0 lxml==6.0.4
pygments==2.20.0 pygments==2.20.0
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
pyyaml==6.0.3 pyyaml==6.0.3
@@ -13,7 +13,7 @@ sniffio==1.3.1
valkey==6.1.1 valkey==6.1.1
markdown-it-py==4.0.0 markdown-it-py==4.0.0
msgspec==0.21.1 msgspec==0.21.1
typer==0.25.1 typer==0.24.1
isodate==0.7.2 isodate==0.7.2
whitenoise==6.12.0 whitenoise==6.12.0
typing-extensions==4.15.0 typing-extensions==4.15.0
File diff suppressed because it is too large Load Diff
+27 -34
View File
@@ -33,7 +33,7 @@
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ", "pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
"pl": "korona czeska", "pl": "korona czeska",
"pt": "coroa checa", "pt": "coroa checa",
"ro": "coroană cehă", "ro": "Coroană cehă",
"ru": "чешская крона", "ru": "чешская крона",
"sk": "česká koruna", "sk": "česká koruna",
"sl": "češka krona", "sl": "češka krona",
@@ -1164,7 +1164,7 @@
"pa": "ਸਵਿੱਸ ਫ਼ਰਾਂਕ", "pa": "ਸਵਿੱਸ ਫ਼ਰਾਂਕ",
"pl": "frank szwajcarski", "pl": "frank szwajcarski",
"pt": "Franco suíço", "pt": "Franco suíço",
"ro": "franc elvețian", "ro": "Franc elvețian",
"ru": "швейцарский франк", "ru": "швейцарский франк",
"sk": "Švajčiarsky frank", "sk": "Švajčiarsky frank",
"sl": "švicarski frank", "sl": "švicarski frank",
@@ -1484,7 +1484,7 @@
"pa": "ਚੈੱਕ ਕੋਰੂਨਾ", "pa": "ਚੈੱਕ ਕੋਰੂਨਾ",
"pl": "korona czeska", "pl": "korona czeska",
"pt": "coroa checa", "pt": "coroa checa",
"ro": "coroană cehă", "ro": "Coroană cehă",
"ru": "чешская крона", "ru": "чешская крона",
"sk": "česká koruna", "sk": "česká koruna",
"sl": "češka krona", "sl": "češka krona",
@@ -1807,7 +1807,7 @@
"pap": "Euro", "pap": "Euro",
"pl": "euro", "pl": "euro",
"pt": "Euro", "pt": "Euro",
"ro": "euro", "ro": "Euro",
"ru": "евро", "ru": "евро",
"sk": "euro", "sk": "euro",
"sl": "evro", "sl": "evro",
@@ -1941,7 +1941,7 @@
"tr": "İngiliz sterlini", "tr": "İngiliz sterlini",
"tt": "стерлинг фунты", "tt": "стерлинг фунты",
"uk": "фунт стерлінгів", "uk": "фунт стерлінгів",
"vi": "bảng Anh" "vi": "Bảng Anh"
}, },
"GEL": { "GEL": {
"ar": "لاري جورجي", "ar": "لاري جورجي",
@@ -2627,7 +2627,7 @@
"pa": "ਆਈਸਲੈਂਡੀ ਕਰੋਨਾ", "pa": "ਆਈਸਲੈਂਡੀ ਕਰੋਨਾ",
"pl": "Korona islandzka", "pl": "Korona islandzka",
"pt": "coroa islandesa", "pt": "coroa islandesa",
"ro": "coroană islandeză", "ro": "Coroană islandeză",
"ru": "исландская крона", "ru": "исландская крона",
"sk": "Islandská koruna", "sk": "Islandská koruna",
"sl": "islandska krona", "sl": "islandska krona",
@@ -2827,7 +2827,7 @@
"pa": "ਕਿਰਗਿਜ਼ਸਤਾਨੀ ਸੋਮ", "pa": "ਕਿਰਗਿਜ਼ਸਤਾਨੀ ਸੋਮ",
"pl": "som", "pl": "som",
"pt": "som", "pt": "som",
"ro": "som", "ro": "som kîrgîz",
"ru": "киргизский сом", "ru": "киргизский сом",
"sk": "kyrgyzský som", "sk": "kyrgyzský som",
"sl": "kirgiški som", "sl": "kirgiški som",
@@ -3516,7 +3516,6 @@
"en": "kyat", "en": "kyat",
"eo": "birma kjato", "eo": "birma kjato",
"es": "Kyat birmano", "es": "Kyat birmano",
"eu": "kyat",
"fi": "Myanmarin kyat", "fi": "Myanmarin kyat",
"fr": "Kyat", "fr": "Kyat",
"ga": "kyat Mhaenmar", "ga": "kyat Mhaenmar",
@@ -3577,7 +3576,7 @@
"sk": "Mongolský tugrik", "sk": "Mongolský tugrik",
"sl": "tugrik", "sl": "tugrik",
"sr": "монголски тугрик", "sr": "монголски тугрик",
"sv": "mongolisk tögrög", "sv": "Mongolisk Tögrög",
"th": "ทูกรีก", "th": "ทูกรีก",
"tr": "Tögrög", "tr": "Tögrög",
"tt": "төгрөг", "tt": "төгрөг",
@@ -4128,7 +4127,7 @@
"oc": "Dolar neozelandés", "oc": "Dolar neozelandés",
"pl": "dolar nowozelandzki", "pl": "dolar nowozelandzki",
"pt": "dólar neozelandês", "pt": "dólar neozelandês",
"ro": "dolar neozeelandez", "ro": "Dolar neozeelandez",
"ru": "новозеландский доллар", "ru": "новозеландский доллар",
"sk": "Novozélandský dolár", "sk": "Novozélandský dolár",
"sl": "novozelandski dolar", "sl": "novozelandski dolar",
@@ -4227,7 +4226,7 @@
"es": "sol", "es": "sol",
"eu": "Sol", "eu": "Sol",
"fi": "Perun nuevo sol", "fi": "Perun nuevo sol",
"fr": "sol", "fr": "nouveau sol",
"ga": "nuevo sol Pheiriú", "ga": "nuevo sol Pheiriú",
"gl": "Nuevo sol", "gl": "Nuevo sol",
"he": "סול", "he": "סול",
@@ -4235,7 +4234,7 @@
"hu": "perui új sol", "hu": "perui új sol",
"id": "Nuevo Sol", "id": "Nuevo Sol",
"it": "Nuevo Sol peruviano", "it": "Nuevo Sol peruviano",
"ja": "ソル", "ja": "ヌエボ・ソル",
"ko": "페루 솔", "ko": "페루 솔",
"lt": "Naujasis solis", "lt": "Naujasis solis",
"lv": "Peru sols", "lv": "Peru sols",
@@ -4527,7 +4526,7 @@
"nl": "Qatarese rial", "nl": "Qatarese rial",
"oc": "Riyal qatarita", "oc": "Riyal qatarita",
"pa": "ਕਤਰੀ ਰਿਆਲ", "pa": "ਕਤਰੀ ਰਿਆਲ",
"pl": "Rial katarski", "pl": "Rial Kataru",
"pt": "Rial catarense", "pt": "Rial catarense",
"ru": "катарский риал", "ru": "катарский риал",
"sk": "katarský rijál", "sk": "katarský rijál",
@@ -5572,7 +5571,6 @@
"en": "Tanzanian shilling", "en": "Tanzanian shilling",
"eo": "tanzania ŝilingo", "eo": "tanzania ŝilingo",
"es": "chelín tanzano", "es": "chelín tanzano",
"eu": "Txelin tanzaniar",
"fi": "Tansanian šillinki", "fi": "Tansanian šillinki",
"fr": "shilling tanzanien", "fr": "shilling tanzanien",
"ga": "scilling na Tansáine", "ga": "scilling na Tansáine",
@@ -5816,8 +5814,8 @@
"uk": "узбецький сом" "uk": "узбецький сом"
}, },
"VED": { "VED": {
"en": "digital bolívar", "en": "Digital bolívar",
"es": "bolívar digital", "es": "Bolívar digital",
"fr": "bolivar numérique", "fr": "bolivar numérique",
"pt": "Bolívar digital", "pt": "Bolívar digital",
"ro": "Bolivar digital" "ro": "Bolivar digital"
@@ -6578,7 +6576,7 @@
"Rs": "LKR", "Rs": "LKR",
"R₣": "RWF", "R₣": "RWF",
"S$": "SGD", "S$": "SGD",
"S/": "PEN", "S/.": "PEN",
"SI$": "SBD", "SI$": "SBD",
"SM": "TJS", "SM": "TJS",
"SR": "SAR", "SR": "SAR",
@@ -8733,6 +8731,7 @@
"franc djiboutià": "DJF", "franc djiboutià": "DJF",
"franc djiboutien": "DJF", "franc djiboutien": "DJF",
"franc elvețian": "CHF", "franc elvețian": "CHF",
"franc elveţian": "CHF",
"franc guinea": "GNF", "franc guinea": "GNF",
"franc guinean": "GNF", "franc guinean": "GNF",
"franc guineà": "GNF", "franc guineà": "GNF",
@@ -8760,7 +8759,6 @@
"franc switze": "CHF", "franc switze": "CHF",
"franc thụy sĩ": "CHF", "franc thụy sĩ": "CHF",
"franchi svizzeri": "CHF", "franchi svizzeri": "CHF",
"franci elvețieni": "CHF",
"franco": [ "franco": [
"XPF", "XPF",
"XAF", "XAF",
@@ -9725,13 +9723,11 @@
"kwd": "KWD", "kwd": "KWD",
"kwt": "KWD", "kwt": "KWD",
"kyat": "MMK", "kyat": "MMK",
"kyat birmaniar": "MMK",
"kyat birmano": "MMK", "kyat birmano": "MMK",
"kyat birmà": "MMK", "kyat birmà": "MMK",
"kyat mhaenmar": "MMK", "kyat mhaenmar": "MMK",
"kyat myanma": "MMK", "kyat myanma": "MMK",
"kyat myanmar": "MMK", "kyat myanmar": "MMK",
"kyat myanmartar": "MMK",
"kyd": "KYD", "kyd": "KYD",
"kyrgyz som": "KGS", "kyrgyz som": "KGS",
"kyrgyzský som": "KGS", "kyrgyzský som": "KGS",
@@ -11152,7 +11148,6 @@
"pyg": "PYG", "pyg": "PYG",
"pумънски лей": "RON", "pумънски лей": "RON",
"pумынский лей": "RON", "pумынский лей": "RON",
"q8146": "JPY",
"qar": "QAR", "qar": "QAR",
"qatar riyal": "QAR", "qatar riyal": "QAR",
"qatarese rial": "QAR", "qatarese rial": "QAR",
@@ -11264,6 +11259,7 @@
"rial irański": "IRR", "rial irański": "IRR",
"rial jemeński": "YER", "rial jemeński": "YER",
"rial katarski": "QAR", "rial katarski": "QAR",
"rial kataru": "QAR",
"rial na hiaráine": "IRR", "rial na hiaráine": "IRR",
"rial oman": "OMR", "rial oman": "OMR",
"rial omanais": "OMR", "rial omanais": "OMR",
@@ -11836,7 +11832,6 @@
"sol peruano": "PEN", "sol peruano": "PEN",
"sol peruviano": "PEN", "sol peruviano": "PEN",
"sol perú": "PEN", "sol perú": "PEN",
"sol péruvien": "PEN",
"solomon adaları doları": "SBD", "solomon adaları doları": "SBD",
"solomon dollar": "SBD", "solomon dollar": "SBD",
"solomon islands dollar": "SBD", "solomon islands dollar": "SBD",
@@ -11851,7 +11846,6 @@
"som de l'uzbekistan": "UZS", "som de l'uzbekistan": "UZS",
"som del kirguizistan": "KGS", "som del kirguizistan": "KGS",
"som do quirguistão": "KGS", "som do quirguistão": "KGS",
"som kârgâz": "KGS",
"som kirghiso": "KGS", "som kirghiso": "KGS",
"som kirghiz": "KGS", "som kirghiz": "KGS",
"som kirghizo": "KGS", "som kirghizo": "KGS",
@@ -12160,7 +12154,6 @@
"INR", "INR",
"BDT" "BDT"
], ],
"taka 12272": "BDT",
"taka bangladese": "BDT", "taka bangladese": "BDT",
"taka bangladesh": "BDT", "taka bangladesh": "BDT",
"taka bangladeshi": "BDT", "taka bangladeshi": "BDT",
@@ -12426,7 +12419,6 @@
"CZK", "CZK",
"203" "203"
], ],
"txelin tanzaniar": "TZS",
"tyrkisk lira": "TRY", "tyrkisk lira": "TRY",
"tzs": "TZS", "tzs": "TZS",
"ṭākā": "BDT", "ṭākā": "BDT",
@@ -12528,6 +12520,7 @@
"uruguayischer peso": "UYU", "uruguayischer peso": "UYU",
"uruguayn peso": "UYU", "uruguayn peso": "UYU",
"uruguayské peso": "UYU", "uruguayské peso": "UYU",
"uruguyansk peso": "UYU",
"urugvaja peso": "UYU", "urugvaja peso": "UYU",
"urugvajaus pesas": "UYU", "urugvajaus pesas": "UYU",
"urugvajski peso": "UYU", "urugvajski peso": "UYU",
@@ -15731,7 +15724,6 @@
"지부티프랑": "DJF", "지부티프랑": "DJF",
"지브롤터 파운드": "GIP", "지브롤터 파운드": "GIP",
"짐바브웨 골드": "ZWG", "짐바브웨 골드": "ZWG",
"짐바브웨 달러": "ZWL",
"짯": "MMK", "짯": "MMK",
"챠트": "MMK", "챠트": "MMK",
"체코 코루나": [ "체코 코루나": [
@@ -15829,7 +15821,10 @@
"STN", "STN",
"CRC" "CRC"
], ],
"₣": "XPF", "₣": [
"XPF",
"RWF"
],
"₤": "GBP", "₤": "GBP",
"₦": "NGN", "₦": "NGN",
"₨": [ "₨": [
@@ -15862,9 +15857,6 @@
"⃀": "KGS", "⃀": "KGS",
"⃁": "SAR", "⃁": "SAR",
"⃂": "MVR", "⃂": "MVR",
"⃃": "AED",
"⃄": "OMR",
"⃅": "BYN",
"〒": "KZT", "〒": "KZT",
"アイスランドクローナ": "ISK", "アイスランドクローナ": "ISK",
"アイスランド・クローナ": "ISK", "アイスランド・クローナ": "ISK",
@@ -16006,7 +15998,6 @@
"ソマリア・シリング": "SOS", "ソマリア・シリング": "SOS",
"ソム": "KGS", "ソム": "KGS",
"ソモニ": "TJS", "ソモニ": "TJS",
"ソル": "PEN",
"ソロモン諸島ドル": "SBD", "ソロモン諸島ドル": "SBD",
"ソロモン諸島・ドル": "SBD", "ソロモン諸島・ドル": "SBD",
"ダラシ": "GMD", "ダラシ": "GMD",
@@ -16198,8 +16189,10 @@
"香港ドル": "HKD", "香港ドル": "HKD",
"香港・ドル": "HKD", "香港・ドル": "HKD",
"香港元": "HKD", "香港元": "HKD",
"﷼": "IRR", "﷼": [
"﷼'": "YER", "YER",
"💶": "EUR" "IRR"
],
"﷼'": "YER"
} }
} }
File diff suppressed because it is too large Load Diff
-3
View File
@@ -7280,7 +7280,6 @@
"hu": "hungarian", "hu": "hungarian",
"hy": "armenian", "hy": "armenian",
"id": "indonesian", "id": "indonesian",
"ig": "igbo",
"is": "icelandic", "is": "icelandic",
"it": "italian", "it": "italian",
"ja": "japanese", "ja": "japanese",
@@ -7336,7 +7335,6 @@
"ta": "tamil", "ta": "tamil",
"te": "telugu", "te": "telugu",
"th": "thai", "th": "thai",
"ti": "tigrinya",
"tk": "turkmen", "tk": "turkmen",
"tr": "turkish", "tr": "turkish",
"tt": "tatar", "tt": "tatar",
@@ -7344,7 +7342,6 @@
"ur": "urdu", "ur": "urdu",
"uz": "uzbek", "uz": "uzbek",
"vi": "vietnamese", "vi": "vietnamese",
"wo": "wolof",
"xh": "xhosa", "xh": "xhosa",
"yi": "yiddish", "yi": "yiddish",
"yo": "yoruba", "yo": "yoruba",
File diff suppressed because it is too large Load Diff
+2661 -2286
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -5,7 +5,7 @@
], ],
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}", "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [ "versions": [
"150.0", "149.0",
"149.0" "148.0"
] ]
} }
+158 -333
View File
@@ -194,11 +194,6 @@
"symbol": "cm⁻³", "symbol": "cm⁻³",
"to_si_factor": 1000000.0 "to_si_factor": 1000000.0
}, },
"Q102129592": {
"si_name": "Q6137407",
"symbol": "d⁻¹",
"to_si_factor": 1.15741e-05
},
"Q102130673": { "Q102130673": {
"si_name": "Q182429", "si_name": "Q182429",
"symbol": "ym/s", "symbol": "ym/s",
@@ -434,11 +429,6 @@
"symbol": "mtpa", "symbol": "mtpa",
"to_si_factor": 31.709791984 "to_si_factor": 31.709791984
}, },
"Q104381302": {
"si_name": "Q104381302",
"symbol": "W/m³",
"to_si_factor": 1.0
},
"Q104628312": { "Q104628312": {
"si_name": "Q25269", "si_name": "Q25269",
"symbol": "vars", "symbol": "vars",
@@ -1509,6 +1499,11 @@
"symbol": "kg m²/(s² K)", "symbol": "kg m²/(s² K)",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q106725578": {
"si_name": "Q106725578",
"symbol": "m²/(s² K)",
"to_si_factor": 1.0
},
"Q106740890": { "Q106740890": {
"si_name": "Q106740890", "si_name": "Q106740890",
"symbol": "m²/s²", "symbol": "m²/s²",
@@ -1659,6 +1654,11 @@
"symbol": "N/mm", "symbol": "N/mm",
"to_si_factor": 1000.0 "to_si_factor": 1000.0
}, },
"Q106886424": {
"si_name": "Q215571",
"symbol": "kgf m",
"to_si_factor": 9.80665
},
"Q106886632": { "Q106886632": {
"si_name": "Q44395", "si_name": "Q44395",
"symbol": "hbar", "symbol": "hbar",
@@ -1764,16 +1764,6 @@
"symbol": "kg/(m⁴ s)", "symbol": "kg/(m⁴ s)",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q107059005": {
"si_name": "Q69425409",
"symbol": "A h/dm³",
"to_si_factor": 3600000.0
},
"Q107059365": {
"si_name": "Q97541209",
"symbol": "A h/kg",
"to_si_factor": 3600.0
},
"Q107095937": { "Q107095937": {
"si_name": "Q107095937", "si_name": "Q107095937",
"symbol": "kg m²/(s² mol)", "symbol": "kg m²/(s² mol)",
@@ -2084,11 +2074,6 @@
"symbol": "rem/s", "symbol": "rem/s",
"to_si_factor": 0.01 "to_si_factor": 0.01
}, },
"Q107378429": {
"si_name": "Q11547252",
"symbol": "1/in²",
"to_si_factor": 1550.0
},
"Q107378436": { "Q107378436": {
"si_name": "Q11547251", "si_name": "Q11547251",
"symbol": "Å⁻¹", "symbol": "Å⁻¹",
@@ -2294,11 +2279,6 @@
"symbol": "b/sr", "symbol": "b/sr",
"to_si_factor": 1e-28 "to_si_factor": 1e-28
}, },
"Q107611142": {
"si_name": "Q98267267",
"symbol": "b/eV",
"to_si_factor": 6.24151e-10
},
"Q107611199": { "Q107611199": {
"si_name": "Q98267267", "si_name": "Q98267267",
"symbol": "cm²/erg", "symbol": "cm²/erg",
@@ -2314,96 +2294,11 @@
"symbol": "cm²/(sr erg)", "symbol": "cm²/(sr erg)",
"to_si_factor": 1000.0 "to_si_factor": 1000.0
}, },
"Q107821494": {
"si_name": null,
"symbol": "bit/m³",
"to_si_factor": null
},
"Q107822428": {
"si_name": null,
"symbol": "bit/m",
"to_si_factor": null
},
"Q107824325": {
"si_name": null,
"symbol": "bit/m²",
"to_si_factor": null
},
"Q107862770": {
"si_name": null,
"symbol": "Kibit/m",
"to_si_factor": null
},
"Q107862783": {
"si_name": null,
"symbol": "Kibit/m",
"to_si_factor": null
},
"Q107862850": {
"si_name": null,
"symbol": "Kibit/m³",
"to_si_factor": null
},
"Q107862870": {
"si_name": null,
"symbol": "Mibit/m",
"to_si_factor": null
},
"Q107862884": {
"si_name": null,
"symbol": "Mibit/m²",
"to_si_factor": null
},
"Q107862898": {
"si_name": null,
"symbol": "Mibit/m³",
"to_si_factor": null
},
"Q107970215": {
"si_name": null,
"symbol": "Pibit/m",
"to_si_factor": null
},
"Q107970224": {
"si_name": null,
"symbol": "Pibit/m²",
"to_si_factor": null
},
"Q107970230": {
"si_name": null,
"symbol": "Pibit/m³",
"to_si_factor": null
},
"Q107970235": {
"si_name": null,
"symbol": "Tibit/m",
"to_si_factor": null
},
"Q107970256": {
"si_name": null,
"symbol": "Tibit/m³",
"to_si_factor": null
},
"Q107970266": {
"si_name": null,
"symbol": "Tibit/m²",
"to_si_factor": null
},
"Q108270163": {
"si_name": "Q25381181",
"symbol": "t/a",
"to_si_factor": 3.169e-05
},
"Q1084321": { "Q1084321": {
"si_name": null, "si_name": null,
"symbol": "Tb/s", "symbol": "Tb/s",
"to_si_factor": null "to_si_factor": null
}, },
"Q108533173": {
"si_name": "Q108533173",
"symbol": "sr⁻¹",
"to_si_factor": 1.0
},
"Q1086691": { "Q1086691": {
"si_name": null, "si_name": null,
"symbol": "fg", "symbol": "fg",
@@ -2464,11 +2359,6 @@
"symbol": "e.u.", "symbol": "e.u.",
"to_si_factor": 4.184 "to_si_factor": 4.184
}, },
"Q109448508": {
"si_name": null,
"symbol": "man-Sv",
"to_si_factor": null
},
"Q1098949": { "Q1098949": {
"si_name": "Q21393312", "si_name": "Q21393312",
"symbol": "Cl", "symbol": "Cl",
@@ -2499,9 +2389,14 @@
"symbol": "nm²", "symbol": "nm²",
"to_si_factor": 1e-18 "to_si_factor": 1e-18
}, },
"Q111494193": { "Q110742003": {
"si_name": "Q111494193", "si_name": null,
"symbol": "J/(Hz mol)", "symbol": "dppx",
"to_si_factor": null
},
"Q110812007": {
"si_name": "Q281096",
"symbol": "nt",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q11229": { "Q11229": {
@@ -2549,11 +2444,6 @@
"symbol": "Yb", "symbol": "Yb",
"to_si_factor": null "to_si_factor": null
}, },
"Q114559346": {
"si_name": null,
"symbol": "g CO2e/kWh",
"to_si_factor": null
},
"Q114589269": { "Q114589269": {
"si_name": null, "si_name": null,
"symbol": "Ѧ", "symbol": "Ѧ",
@@ -2674,21 +2564,11 @@
"symbol": "ʰ", "symbol": "ʰ",
"to_si_factor": 0.2617993878 "to_si_factor": 0.2617993878
}, },
"Q116486875": {
"si_name": null,
"symbol": "mol(-1) s(-1)",
"to_si_factor": null
},
"Q1165639": { "Q1165639": {
"si_name": "Q89992008", "si_name": "Q89992008",
"symbol": "daraf", "symbol": "daraf",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q1165725": {
"si_name": "Q25343",
"symbol": "D",
"to_si_factor": 9.869e-13
},
"Q1165799": { "Q1165799": {
"si_name": "Q11573", "si_name": "Q11573",
"symbol": "mil", "symbol": "mil",
@@ -2874,6 +2754,11 @@
"symbol": "pc", "symbol": "pc",
"to_si_factor": 3.085677581491367e+16 "to_si_factor": 3.085677581491367e+16
}, },
"Q121960323": {
"si_name": "Q121960323",
"symbol": "m/m",
"to_si_factor": 1.0
},
"Q121965382": { "Q121965382": {
"si_name": "Q121965382", "si_name": "Q121965382",
"symbol": "mol/mol", "symbol": "mol/mol",
@@ -3094,6 +2979,26 @@
"symbol": "QC", "symbol": "QC",
"to_si_factor": 1e+30 "to_si_factor": 1e+30
}, },
"Q125471199": {
"si_name": null,
"symbol": "r°C",
"to_si_factor": null
},
"Q125471200": {
"si_name": null,
"symbol": "q°C",
"to_si_factor": null
},
"Q125471246": {
"si_name": null,
"symbol": "R°C",
"to_si_factor": null
},
"Q125471247": {
"si_name": null,
"symbol": "Q°C",
"to_si_factor": null
},
"Q125471334": { "Q125471334": {
"si_name": "Q131255", "si_name": "Q131255",
"symbol": "rF", "symbol": "rF",
@@ -3274,11 +3179,6 @@
"symbol": "STf", "symbol": "STf",
"to_si_factor": 8896.443230521 "to_si_factor": 8896.443230521
}, },
"Q131966422": {
"si_name": "Q11573",
"symbol": "Q",
"to_si_factor": 0.00025
},
"Q1322380": { "Q1322380": {
"si_name": "Q11574", "si_name": "Q11574",
"symbol": "Ts", "symbol": "Ts",
@@ -3374,11 +3274,6 @@
"symbol": "kgf/cm²", "symbol": "kgf/cm²",
"to_si_factor": 98066.5 "to_si_factor": 98066.5
}, },
"Q135964483": {
"si_name": "Q11547252",
"symbol": "mm⁻²",
"to_si_factor": 1e-06
},
"Q136039973": { "Q136039973": {
"si_name": null, "si_name": null,
"symbol": "FPS", "symbol": "FPS",
@@ -3429,36 +3324,6 @@
"symbol": "V_P", "symbol": "V_P",
"to_si_factor": 1.0429e+27 "to_si_factor": 1.0429e+27
}, },
"Q1386162": {
"si_name": "Q106680668",
"symbol": "E",
"to_si_factor": 1e-09
},
"Q138847616": {
"si_name": "Q11573",
"symbol": "µm⁻¹",
"to_si_factor": 1000000.0
},
"Q138847643": {
"si_name": "Q11547251",
"symbol": "nm⁻¹",
"to_si_factor": 1000000000.0
},
"Q138847654": {
"si_name": "Q11547251",
"symbol": "pm⁻¹",
"to_si_factor": 1000000000000.0
},
"Q139054848": {
"si_name": null,
"symbol": "A·h/m²",
"to_si_factor": null
},
"Q139086088": {
"si_name": "Q69425409",
"symbol": "A h/m³",
"to_si_factor": 3600.0
},
"Q1394540": { "Q1394540": {
"si_name": null, "si_name": null,
"symbol": "bm", "symbol": "bm",
@@ -3809,11 +3674,6 @@
"symbol": "dl", "symbol": "dl",
"to_si_factor": 0.0001 "to_si_factor": 0.0001
}, },
"Q18379097": {
"si_name": "Q95375885",
"symbol": "SFU",
"to_si_factor": 1e-22
},
"Q18413919": { "Q18413919": {
"si_name": "Q182429", "si_name": "Q182429",
"symbol": "cm/s", "symbol": "cm/s",
@@ -3849,11 +3709,6 @@
"symbol": "zs", "symbol": "zs",
"to_si_factor": 1e-21 "to_si_factor": 1e-21
}, },
"Q188768": {
"si_name": null,
"symbol": "FLOPS",
"to_si_factor": null
},
"Q190095": { "Q190095": {
"si_name": "Q190095", "si_name": "Q190095",
"symbol": "Gy", "symbol": "Gy",
@@ -4269,11 +4124,6 @@
"symbol": "kgf", "symbol": "kgf",
"to_si_factor": 9.80665 "to_si_factor": 9.80665
}, },
"Q21719454": {
"si_name": "Q21719454",
"symbol": "m/s³",
"to_si_factor": 1.0
},
"Q217208": { "Q217208": {
"si_name": "Q11574", "si_name": "Q11574",
"symbol": "a", "symbol": "a",
@@ -4384,16 +4234,6 @@
"symbol": "TW", "symbol": "TW",
"to_si_factor": 1000000000000.0 "to_si_factor": 1000000000000.0
}, },
"Q23893259": {
"si_name": null,
"symbol": "1/(p y)",
"to_si_factor": null
},
"Q23893296": {
"si_name": null,
"symbol": "1/100000py",
"to_si_factor": null
},
"Q23925410": { "Q23925410": {
"si_name": "Q25517", "si_name": "Q25517",
"symbol": "gal (UK)", "symbol": "gal (UK)",
@@ -4534,11 +4374,6 @@
"symbol": "statΩ", "symbol": "statΩ",
"to_si_factor": 898755178700.0 "to_si_factor": 898755178700.0
}, },
"Q25325238": {
"si_name": null,
"symbol": "bhp/cm³",
"to_si_factor": null
},
"Q253276": { "Q253276": {
"si_name": "Q11573", "si_name": "Q11573",
"symbol": "mi", "symbol": "mi",
@@ -4884,11 +4719,6 @@
"symbol": "g", "symbol": "g",
"to_si_factor": 9.80665 "to_si_factor": 9.80665
}, },
"Q28657331": {
"si_name": null,
"symbol": "erg/(s cm²)",
"to_si_factor": null
},
"Q28683485": { "Q28683485": {
"si_name": "Q28683485", "si_name": "Q28683485",
"symbol": "C/kg", "symbol": "C/kg",
@@ -4919,11 +4749,6 @@
"symbol": "mH", "symbol": "mH",
"to_si_factor": 0.001 "to_si_factor": 0.001
}, },
"Q29463526": {
"si_name": null,
"symbol": "hr/yr",
"to_si_factor": null
},
"Q296936": { "Q296936": {
"si_name": "Q25269", "si_name": "Q25269",
"symbol": "toe", "symbol": "toe",
@@ -5144,11 +4969,6 @@
"symbol": "μA", "symbol": "μA",
"to_si_factor": 1e-06 "to_si_factor": 1e-06
}, },
"Q3186734": {
"si_name": "Q3186734",
"symbol": "J/(m³ K)",
"to_si_factor": 1.0
},
"Q31889818": { "Q31889818": {
"si_name": "Q199", "si_name": "Q199",
"symbol": "ppq", "symbol": "ppq",
@@ -5159,11 +4979,6 @@
"symbol": "kb", "symbol": "kb",
"to_si_factor": null "to_si_factor": null
}, },
"Q3196665": {
"si_name": "Q215571",
"symbol": "kgf m",
"to_si_factor": 9.80665
},
"Q3207456": { "Q3207456": {
"si_name": "Q25236", "si_name": "Q25236",
"symbol": "mW", "symbol": "mW",
@@ -5269,6 +5084,11 @@
"symbol": "fL", "symbol": "fL",
"to_si_factor": 1e-18 "to_si_factor": 1e-18
}, },
"Q3320608": {
"si_name": "Q25236",
"symbol": "kW",
"to_si_factor": 1000.0
},
"Q3331719": { "Q3331719": {
"si_name": "Q25343", "si_name": "Q25343",
"symbol": "dma", "symbol": "dma",
@@ -5399,11 +5219,6 @@
"symbol": "mA⋅h", "symbol": "mA⋅h",
"to_si_factor": 3.6 "to_si_factor": 3.6
}, },
"Q38623562": {
"si_name": "Q6137407",
"symbol": "rpm",
"to_si_factor": 0.0166667
},
"Q3867152": { "Q3867152": {
"si_name": "Q1051665", "si_name": "Q1051665",
"symbol": "ft/s²", "symbol": "ft/s²",
@@ -5574,11 +5389,6 @@
"symbol": "nhp", "symbol": "nhp",
"to_si_factor": null "to_si_factor": null
}, },
"Q4346600": {
"si_name": null,
"symbol": "PPHPD",
"to_si_factor": null
},
"Q4406": { "Q4406": {
"si_name": null, "si_name": null,
"symbol": "$T", "symbol": "$T",
@@ -5759,6 +5569,11 @@
"symbol": "Ga", "symbol": "Ga",
"to_si_factor": null "to_si_factor": null
}, },
"Q5299480": {
"si_name": null,
"symbol": "DPCm",
"to_si_factor": null
},
"Q531": { "Q531": {
"si_name": "Q11573", "si_name": "Q11573",
"symbol": "l.y.", "symbol": "l.y.",
@@ -6439,11 +6254,6 @@
"symbol": "U/L", "symbol": "U/L",
"to_si_factor": null "to_si_factor": null
}, },
"Q5558595": {
"si_name": null,
"symbol": "GFLOPS",
"to_si_factor": null
},
"Q55663153": { "Q55663153": {
"si_name": "Q55663153", "si_name": "Q55663153",
"symbol": "H/m", "symbol": "H/m",
@@ -6554,11 +6364,6 @@
"symbol": "L/kg", "symbol": "L/kg",
"to_si_factor": 0.001 "to_si_factor": 0.001
}, },
"Q57175652": {
"si_name": null,
"symbol": "m3/year/individual",
"to_si_factor": null
},
"Q57273614": { "Q57273614": {
"si_name": "Q182429", "si_name": "Q182429",
"symbol": "mm/min", "symbol": "mm/min",
@@ -6569,11 +6374,6 @@
"symbol": "d", "symbol": "d",
"to_si_factor": 86400.0 "to_si_factor": 86400.0
}, },
"Q57306331": {
"si_name": "Q86200529",
"symbol": "cm²/g",
"to_si_factor": 0.1
},
"Q577": { "Q577": {
"si_name": "Q11574", "si_name": "Q11574",
"symbol": "a", "symbol": "a",
@@ -6824,21 +6624,6 @@
"symbol": "UK t", "symbol": "UK t",
"to_si_factor": 1016.0469088 "to_si_factor": 1016.0469088
}, },
"Q66778234": {
"si_name": null,
"symbol": "TFLOPS",
"to_si_factor": null
},
"Q66778809": {
"si_name": null,
"symbol": "MFLOPS",
"to_si_factor": null
},
"Q66778863": {
"si_name": null,
"symbol": "PFLOPS",
"to_si_factor": null
},
"Q67060736": { "Q67060736": {
"si_name": "Q67060736", "si_name": "Q67060736",
"symbol": "W/kg", "symbol": "W/kg",
@@ -7229,6 +7014,11 @@
"symbol": "Mb/s", "symbol": "Mb/s",
"to_si_factor": null "to_si_factor": null
}, },
"Q7398951": {
"si_name": null,
"symbol": "PPI",
"to_si_factor": null
},
"Q743895": { "Q743895": {
"si_name": "Q39369", "si_name": "Q39369",
"symbol": "bpm", "symbol": "bpm",
@@ -7294,21 +7084,6 @@
"symbol": "Td", "symbol": "Td",
"to_si_factor": 1e-06 "to_si_factor": 1e-06
}, },
"Q78053467": {
"si_name": null,
"symbol": "kFLOPS",
"to_si_factor": null
},
"Q781545": {
"si_name": null,
"symbol": "phon",
"to_si_factor": null
},
"Q78336909": {
"si_name": "Q78336909",
"symbol": "m³/(kg s²)",
"to_si_factor": 1.0
},
"Q7854897": { "Q7854897": {
"si_name": null, "si_name": null,
"symbol": "mya", "symbol": "mya",
@@ -7434,11 +7209,6 @@
"symbol": "YiB", "symbol": "YiB",
"to_si_factor": null "to_si_factor": null
}, },
"Q80026587": {
"si_name": "Q6137407",
"symbol": "km/(s Mpc)",
"to_si_factor": 3.24078e-20
},
"Q80237579": { "Q80237579": {
"si_name": "Q56023789", "si_name": "Q56023789",
"symbol": "J/nm", "symbol": "J/nm",
@@ -7494,11 +7264,6 @@
"symbol": "B/s", "symbol": "B/s",
"to_si_factor": null "to_si_factor": null
}, },
"Q82440913": {
"si_name": null,
"symbol": "L/100 km",
"to_si_factor": null
},
"Q828224": { "Q828224": {
"si_name": "Q11573", "si_name": "Q11573",
"symbol": "km", "symbol": "km",
@@ -7584,11 +7349,6 @@
"symbol": "thm (US)", "symbol": "thm (US)",
"to_si_factor": 105480400.0 "to_si_factor": 105480400.0
}, },
"Q843877": {
"si_name": "Q25236",
"symbol": "L☉",
"to_si_factor": 3.828e+26
},
"Q844211": { "Q844211": {
"si_name": "Q844211", "si_name": "Q844211",
"symbol": "kg/m³", "symbol": "kg/m³",
@@ -7664,11 +7424,6 @@
"symbol": "Pa s/m³", "symbol": "Pa s/m³",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q87049028": {
"si_name": "Q87049028",
"symbol": "N s/m",
"to_si_factor": 1.0
},
"Q87051580": { "Q87051580": {
"si_name": "Q87051580", "si_name": "Q87051580",
"symbol": "Pa s/m", "symbol": "Pa s/m",
@@ -7809,11 +7564,6 @@
"symbol": "J/s", "symbol": "J/s",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q92717607": {
"si_name": "Q92717607",
"symbol": "K/m",
"to_si_factor": 1.0
},
"Q93318": { "Q93318": {
"si_name": "Q11573", "si_name": "Q11573",
"symbol": "M", "symbol": "M",
@@ -7834,16 +7584,6 @@
"symbol": "gill (UK)", "symbol": "gill (UK)",
"to_si_factor": 0.000142 "to_si_factor": 0.000142
}, },
"Q93868873": {
"si_name": null,
"symbol": "mpg",
"to_si_factor": null
},
"Q93871856": {
"si_name": null,
"symbol": "km/L",
"to_si_factor": null
},
"Q93947085": { "Q93947085": {
"si_name": "Q93947085", "si_name": "Q93947085",
"symbol": "K/Pa", "symbol": "K/Pa",
@@ -9159,6 +8899,11 @@
"symbol": "ET", "symbol": "ET",
"to_si_factor": 1e+18 "to_si_factor": 1e+18
}, },
"Q96070276": {
"si_name": null,
"symbol": "m°C",
"to_si_factor": null
},
"Q96070318": { "Q96070318": {
"si_name": "Q177612", "si_name": "Q177612",
"symbol": "dsr", "symbol": "dsr",
@@ -9214,6 +8959,21 @@
"symbol": "Gsr", "symbol": "Gsr",
"to_si_factor": 1000000000.0 "to_si_factor": 1000000000.0
}, },
"Q96095941": {
"si_name": null,
"symbol": "μ°C",
"to_si_factor": null
},
"Q96095955": {
"si_name": null,
"symbol": "n°C",
"to_si_factor": null
},
"Q96095960": {
"si_name": null,
"symbol": "k°C",
"to_si_factor": null
},
"Q96106290": { "Q96106290": {
"si_name": "Q177612", "si_name": "Q177612",
"symbol": "Tsr", "symbol": "Tsr",
@@ -9239,11 +8999,41 @@
"symbol": "Ysr", "symbol": "Ysr",
"to_si_factor": 1e+24 "to_si_factor": 1e+24
}, },
"Q96106346": {
"si_name": null,
"symbol": "c°C",
"to_si_factor": null
},
"Q96106360": {
"si_name": null,
"symbol": "d°C",
"to_si_factor": null
},
"Q96106368": {
"si_name": null,
"symbol": "da°C",
"to_si_factor": null
},
"Q96106385": {
"si_name": null,
"symbol": "h°C",
"to_si_factor": null
},
"Q96106393": {
"si_name": null,
"symbol": "M°C",
"to_si_factor": null
},
"Q96192470": { "Q96192470": {
"si_name": "Q96192470", "si_name": "Q96192470",
"symbol": "W/m", "symbol": "W/m",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q96236286": {
"si_name": null,
"symbol": "G°C",
"to_si_factor": null
},
"Q96309077": { "Q96309077": {
"si_name": "Q96309077", "si_name": "Q96309077",
"symbol": "S m²/mol", "symbol": "S m²/mol",
@@ -9254,6 +9044,56 @@
"symbol": "μas", "symbol": "μas",
"to_si_factor": 4.848136811095356e-12 "to_si_factor": 4.848136811095356e-12
}, },
"Q97059641": {
"si_name": null,
"symbol": "p°C",
"to_si_factor": null
},
"Q97059652": {
"si_name": null,
"symbol": "T°C",
"to_si_factor": null
},
"Q97143826": {
"si_name": null,
"symbol": "P°C",
"to_si_factor": null
},
"Q97143831": {
"si_name": null,
"symbol": "y°C",
"to_si_factor": null
},
"Q97143835": {
"si_name": null,
"symbol": "f°C",
"to_si_factor": null
},
"Q97143838": {
"si_name": null,
"symbol": "Z°C",
"to_si_factor": null
},
"Q97143842": {
"si_name": null,
"symbol": "E°C",
"to_si_factor": null
},
"Q97143843": {
"si_name": null,
"symbol": "z°C",
"to_si_factor": null
},
"Q97143849": {
"si_name": null,
"symbol": "Y°C",
"to_si_factor": null
},
"Q97143851": {
"si_name": null,
"symbol": "a°C",
"to_si_factor": null
},
"Q97540991": { "Q97540991": {
"si_name": "Q97540991", "si_name": "Q97540991",
"symbol": "A m²/(J s)", "symbol": "A m²/(J s)",
@@ -9274,11 +9114,6 @@
"symbol": "Bq/m³", "symbol": "Bq/m³",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q98103135": {
"si_name": "Q98103135",
"symbol": "Bq/m²",
"to_si_factor": 1.0
},
"Q98266832": { "Q98266832": {
"si_name": "Q98266832", "si_name": "Q98266832",
"symbol": "m²/sr", "symbol": "m²/sr",
@@ -9304,11 +9139,6 @@
"symbol": "eV/m²", "symbol": "eV/m²",
"to_si_factor": 1.60218e-19 "to_si_factor": 1.60218e-19
}, },
"Q98635536": {
"si_name": "Q56023789",
"symbol": "eV/m",
"to_si_factor": 1.602176634e-19
},
"Q98642859": { "Q98642859": {
"si_name": "Q98643033", "si_name": "Q98643033",
"symbol": "eV m²/kg", "symbol": "eV m²/kg",
@@ -9339,11 +9169,6 @@
"symbol": "m⁻³ s⁻¹", "symbol": "m⁻³ s⁻¹",
"to_si_factor": 1.0 "to_si_factor": 1.0
}, },
"Q98974322": {
"si_name": null,
"symbol": "W yr/(m² kg)",
"to_si_factor": null
},
"Q99476928": { "Q99476928": {
"si_name": "Q12438", "si_name": "Q12438",
"symbol": "gf", "symbol": "gf",
+1 -2
View File
@@ -39,12 +39,11 @@ def response(resp):
for result in json_results: for result in json_results:
title_parts = [title['value'] for title in result['title']] title_parts = [title['value'] for title in result['title']]
extract_parts = [extract['value'] for extract in result.get('extract', [])]
results.append( results.append(
{ {
'url': result['url'], 'url': result['url'],
'title': ''.join(title_parts), 'title': ''.join(title_parts),
'content': ''.join(extract_parts), 'content': result['extract'][0]['value'],
} }
) )
+1 -4
View File
@@ -345,10 +345,7 @@ def _get_news_result(result):
publishedDate = None publishedDate = None
if result.get("date"): if result.get("date"):
try: publishedDate = datetime.fromtimestamp(result["date"] / 1000)
publishedDate = datetime.fromtimestamp(int(result["date"]) / 1000)
except (TypeError, ValueError):
pass
thumbnailUrl = None thumbnailUrl = None
if result.get("thumbnailUrl"): if result.get("thumbnailUrl"):
+477 -488
View File
File diff suppressed because it is too large Load Diff
+52 -22
View File
@@ -1,17 +1,10 @@
# SPDX-License-Identifier: AGPL-3.0-or-later # SPDX-License-Identifier: AGPL-3.0-or-later
"""Yep (general, images, news)""" """Yep (general, images, news)"""
import typing as t from datetime import datetime
from urllib.parse import urlencode from urllib.parse import urlencode
from searx.result_types import EngineResults
from searx.utils import html_to_text from searx.utils import html_to_text
if t.TYPE_CHECKING:
from searx.extended_types import SXNG_Response
from searx.search.processors import OnlineParams
about = { about = {
'website': 'https://yep.com/', 'website': 'https://yep.com/',
'official_api_documentation': 'https://docs.developer.yelp.com', 'official_api_documentation': 'https://docs.developer.yelp.com',
@@ -21,32 +14,69 @@ about = {
} }
base_url = "https://api.yep.com" base_url = "https://api.yep.com"
search_type = "web" # 'web', 'images', 'news'
safesearch = True safesearch = True
safesearch_map = {0: 'off', 1: 'moderate', 2: 'strict'} safesearch_map = {0: 'off', 1: 'moderate', 2: 'strict'}
enable_http2 = False enable_http2 = False
results_per_page = 20
def request(query, params):
def request(query: str, params: 'OnlineParams') -> None: args = {
args = {'query': query, 'safeSearch': safesearch_map[params['safesearch']], 'limit': results_per_page} 'client': 'web',
'no_correct': 'false',
'q': query,
'safeSearch': safesearch_map[params['safesearch']],
'type': search_type,
}
params['url'] = f"{base_url}/fs/2/search?{urlencode(args)}" params['url'] = f"{base_url}/fs/2/search?{urlencode(args)}"
params['headers']['Referer'] = 'https://yep.com/' params['headers']['Referer'] = 'https://yep.com/'
params['headers']['Origin'] = 'https://yep.com' params['headers']['Origin'] = 'https://yep.com'
return params
def response(resp: 'SXNG_Response') -> EngineResults: def _web_result(result):
res = EngineResults() return {
'url': result['url'],
'title': result['title'],
'content': html_to_text(result['snippet']),
}
def _images_result(result):
return {
'template': 'images.html',
'url': result['host_page'],
'title': result.get('title', ''),
'content': '',
'img_src': result['image_id'],
'thumbnail_src': result['src'],
}
def _news_result(result):
return {
'url': result['url'],
'title': result['title'],
'content': html_to_text(result['snippet']),
'publishedDate': datetime.strptime(result['first_seen'][:19], '%Y-%m-%dT%H:%M:%S'),
}
def response(resp):
results = []
for result in resp.json()[1]['results']: for result in resp.json()[1]['results']:
res.add( if search_type == "web":
res.types.MainResult( if result['type'] != 'Organic':
url=result['url'], continue
title=result['title'], results.append(_web_result(result))
content=html_to_text(result['snippet']), elif search_type == "images":
) results.append(_images_result(result))
) elif search_type == "news":
results.append(_news_result(result))
else:
raise ValueError(f"Unsupported yep search type: {search_type}")
return res return results
+11 -13
View File
@@ -32,7 +32,7 @@ import msgspec
from searx import logger as log from searx import logger as log
WHITESPACE_REGEX = re.compile('( |\t|\n)+', re.M | re.U) WHITESPACE_REGEX = re.compile('( |\t|\n)+', re.M | re.U)
UNSET = object() UNKNOWN = object()
def _normalize_url_fields(result: "Result | LegacyResult"): def _normalize_url_fields(result: "Result | LegacyResult"):
@@ -326,13 +326,12 @@ class Result(msgspec.Struct, kw_only=True):
def defaults_from(self, other: "Result"): def defaults_from(self, other: "Result"):
"""Fields not set in *self* will be updated from the field values of the """Fields not set in *self* will be updated from the field values of the
*other*. If a field is set (exists) but contains an empty string *other*.
or the value ``None``, it is also considered *not set*.
""" """
for field_name in self.__struct_fields__: for field_name in self.__struct_fields__:
self_val = getattr(self, field_name, UNSET) self_val = getattr(self, field_name, False)
other_val = getattr(other, field_name, UNSET) other_val = getattr(other, field_name, False)
if self_val is UNSET and other_val not in (UNSET, "", None): if self_val:
setattr(self, field_name, other_val) setattr(self, field_name, other_val)
@@ -441,6 +440,8 @@ class LegacyResult(dict[str, t.Any]):
Do not use this class in your own implementations! Do not use this class in your own implementations!
""" """
UNSET: object = object()
# emulate field types from type class Result # emulate field types from type class Result
url: str | None url: str | None
template: str template: str
@@ -511,7 +512,7 @@ class LegacyResult(dict[str, t.Any]):
) )
def __getattr__(self, name: str, default: t.Any = UNSET) -> t.Any: def __getattr__(self, name: str, default: t.Any = UNSET) -> t.Any:
if default == UNSET and name not in self: if default == self.UNSET and name not in self:
raise AttributeError(f"LegacyResult object has no field named: {name}") raise AttributeError(f"LegacyResult object has no field named: {name}")
return self[name] return self[name]
@@ -562,12 +563,9 @@ class LegacyResult(dict[str, t.Any]):
self.engines.add(self.engine) self.engines.add(self.engine)
def defaults_from(self, other: "LegacyResult"): def defaults_from(self, other: "LegacyResult"):
# If a field is set (exists) but contains an empty string or the value for k, v in other.items():
# ``None``, it is also considered *not set*. if not self.get(k):
for field_name, other_val in other.items(): self[k] = v
self_val = self.get(field_name, UNSET)
if self_val is UNSET and other_val not in ("", UNSET):
self[field_name] = other_val
def filter_urls(self, filter_func: "Callable[[Result | LegacyResult, str, str], str | bool]"): def filter_urls(self, filter_func: "Callable[[Result | LegacyResult, str, str], str | bool]"):
"""See :py:obj:`Result.filter_urls`""" """See :py:obj:`Result.filter_urls`"""
+17 -1
View File
@@ -688,6 +688,22 @@ engines:
engine: yep engine: yep
shortcut: yep shortcut: yep
categories: general categories: general
search_type: web
timeout: 15
disabled: true
- name: yep images
engine: yep
shortcut: yepi
categories: images
search_type: images
disabled: true
- name: yep news
engine: yep
shortcut: yepn
categories: news
search_type: news
disabled: true disabled: true
- name: currency - name: currency
@@ -1213,7 +1229,7 @@ engines:
- name: karmasearch videos - name: karmasearch videos
engine: karmasearch engine: karmasearch
categories: [videos, web] categories: [general, web]
search_type: videos search_type: videos
shortcut: kav shortcut: kav
-10
View File
@@ -67,13 +67,3 @@
class="checkbox-onoff"{{- ' ' -}} class="checkbox-onoff"{{- ' ' -}}
{%- if checked -%} checked{%- endif -%}/> {%- if checked -%} checked{%- endif -%}/>
{%- endmacro -%} {%- endmacro -%}
<!-- iframe that additionally sets some extra feature attrs for videos -->
{%- macro iframe(iframe_src) -%}
<iframe data-src="{{iframe_src}}" frameborder="0" allowfullscreen
{% if result.parsed_url.hostname in ("www.youtube.com", ) -%}
allow="picture-in-picture" referrerpolicy="origin"
{%- endif -%}
>
</iframe>
{%- endmacro -%}
@@ -1,4 +1,4 @@
{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %} {% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %}
{{ result_header(result, favicons, image_proxify) -}} {{ result_header(result, favicons, image_proxify) -}}
{{- result_sub_header(result) -}} {{- result_sub_header(result) -}}
@@ -17,7 +17,7 @@
{{- result_sub_footer(result) -}} {{- result_sub_footer(result) -}}
{% if result.iframe_src -%} {% if result.iframe_src -%}
<div id="result-media-{{ index }}" class="embedded-content invisible"> <div id="result-media-{{ index }}" class="embedded-content invisible">
{{ iframe(result.iframe_src) }} <iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen></iframe>
</div> </div>
{%- endif %} {%- endif %}
{% if result.audio_src -%} {% if result.audio_src -%}
@@ -1,4 +1,4 @@
{% from 'simple/macros.html' import iframe, result_header, result_sub_header, result_sub_footer, result_footer with context %} {% from 'simple/macros.html' import result_header, result_sub_header, result_sub_footer, result_footer with context %}
{{ result_header(result, favicons, image_proxify) }} {{ result_header(result, favicons, image_proxify) }}
{{ result_sub_header(result) }} {{ result_sub_header(result) }}
@@ -18,7 +18,11 @@
{{- result_sub_footer(result) -}} {{- result_sub_footer(result) -}}
{% if result.iframe_src -%} {% if result.iframe_src -%}
<div id="result-video-{{ index }}" class="embedded-video invisible"> <div id="result-video-{{ index }}" class="embedded-video invisible">
{{ iframe(result.iframe_src) }} <iframe data-src="{{result.iframe_src}}" frameborder="0" allowfullscreen
{% if result.parsed_url.hostname in ("www.youtube.com", ) -%}
allow="picture-in-picture" referrerpolicy="origin">
{%- endif -%}
</iframe>
</div> </div>
{%- endif %} {%- endif %}
{{ result_footer(result) }} {{ result_footer(result) }}