<feed xmlns='http://www.w3.org/2005/Atom'>
<title>searxng/searx/engines/wttr.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>2025-10-01T05:13:10Z</updated>
<entry>
<title>[fix] JSON format: serialization of the result-types</title>
<updated>2025-10-01T05:13:10Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-09-30T12:00:09Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=e16b6cb148d9fe6599ec8ce4b2803f0aed3a1d6b'/>
<id>urn:sha1:e16b6cb148d9fe6599ec8ce4b2803f0aed3a1d6b</id>
<content type='text'>
The ``JSONEncoder`` (``format="json"``) must perform a conversion to the
built-in types for the ``msgspec.Struct``::

    if isinstance(o, msgspec.Struct):
        return msgspec.to_builtins(o)

The result types are already of type ``msgspec.Struct``, so they can be
converted into built-in types.

The field types (in the result type) that were not yet of type ``msgspec.Struct``
have been converted to::

    searx.weather.GeoLocation@dataclass -&gt; msgspec.Struct
    searx.weather.DateTime              -&gt; msgspec.Struct
    searx.weather.Temperature           -&gt; msgspec.Struct
    searx.weather.PressureUnits         -&gt; msgspec.Struct
    searx.weather.WindSpeed             -&gt; msgspec.Struct
    searx.weather.RelativeHumidity      -&gt; msgspec.Struct
    searx.weather.Compass               -&gt; msgspec.Struct

BTW: Wherever it seemed sensible, the typing was also modernized in the modified
files.

Closes: https://github.com/searxng/searxng/issues/5250
Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
<entry>
<title>[feat] wttr.in: migrate to new weather engine template (#4888)</title>
<updated>2025-07-03T14:42:13Z</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2025-07-03T14:42:13Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=0cbb4f74ccff4aba15d9f2619f30bf77361f441c'/>
<id>urn:sha1:0cbb4f74ccff4aba15d9f2619f30bf77361f441c</id>
<content type='text'>
Author Notes
- wttr.in provides 8 hourly time forecasts per day, I assumed that they're always describing the weather for 3 hours each, starting at 1 o'clock in the morning

related:
- https://github.com/searxng/searxng/pull/4663
- https://github.com/searxng/searxng/issues/4885</content>
</entry>
<entry>
<title>[mod] pylint all engines without 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-11T06:45:08Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=8205f170ff983e5240d32dc17d7fdb526ebe5fe7'/>
<id>urn:sha1:8205f170ff983e5240d32dc17d7fdb526ebe5fe7</id>
<content type='text'>
Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
<entry>
<title>[mod] clarify the difference of the default category and subgrouping</title>
<updated>2023-04-07T09:03:25Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2022-07-24T07:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=2ffd446e5c0be30717d9ff112d34ef606f08fcdd'/>
<id>urn:sha1:2ffd446e5c0be30717d9ff112d34ef606f08fcdd</id>
<content type='text'>
This PR does no functional change it is just an attempt to make more clear in
the code, what a default category is and what a subcategory is.  The previous
name 'others' leads to confusion with the **category 'other'**.

If a engine is not assigned to a category, the default is assigned::

    DEFAULT_CATEGORY = 'other'

If an engine has only one category and this category is shown as tab in the user
interface, this engine has no further subgrouping::

    NO_SUBGROUPING = 'without further subgrouping'

Related:

- https://github.com/searxng/searxng/issues/1604
- https://github.com/searxng/searxng/pull/1545

Signed-off-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
<entry>
<title>simplify infobox result</title>
<updated>2022-08-31T11:29:50Z</updated>
<author>
<name>ta</name>
<email>alt3753.7@gmail.com</email>
</author>
<published>2022-08-31T11:29:50Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=85b5293e4085543e145a74a95c28bb1f2fb68876'/>
<id>urn:sha1:85b5293e4085543e145a74a95c28bb1f2fb68876</id>
<content type='text'>
</content>
</entry>
<entry>
<title>don't raise error when nothing was found</title>
<updated>2022-08-22T10:04:29Z</updated>
<author>
<name>ta</name>
<email>alt3753.7@gmail.com</email>
</author>
<published>2022-08-22T10:04:29Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=e64cca8c3f5833cb88556d0ceabd0d17cac313e0'/>
<id>urn:sha1:e64cca8c3f5833cb88556d0ceabd0d17cac313e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add description and wikidata ID to wttr.in engine</title>
<updated>2022-08-07T07:57:10Z</updated>
<author>
<name>liimee</name>
<email>70614549+liimee@users.noreply.github.com</email>
</author>
<published>2022-08-07T07:57:10Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=8c318562e236613bdef3c4e058a2223f139cb9bb'/>
<id>urn:sha1:8c318562e236613bdef3c4e058a2223f139cb9bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add wttr.in engine</title>
<updated>2022-08-07T06:04:18Z</updated>
<author>
<name>ta</name>
<email>alt3753.7@gmail.com</email>
</author>
<published>2022-08-06T13:13:42Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=8aa018db95d3597ca7bf861fd3abd09f8f114349'/>
<id>urn:sha1:8aa018db95d3597ca7bf861fd3abd09f8f114349</id>
<content type='text'>
</content>
</entry>
</feed>
