summaryrefslogtreecommitdiff
path: root/searx/version.py
AgeCommit message (Collapse)Author
2025-09-03[mod] addition of various type hints / tbcMarkus Heiser
- 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 <markus.heiser@darmarit.de> Format: reST
2025-08-07[enh] container: tidy builds (#5086)Ivan Gabaldon
Building the container currently does not work properly. When rebuilding several times with `make container`, `version_frozen.py` is recreated, which wouldn't be an issue if the file’s timestamp was constant. Now, when creating `version_frozen.py`, it will have the same timestamp as the commit when it was created. (`version_frozen.py` is moved to a dedicated layer). Reusing "builder" cache when building "dist" could be slow (CD reports 2 seconds, but locally I've seen it take up to 10 seconds), so the Dockerfile is now split and we save a couple steps by importing the "builder" image directly. The last changes made it possible to remove the layer cache in "builder", since the overhead is now greater than building the layers from scratch. Until now, all "dist" layers were squashed into a single layer, which in most cases is a good idea (except for storage/delivery pricing/overhead), but in our case, since we manage the entire pipeline, we can ignore this and share layers between builds. This means (for example) that if we change files unrelated to the container in several consecutive commits (documentation changes), we don't have to push the entire image to registry, but only the different layers (`version_frozen.py` in this example). The same applies when pulling, as only the layers that have changed compared to the local layers will be downloaded (that's the theory, we'll see if this works as expected or if we need to tweak something else).
2025-07-23[fix] py: overwrite version_frozen on explicit freeze (#5020)Ivan Gabaldon
Once version_frozen.py has been created, it will never be updated again unless the file is manually deleted.
2025-07-18[mod] py: don't append "-dirty" to DOCKER_TAG (#5021)Ivan Gabaldon
We don't expect tags to have "-dirty", just the GIT_VERSION regardless of how the container is built.
2025-05-11[mod] rework container deployment (#4764)Ivan Gabaldon
container.yml will run after integration.yml COMPLETES successfully and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows. * Podman is now supported to build the container images (Docker also received a refactor, merging both build and buildx) * Container images are being built by Buildah instead of Docker BuildKit. * Container images are tested before release. * Splitting "modern" (amd64 & arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.
2024-03-11[mod] pylint all files with one profile / drop PYLINT_SEARXNG_DISABLE_OPTIONMarkus Heiser
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 -> lint engines with additional builtins 2. ./searx ./searxng_extra ./tests -> lint all other python files Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-13[fix] typos in documentation & messagesToxyFlog1627
2023-05-10[fix] version format string generated by 'git show'Markus Heiser
Newer versions of git [1] do no longer support a format string that includes a minus to remove leading zeros [2]. The format string '%Y.%m.%d' is more version rod. [1] https://github.com/searxng/searxng/issues/2413#issuecomment-1542320387 [2] https://github.com/searxng/searxng/pull/2122/files Closes: https://github.com/searxng/searxng/issues/2413 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2023-01-22SearXNG version: YYYY.MM.DD without leading zeroAlexandre Flament
2023-01-20SearXNG version: fix make dockerAlexandre Flament
continuation of #2117 related to #2111 This commit: * fixes the Docker tag using an additional variable DOCKER_TAG, see searx/version.py * fixes the Docker labels org.label-schema.vcs-ref and org.opencontainers.image.revision * adds searx/version_frozen to .gitignore
2023-01-20Version number follows PEP440 : replace - by +Alexandre Flament
Close #2111
2022-07-30[fix] pyright repported errorsAlexandre Flament
The errors make pyright usage useless since a new error won't be seen [1]. [1] https://github.com/searxng/searxng/pull/1569 ``` searx/compat.py:11:27 - error: Expression of type "Type[cached_property[_T@cached_property]]" cannot be assigned to declared type "Type[cached_property]" "Type[cached_property[_T@cached_property]]" is incompatible with "Type[cached_property]" Type "Type[cached_property[_T@cached_property]]" cannot be assigned to type "Type[cached_property]" (reportGeneralTypeIssues) searx/utils.py:69:36 - error: Expression of type "None" cannot be assigned to parameter of type "str" Type "None" cannot be assigned to type "str" (reportGeneralTypeIssues) searx/utils.py:573:85 - error: Expression of type "None" cannot be assigned to parameter of type "int" Type "None" cannot be assigned to type "int" (reportGeneralTypeIssues) searx/webapp.py:1306:22 - error: Argument of type "str" cannot be assigned to parameter "__a" of type "BytesPath" in function "join" Type "str" cannot be assigned to type "BytesPath" "str" is incompatible with "bytes" "str" is incompatible with protocol "PathLike[bytes]" "__fspath__" is not present (reportGeneralTypeIssues) searx/webapp.py:1306:68 - error: Argument of type "Literal['themes']" cannot be assigned to parameter "paths" of type "BytesPath" in function "join" Type "Literal['themes']" cannot be assigned to type "BytesPath" "Literal['themes']" is incompatible with "bytes" "Literal['themes']" is incompatible with protocol "PathLike[bytes]" "__fspath__" is not present (reportGeneralTypeIssues) searx/webapp.py:1306:78 - error: Argument of type "str | Any | None" cannot be assigned to parameter "paths" of type "BytesPath" in function "join" Type "str | Any | None" cannot be assigned to type "BytesPath" Type "str" cannot be assigned to type "BytesPath" "str" is incompatible with "bytes" "str" is incompatible with protocol "PathLike[bytes]" "__fspath__" is not present (reportGeneralTypeIssues) searx/webapp.py:1306:85 - error: Argument of type "Literal['img']" cannot be assigned to parameter "paths" of type "BytesPath" in function "join" Type "Literal['img']" cannot be assigned to type "BytesPath" "Literal['img']" is incompatible with "bytes" "Literal['img']" is incompatible with protocol "PathLike[bytes]" "__fspath__" is not present (reportGeneralTypeIssues) searx/engines/mongodb.py:8:6 - warning: Import "pymongo" could not be resolved (reportMissingImports) searx/engines/mysql_server.py:9:8 - warning: Import "mysql.connector" could not be resolved (reportMissingImports) searx/engines/postgresql.py:9:8 - warning: Import "psycopg2" could not be resolved from source (reportMissingModuleSource) searx/engines/xpath.py:187:28 - warning: "categories" is not defined (reportUndefinedVariable) searx/search/__init__.py:184:82 - warning: "flask" is not defined (reportUndefinedVariable) searx/search/checker/background.py:19:26 - error: Type of "schedule" is partially unknown Type of "schedule" is "(delay: Any, func: Any, *args: Any) -> Literal[True]" (reportUnknownVariableType) searx/shared/__init__.py:8:12 - warning: Import "uwsgi" could not be resolved (reportMissingImports) searx/shared/shared_uwsgi.py:5:8 - warning: Import "uwsgi" could not be resolved (reportMissingImports) ```
2022-06-04[fix] version.py: git format '%cs' is not downward compatibleMarkus Heiser
Committer date, short format YYYY-MM-DD ('%cs') [1] is not supported by older git versions. Instead use '%cd' committer date (format respects --date= option) [2]. [1] https://www.git-scm.com/docs/git-show#Documentation/git-show.txt-emcsem [2] https://www.git-scm.com/docs/git-show#Documentation/git-show.txt-emcdem Suggested-by: @ravermeister https://github.com/searxng/searxng/issues/1251#issuecomment-1146282429 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-21[mod] version formattingLéon Tiekötter
Change SearXNG version formatting to YYYY.MM.DD-commit_hash
2021-12-27[format.python] initial formatting of the python codeMarkus Heiser
This patch was generated by black [1]:: make format.python [1] https://github.com/psf/black Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-09-07[pylint] searx: drop no longer needed 'missing-function-docstring'Markus Heiser
Suggested-by: @dalf https://github.com/searxng/searxng/issues/102#issuecomment-914168470 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-08-31[pylint] Pylint 2.10 - unspecified-encodingMarkus Heiser
Pylint 2.10 added new default checks [1]: unspecified-encoding: Emitted when open() is called without specifying an encoding [2] [1] https://pylint.pycqa.org/en/latest/whatsnew/2.10.html [2] https://github.com/PyCQA/pylint/issues/3826 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-07-30version based on the git repositoryAlexandre Flament
This commit remove the need to update the brand for GIT_URL and GIT_BRANCH: there are read from the git repository. It is possible to call python -m searx.version freeze to freeze the current version. Useful when the code is installed outside git (distro package, docker, etc...)
2021-03-27[enh] release v1.0.0Adam Tauber
2020-12-14prepare release 0.18.0Alexandre Flament
2020-07-09[enh] release v0.17.0Adam Tauber
2020-01-30[enh] version v0.16.0Adam Tauber
2019-01-06update changelog and version.pyNoémi Ványi
2018-02-19[enh] version 0.14.0Adam Tauber
2017-11-23[enh] version 0.13.1Adam Tauber
2017-11-21[enh] version 0.13.0Adam Tauber
2017-06-04[enh] version 0.12.0Adam Tauber
2017-01-10[enh] 0.11.0 version bumpAdam Tauber
2016-09-06[enh] version 0.10.0Adam Tauber
closes #659
2016-05-24[enh] version 0.9.0 - #529Adam Tauber
2015-12-22[enh] version 0.8.1Adam Tauber
2015-09-08[enh] v0.8.0Adam Tauber
2015-02-03[enh] v0.7.0Adam Tauber
2014-12-25[enh] v0.6.0Adam Tauber
2014-12-08[enh] v0.5.0Adam Tauber
2014-12-02[fix] version.py pep8 and py3 compatibilityAdam Tauber
2014-11-18[enh] make version of searx readableThomas Pointhuber