Metadata-Version: 2.4
Name: sopel-search
Version: 1.3.0
Summary: Search plugin for Sopel IRC bots
Author-email: dgw <dgw@technobabbl.es>
License-Expression: EFL-2.0
Project-URL: Homepage, https://github.com/sopel-irc/sopel-search
Project-URL: Bug Tracker, https://github.com/sopel-irc/sopel-search/issues
Keywords: sopel,plugin,bot,irc
Platform: Linux x86, x86-64
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Communications :: Chat :: Internet Relay Chat
Requires-Python: <4,>=3.9
Description-Content-Type: text/markdown
License-File: COPYING
Requires-Dist: sopel>=8.0
Requires-Dist: ddgs>=9.0
Requires-Dist: xmltodict~=0.13.0
Requires-Dist: requests
Dynamic: license-file

# sopel-search

Search plugin for Sopel IRC bots

## Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is `pip`:

```shell
$ pip install sopel-search
```

This plugin is designed for use with Sopel version 8.0+, but may have a higher
minimum Python version requirement than Sopel itself due to upstream libraries.

## Configuring

The easiest way to configure `sopel-search` is via Sopel's configuration
wizard—simply run `sopel-plugins configure search` and enter the values for
which it prompts you. Available settings are:

* `region`: Set this to the primary geographical region of your bot's users,
  using one of the values from https://duckduckgo.com/params

  Setting this correctly may improve the relevance of both search results and
  query suggestions using `.suggest`.
* `safesearch`: Controls SafeSearch filtering of `.search` results; one of 'on',
  'moderate', and 'off'.

## Using

Two primary functions are available, `search` and `suggest`:

* `.search` (aliases: `.ddg`, `.g`): Perform a text search and return the top result
* `.suggest`: Fetch autocomplete suggestions for the stem of a search query

## Changelog

### 1.3.0

* Migrate DDGS library from 8.x to 9.x ([#9][])
  * **Includes package name change to `ddgs`; the older `duckduckgo_search`
    package is no longer used nor updated.**
* Fixed `.suggest` and merged it with `.gsuggest` ([#9][])

[#9]: https://github.com/sopel-irc/sopel-search/pull/9


### 1.2.0

* Upgrade DDGS library from 6.x to 8.x ([#6][])
  * **This also required raising the minimum Python version to 3.9**
* Update package metadata for PEP 639 ([#7][])

[#6]: https://github.com/sopel-irc/sopel-search/pull/6
[#7]: https://github.com/sopel-irc/sopel-search/pull/7


### 1.1.0

* Handle common errors with some amount of grace ([#4][])
* Refresh the DDGS client periodically to reduce errors ([#5][])

[#4]: https://github.com/sopel-irc/sopel-search/pull/4
[#5]: https://github.com/sopel-irc/sopel-search/pull/5


### 1.0.1

Bump DuckDuckGo library minimum version; older releases stopped working.


### 1.0.0

First release of `sopel-search`.

This new search plugin apes a lot of behaviors from Sopel's built-in `search`,
with the following notable changes:

* `.bing` is no longer available
* `.search` is an alias to `.ddg`, as `.g` was already
* Search `region` and `safesearch` level are now configurable
* `.suggest` uses DuckDuckGo; Google suggestions are still available via the
  new `.gsuggest` command (if optional extra dependencies are installed)
