SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Go to file
Markus Heiser 86b4d2f2d0 [mod] activate pyright checks (in CI)
We have been using a static type checker (pyright) for a long time, but its
check was not yet a prerequisite for passing the quality gate.  It was checked
in the CI, but the error messages were only logged.

As is always the case in life, with checks that you have to do but which have no
consequences; you neglect them :-)

We didn't activate the checks back then because we (even today) have too much
monkey patching in our code (not only in the engines, httpx and others objects
are also affected).

We want to replace monkey patching with clear interfaces for a long time, the
basis for this is increased typing and we can only achieve this if we make type
checking an integral part of the quality gate.

  This PR activates the type check; in order to pass the check, a few typings
  were corrected in the code, but most type inconsistencies were deactivated via
  inline comments.

This was particularly necessary in places where the code uses properties that
stick to the objects (monkey patching).  The sticking of properties only happens
in a few places, but the access to these properties extends over the entire
code, which is why there are many `# type: ignore` markers in the code ... which
we will hopefully be able to remove again successively in the future.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2024-04-27 18:31:52 +02:00
.devcontainer Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
.github [fix] CI YAML config files 2024-03-09 14:56:12 +01:00
.vscode Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
dockerfiles Add uWSGI die-on-term flag (#3429) 2024-04-26 23:42:29 +02:00
docs [mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTION 2024-03-11 14:55:38 +01:00
searx [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
searxng_extra [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
src/brand [simple] ImageLayout.watch: img_load_error.svg if img load fails 2021-11-29 21:10:13 +01:00
tests [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
utils [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
.coveragerc [mod] use github actions instead of travis 2020-11-17 15:09:06 +01:00
.dir-locals-template.el [fix] .dir-locals.el -> .dir-locals-template.el 2024-03-29 08:57:02 +01:00
.dockerignore [fix] tidy up ignore lists .gitignore & .dockerignore 2021-06-22 16:55:30 +02:00
.editorconfig [enh] add editorconfig rules for javascript files 2024-04-08 09:07:45 +02:00
.gitattributes [fix] update .gitattributes 2021-06-22 20:34:39 +02:00
.gitignore Update .gitignore to ignore .python-version 2024-04-24 16:01:50 +02:00
.nvmrc [mod] nodejs v16 reaached EOL / upgrade to v20.10 2023-12-23 07:49:03 +01:00
.pylintrc [fix] .pylintrc mode signature to conf-unix 2024-03-14 14:18:26 +01:00
.tool-versions [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
.weblate weblate: migration to https://translate.codeberg.org/ 2023-01-21 15:45:12 +00:00
.yamllint.yml [enh] add test.yamllint - lint yaml files 2021-06-05 17:41:24 +02:00
AUTHORS.rst [feat] engine: Add LiveSpace livestreams 2024-02-20 14:45:07 +01:00
babel.cfg [fix] jinja/babel: WithExtension and AutoEscapeExtension are built-in now. 2022-03-25 09:42:12 +01:00
CHANGELOG.rst [releases] rolling release: commit history replaces the CHANGELOG 2023-05-06 14:49:33 +02:00
CONTRIBUTING.md fix(docs): Fix development quickstart url 2024-01-06 16:20:38 +01:00
Dockerfile Docker: use Alpine 3.19 2024-03-04 19:40:57 +01:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
manage [mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTION 2024-03-11 14:55:38 +01:00
package.json [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
PULL_REQUEST_TEMPLATE.md [chore] fix typo and spacing in pull request template 2023-09-15 10:46:51 +02:00
pyrightconfig.json [mod] activate pyright checks (in CI) 2024-04-27 18:31:52 +02:00
README.rst readme typo 2023-10-11 06:19:31 +02:00
requirements-dev.txt [upd] pypi: Bump sphinx from 7.2.6 to 7.3.7 2024-04-27 10:05:51 +02:00
requirements.txt [upd] pypi: Bump redis from 5.0.3 to 5.0.4 2024-04-27 08:24:23 +02:00
SECURITY.md [enh] add security policy 2022-01-25 00:56:20 +01:00
setup.py [mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTION 2024-03-11 14:55:38 +01:00



Privacy-respecting, hackable metasearch engine

Searx.space lists ready-to-use running instances.

A user, admin and developer handbook is available on the homepage.

SearXNG install SearXNG homepage SearXNG wiki AGPL License Issues commits weblate SearXNG logo


Contact

Ask questions or just chat about SearXNG on

IRC

#searxng on libera.chat which is bridged to Matrix.

Matrix

#searxng:matrix.org

Setup

Translations

Help translate SearXNG at Weblate

Contributing

Are you a developer? Have a look at our development quickstart guide, it's very easy to contribute. Additionally we have a developer documentation.

Codespaces

You can contribute from your browser using GitHub Codespaces:

  • Fork the repository
  • Click on the <> Code green button
  • Click on the Codespaces tab instead of Local
  • Click on Create codespace on master
  • VSCode is going to start in the browser
  • Wait for git pull && make install to appear and then disappear
  • You have 120 hours per month (see also your list of existing Codespaces)
  • You can start SearXNG using make run in the terminal or by pressing Ctrl+Shift+B