No Description

Adam Tauber b1b0b82a2a [fix] version.py pep8 and py3 compatibility 10 years ago
examples a6df9c82d7 [enh] paging added to example engine 11 years ago
searx b1b0b82a2a [fix] version.py pep8 and py3 compatibility 10 years ago
utils ea414c6574 [enh] standalone search example 10 years ago
.coveragerc 8810273010 Cover searx.utils 10 years ago
.gitignore e687f5c290 [enh][oscar_template] split js-files and compile them together 10 years ago
.landscape.yaml dc802b9ea8 Add landscape.io configuration 10 years ago
.travis.yml 427ee531be [fix] .travis.yml - add grunt-cli to npm install 10 years ago
AUTHORS.rst 79f1676e31 [doc] @kernc added to authors list 10 years ago
LICENSE 554f3a95b3 [enh] license informations 11 years ago
Makefile e687f5c290 [enh][oscar_template] split js-files and compile them together 10 years ago
README.rst c4a27970c5 [doc] domain name change 10 years ago
babel.cfg a1f945d227 [enh] babel.cfg added 11 years ago
base.cfg e740c8a8ea tests and robot tests framework, build overhaul 11 years ago
bootstrap.py e740c8a8ea tests and robot tests framework, build overhaul 11 years ago
buildout.cfg dd4662978d fix: robot fw, entry points, some flake8, package searx egg 11 years ago
minimal.cfg dd4662978d fix: robot fw, entry points, some flake8, package searx egg 11 years ago
production.cfg dd4662978d fix: robot fw, entry points, some flake8, package searx egg 11 years ago
requirements.txt 337bd6d907 simplify datetime extraction 11 years ago
setup.py 262e12202a Adding `import sys` to fix the installer 10 years ago
versions.cfg 4519de9a3a pin down missing packages in versions.cfg 11 years ago

README.rst

searx
=====

A privacy-respecting, hackable `metasearch
engine `__.

List of `running
instances `__.

See the `wiki `__ for more information.

|Flattr searx|

Features
~~~~~~~~

- Tracking free
- Supports multiple output formats
- json ``curl https://searx.me/?format=json&q=[query]``
- csv ``curl https://searx.me/?format=csv&q=[query]``
- opensearch/rss ``curl https://searx.me/?format=rss&q=[query]``
- Opensearch support (you can set as default search engine)
- Configurable search engines/categories
- Different search languages
- Duckduckgo like !bang functionality with engine shortcuts
- Parallel queries - relatively fast

Installation
~~~~~~~~~~~~

- clone source:
``git clone git@github.com:asciimoo/searx.git && cd searx``
- install dependencies: ``pip install -r requirements.txt``
- edit your
`settings.yml `__
(set your ``secret_key``!)
- run ``python searx/webapp.py`` to start the application

For all the details, follow this `step by step
installation `__

Alternative (Recommended) Installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- clone source:
``git clone git@github.com:asciimoo/searx.git && cd searx``
- build in current folder: ``make minimal``
- run ``bin/searx-run`` to start the application

Development
~~~~~~~~~~~

Just run ``make``. Versions of dependencies are pinned down inside
``versions.cfg`` to produce most stable build. Also remember, NO make
command should be run as root, not even ``make production``

Deployment
~~~~~~~~~~

- clone source:
``git clone git@github.com:asciimoo/searx.git && cd searx``
- build in current folder: ``make production``
- run ``bin/supervisord`` to start the application

Upgrading
~~~~~~~~~

- inside previously cloned searx directory run: ``git stash`` to
temporarily save any changes you have made
- pull source: ``git pull origin master``
- re-build in current folder: ``make production``
- run ``bin/supervisorctl stop searx`` to stop searx, if it does not,
then run ``fuser -k 8888/tcp``
- run ``bin/supervisorctl reload`` to re-read supervisor config and
start searx

Command make
~~~~~~~~~~~~

``make``
''''''''

Builds development environment with testing support.

``make tests``
''''''''''''''

Runs tests. You can write tests
`here `__ and
remember 'untested code is broken code'.

``make robot``
''''''''''''''

Runs robot (Selenium) tests, you must have ``firefox`` installed because
this functional tests actually run the browser and perform operations on
it. Also searx is executed with
`settings\_robot `__.

``make flake8``
'''''''''''''''

'pep8 is a tool to check your Python code against some of the style
conventions in `PEP 8 `__.'

``make coverage``
'''''''''''''''''

Checks coverage of tests, after running this, execute this:
``firefox ./coverage/index.html``

``make production``
'''''''''''''''''''

Used to make co-called production environment - without tests (you
should ran tests before deploying searx on the server). This installs
supervisord, so if searx crashes, it will try to pick itself up again.
And crontab entry is added to start supervisord at server boot.

``make minimal``
''''''''''''''''

Minimal build - without test frameworks, the quickest build option.

``make clean``
''''''''''''''

Deletes several folders and files (see ``Makefile`` for more), so that
next time you run any other ``make`` command it will rebuild everithing.

TODO
~~~~

- Moar engines
- Better ui
- Browser integration
- Documentation
- Fix ``flake8`` errors, ``make flake8`` will be merged into
``make tests`` when it does not fail anymore
- Tests
- When we have more tests, we can integrate Travis-CI

Bugs
~~~~

Bugs or suggestions? Visit the `issue
tracker `__.

`License `__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

More about searx
~~~~~~~~~~~~~~~~

- `ohloh `__
- `twitter `__
- IRC: #searx @ freenode

.. |Flattr searx| image:: http://api.flattr.com/button/flattr-badge-large.png
:target: https://flattr.com/submit/auto?user_id=asciimoo&url=https://github.com/asciimoo/searx&title=searx&language=&tags=github&category=software