<feed xmlns='http://www.w3.org/2005/Atom'>
<title>searxng/searx/data/__init__.py, branch master</title>
<subtitle>Free internet metasearch engine which aggregates results from various search services and databases</subtitle>
<id>https://git.ikboikov.net/searxng/atom?h=master</id>
<link rel='self' href='https://git.ikboikov.net/searxng/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/'/>
<updated>2026-09-01T11:56:11Z</updated>
<entry>
<title>[refactor] wikidata: cache wikidata properties in searxng data</title>
<updated>2026-09-01T11:56:11Z</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2026-08-14T21:01:19Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=2b1c88c54c6900a3684a6733b9749e91ecf7de4b'/>
<id>urn:sha1:2b1c88c54c6900a3684a6733b9749e91ecf7de4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[chore] Google (HTML) engine: remove obsolete GSA User-Agents (#6366)</title>
<updated>2026-07-05T10:07:23Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarIT.de</email>
</author>
<published>2026-07-05T10:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=fd5eb84a378e30f90e363ace0223ca9e609f12f3'/>
<id>urn:sha1:fd5eb84a378e30f90e363ace0223ca9e609f12f3</id>
<content type='text'>
The GSA headers that were introduced in PR #5644 unfortunately no longer
work (#6359).

The Google engines

- google.py
- google_videos.py

do not work anymore either, but we'll leave it in the code for now:

- In google.py, central functions like get_google_info(..) are provided, which
  are also used by other modules.
- We will probably need a Google HTML (and video) engine again very soon.

Related:

- https://github.com/searxng/searxng/issues/6359
- https://github.com/searxng/searxng/pull/6364

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;</content>
</entry>
<entry>
<title>[fix] google: switch to using GSA for iPhone useragent</title>
<updated>2026-01-11T15:21:01Z</updated>
<author>
<name>mg95</name>
<email>git@esen.gay</email>
</author>
<published>2026-01-11T15:21:01Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=cf74e1d9e9ad662aef450ddd79aedee43554dc3c'/>
<id>urn:sha1:cf74e1d9e9ad662aef450ddd79aedee43554dc3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[upd] pypi: Bump black from 24.3.0 to 25.9.0 (#5251)</title>
<updated>2025-09-26T10:35:57Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarIT.de</email>
</author>
<published>2025-09-26T10:35:57Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=81cbe0befe993b57b7daee2643e6016586262436'/>
<id>urn:sha1:81cbe0befe993b57b7daee2643e6016586262436</id>
<content type='text'>
In 25.1.0 [2] an old bug has been fixed: "Docstring formatting does not apply to
module docstrings" [3].

[1] https://github.com/psf/black/blob/main/CHANGES.md#2590
[2] https://github.com/psf/black/blob/main/CHANGES.md#2510
[3] https://github.com/psf/black/issues/4094

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;</content>
</entry>
<entry>
<title>[mod] addition of various type hints / tbc</title>
<updated>2025-09-03T11:37:36Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-08-22T15:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=57b9673efb1b4fd18a3ac15e26da642201e2cd33'/>
<id>urn:sha1:57b9673efb1b4fd18a3ac15e26da642201e2cd33</id>
<content type='text'>
- pyright configuration [1]_
- stub files: types-lxml [2]_
- addition of various type hints
- enable use of new type system features on older Python versions [3]_
- ``.tool-versions`` - set python to lowest version we support (3.10.18) [4]_:
  Older versions typically lack some typing features found in newer Python
  versions.  Therefore, for local type checking (before commit), it is necessary
  to use the older Python interpreter.

.. [1] https://docs.basedpyright.com/v1.20.0/configuration/config-files/
.. [2] https://pypi.org/project/types-lxml/
.. [3] https://typing-extensions.readthedocs.io/en/latest/#
.. [4] https://mise.jdx.dev/configuration.html#tool-versions

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
Format: reST
</content>
</entry>
<entry>
<title>[mod] data: implement a simple tracker URL (SQL) database</title>
<updated>2025-06-23T20:12:18Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-05-24T15:53:57Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=2dd4f7b9721b201dc51cb2fb06d32cb1cb833458'/>
<id>urn:sha1:2dd4f7b9721b201dc51cb2fb06d32cb1cb833458</id>
<content type='text'>
On demand, the tracker data is loaded directly into the cache, so that the
maintenance of this data via PRs is no longer necessary.

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
<entry>
<title>[feat] tracker url plugin: use ClearURL tracking param list</title>
<updated>2025-06-23T20:12:18Z</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2025-04-28T16:06:59Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=8f7eee24733727d15f21f29a8038a85eb2b05e4d'/>
<id>urn:sha1:8f7eee24733727d15f21f29a8038a85eb2b05e4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[mod] data: implement a simple currencies (SQL) database (#4836)</title>
<updated>2025-05-25T08:40:57Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarIT.de</email>
</author>
<published>2025-05-25T08:40:57Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=848c8d0544eb0138da4414a750f79b22883f91b2'/>
<id>urn:sha1:848c8d0544eb0138da4414a750f79b22883f91b2</id>
<content type='text'>
To reduce the memory footprint, this patch no longer loads the JSON data
completely into memory.  Instead, there is an SQL database based on
`ExpireCacheSQLite`.

The class CurrenciesDB is a simple DB application that encapsulates the
DB (queries and initialization) and provides convenient methods like
`name_to_iso4217` and `iso4217_to_name`.

Related:

- https://github.com/searxng/searxng/discussions/1892
- https://github.com/searxng/searxng/pull/3458#issuecomment-2900807671
- https://github.com/searxng/searxng/pull/4650

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;</content>
</entry>
<entry>
<title>[mod] searx.data: lazy load of the data objects (databases) (#4834)</title>
<updated>2025-05-22T14:23:30Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarIT.de</email>
</author>
<published>2025-05-22T14:23:30Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=d29cf64ce4932916affd68232aed19d01c6758b5'/>
<id>urn:sha1:d29cf64ce4932916affd68232aed19d01c6758b5</id>
<content type='text'>
In the previous implementation, all databases were loaded into memory when
importing the searx.data package, regardless of whether they were ever needed.

Regardless of this, it is an antipattern to load entire databases into memory
when importing a package or module; databases should be loaded when needed.

Lazy loading is a first step toward improving memory usage and also improves
performance when setting up the runtime environment.  Building on this,
subsequent PRs will be able to further optimize memory behavior, e.g., by using
a real database application such as the one already available via

    searx.cache.ExpireCache

Related:

- https://github.com/searxng/searxng/discussions/1892
- https://github.com/searxng/searxng/pull/3458
- https://github.com/searxng/searxng/pull/4650

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;</content>
</entry>
<entry>
<title>[mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTION</title>
<updated>2024-03-11T13:55:38Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2024-03-11T13:06:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=542f7d0d7bd1a12e1884ba4a1508b40e2514d472'/>
<id>urn:sha1:542f7d0d7bd1a12e1884ba4a1508b40e2514d472</id>
<content type='text'>
In the past, some files were tested with the standard profile, others with a
profile in which most of the messages were switched off ... some files were not
checked at all.

- ``PYLINT_SEARXNG_DISABLE_OPTION`` has been abolished
- the distinction ``# lint: pylint`` is no longer necessary
- the pylint tasks have been reduced from three to two

  1. ./searx/engines -&gt; lint engines with additional builtins
  2. ./searx ./searxng_extra ./tests -&gt; lint all other python files

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
</feed>
