In development -
[TODO](https://github.com/search?q=repo%3Aclorteau%2Farch-wiki-search%20TODO&type=code)s
## Read and search Archwiki and other wikis, online or offline, in HTML, markdown or text, on the desktop or the terminal ##
*💡The idea is to always have access to your important wikis, even when things are so FUBAR there's no graphical environment or internet, and also to reduce the load on the wiki hoster themselves since users would be using their own cache most of the time.*
It launches the browser appropriate to your environment, caches what you access +1 level of links if needed on the fly while you have a network connection, and accesses the cache when you're offline or the cache needs a refresh. It can also simplify the pages on the fly and export and import caches for out-of-band sharing or inclusion in an install media.
There's no option to cache a whole wiki at once, in order to, you know, *not* DDOS them. So what will be available offline will be what you already accessed online manually, or that you imported with --merge prior.
For instance:
`$ arch-wiki-search "installation guide"`
`$ arch-wiki-search --wiki=wikipedia --conv=txt "MIT license"`
[TODO: screenshots/webms]
See --help:
```bash
$ arch-wiki-search [-h] [-w {archwiki,discovery,fedorawiki,freebsdwiki,gentoowiki,manjarowiki,pythonwiki,slackdocs,wikipedia}]
[-u URL] [-s SEARCHSTRING] [-c {raw,clean,txt}] [--offline] [--refresh] [-v] [-x] [-m MERGE] [-d]
[search]
Read and search Archwiki and other wikis, online or offline, in HTML, markdown or text, on the desktop or the terminal
Examples:
🡪 $ arch-wiki-search "installation guide"
🡪 $ arch-wiki-search --wiki=wikipedia --conv=txt "MIT license"
positional arguments:
search string to search (ex: "installation guide")
options:
-h, --help show this help message and exit
-w, --wiki {archwiki,discovery,fedorawiki,freebsdwiki,gentoowiki,manjarowiki,pythonwiki,slackdocs,wikipedia}
Load a known wiki by name (ex: --wiki=wikipedia) [Default: archwiki]
-u, --url URL URL of wiki to browse (ex: https://wikipedia.org, https://wiki.freebsd.org)
-s, --searchstring SEARCHSTRING
alternative search string (ex: "/wiki/Special:Search?go=Go&search=", "/FrontPage?action=fullsearch&value=")
-c, --conv {raw,clean,txt}
conversion mode:
raw: no conversion (but still remove binaries)
clean: convert to cleaner html (no styles or scripts)
basic: convert to basic HTML
txt: convert to plain text
[Default: 'raw' in graphical environment, 'basic' in text mode]
--offline, --test Don't try to go online, only use cached copy if it exists
--refresh Force going online and refresh the cache
-v, --version Print version number and exit
-x, --export Export cache as .zip file
-m, --merge MERGE Import and merge cache from a zip file created with --export
--clear Clear cache and exit
-d, --debug
Options -u and -s overwrite the corresponding url or searchstring provided by -w
Known wiki names and their url/searchstring pairs are read from a 'wikis.yaml' file in '$(pwd)' and '{$HOME}/.config/arch-wiki-search'
Github: 🌐https://github.com/clorteau/arch-wiki-search
Request to add new wiki: 🌐https://github.com/clorteau/arch-wiki-search/issues/new?template=new-wiki.md
```
### Installation ###
#### Arch Linux and derivatives through AUR ####
```bash
$ yay -S arch-wiki-search
```
#### Anywhere through PyPI ####
```bash
$ pipx install arch-wiki-search
```
Raw data
{
"_id": null,
"home_page": null,
"name": "arch-wiki-search",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "arch, python, wiki",
"author": null,
"author_email": "Clem Lorteau <spam@lorteau.fr>",
"download_url": "https://files.pythonhosted.org/packages/b4/af/44f9315a2b901c78691188c2e35bf6303c06c52db7e4aa535a89bc0b906b/arch_wiki_search-20250827.tar.gz",
"platform": null,
"description": "In development - \n[TODO](https://github.com/search?q=repo%3Aclorteau%2Farch-wiki-search%20TODO&type=code)s\n\n\n\n## Read and search Archwiki and other wikis, online or offline, in HTML, markdown or text, on the desktop or the terminal ##\n\n*\ud83d\udca1The idea is to always have access to your important wikis, even when things are so FUBAR there's no graphical environment or internet, and also to reduce the load on the wiki hoster themselves since users would be using their own cache most of the time.*\n\nIt launches the browser appropriate to your environment, caches what you access +1 level of links if needed on the fly while you have a network connection, and accesses the cache when you're offline or the cache needs a refresh. It can also simplify the pages on the fly and export and import caches for out-of-band sharing or inclusion in an install media. \n\nThere's no option to cache a whole wiki at once, in order to, you know, *not* DDOS them. So what will be available offline will be what you already accessed online manually, or that you imported with --merge prior.\n\nFor instance:\n\n`$ arch-wiki-search \"installation guide\"`\n\n`$ arch-wiki-search --wiki=wikipedia --conv=txt \"MIT license\"`\n\n[TODO: screenshots/webms]\n \nSee --help:\n\n\n```bash\n$ arch-wiki-search [-h] [-w {archwiki,discovery,fedorawiki,freebsdwiki,gentoowiki,manjarowiki,pythonwiki,slackdocs,wikipedia}]\n [-u URL] [-s SEARCHSTRING] [-c {raw,clean,txt}] [--offline] [--refresh] [-v] [-x] [-m MERGE] [-d]\n [search]\n\nRead and search Archwiki and other wikis, online or offline, in HTML, markdown or text, on the desktop or the terminal\n\nExamples:\n \ud83e\udc6a $ arch-wiki-search \"installation guide\"\n \ud83e\udc6a $ arch-wiki-search --wiki=wikipedia --conv=txt \"MIT license\"\n\npositional arguments:\n search string to search (ex: \"installation guide\")\n\noptions:\n -h, --help show this help message and exit\n -w, --wiki {archwiki,discovery,fedorawiki,freebsdwiki,gentoowiki,manjarowiki,pythonwiki,slackdocs,wikipedia}\n Load a known wiki by name (ex: --wiki=wikipedia) [Default: archwiki]\n -u, --url URL URL of wiki to browse (ex: https://wikipedia.org, https://wiki.freebsd.org)\n -s, --searchstring SEARCHSTRING\n alternative search string (ex: \"/wiki/Special:Search?go=Go&search=\", \"/FrontPage?action=fullsearch&value=\")\n -c, --conv {raw,clean,txt}\n conversion mode:\n raw: no conversion (but still remove binaries)\n clean: convert to cleaner html (no styles or scripts)\n basic: convert to basic HTML\n txt: convert to plain text\n [Default: 'raw' in graphical environment, 'basic' in text mode]\n --offline, --test Don't try to go online, only use cached copy if it exists\n --refresh Force going online and refresh the cache\n -v, --version Print version number and exit\n -x, --export Export cache as .zip file\n -m, --merge MERGE Import and merge cache from a zip file created with --export\n --clear Clear cache and exit\n -d, --debug\n\nOptions -u and -s overwrite the corresponding url or searchstring provided by -w\nKnown wiki names and their url/searchstring pairs are read from a 'wikis.yaml' file in '$(pwd)' and '{$HOME}/.config/arch-wiki-search'\nGithub: \ud83c\udf10https://github.com/clorteau/arch-wiki-search\nRequest to add new wiki: \ud83c\udf10https://github.com/clorteau/arch-wiki-search/issues/new?template=new-wiki.md\n```\n\n### Installation ###\n\n#### Arch Linux and derivatives through AUR ####\n```bash\n$ yay -S arch-wiki-search\n```\n\n#### Anywhere through PyPI ####\n```bash\n$ pipx install arch-wiki-search\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Read and search Archwiki and other wikis, online or offline, on the desktop or the terminal",
"version": "20250827",
"project_urls": {
"Homepage": "https://github.com/clorteau/arch-wiki-search",
"Issues": "https://github.com/clorteau/arch-wiki-search/issues"
},
"split_keywords": [
"arch",
" python",
" wiki"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "733655a15279262ddfcd620771430dc6eda89eed88c4070c0639cd3585b2dfdb",
"md5": "da714d674aa6555b1b3a8f4209e42811",
"sha256": "8cb5d4ab3a7a2c548a857436077b27c8cf89cb18124d9fed5235689545c18fb7"
},
"downloads": -1,
"filename": "arch_wiki_search-20250827-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da714d674aa6555b1b3a8f4209e42811",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 19021,
"upload_time": "2025-08-28T01:48:51",
"upload_time_iso_8601": "2025-08-28T01:48:51.487607Z",
"url": "https://files.pythonhosted.org/packages/73/36/55a15279262ddfcd620771430dc6eda89eed88c4070c0639cd3585b2dfdb/arch_wiki_search-20250827-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b4af44f9315a2b901c78691188c2e35bf6303c06c52db7e4aa535a89bc0b906b",
"md5": "8112b5d33288b19d885ee450efe8ded0",
"sha256": "27e67c092dfcf18028a9e9cd5eda5a5ec89d72847c542d565bf0fd94a5240abd"
},
"downloads": -1,
"filename": "arch_wiki_search-20250827.tar.gz",
"has_sig": false,
"md5_digest": "8112b5d33288b19d885ee450efe8ded0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 16273,
"upload_time": "2025-08-28T01:48:52",
"upload_time_iso_8601": "2025-08-28T01:48:52.688714Z",
"url": "https://files.pythonhosted.org/packages/b4/af/44f9315a2b901c78691188c2e35bf6303c06c52db7e4aa535a89bc0b906b/arch_wiki_search-20250827.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-28 01:48:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "clorteau",
"github_project": "arch-wiki-search",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "aiohttp_client_cache",
"specs": []
},
{
"name": "aiofiles",
"specs": []
},
{
"name": "aiosqlite",
"specs": []
},
{
"name": "aiodns",
"specs": []
},
{
"name": "aiohttp",
"specs": []
},
{
"name": "lxml_html_clean",
"specs": []
},
{
"name": "beautifulsoup4",
"specs": []
},
{
"name": "html5lib",
"specs": []
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "markdownify",
"specs": []
},
{
"name": "markdown",
"specs": []
},
{
"name": "pyqt6",
"specs": []
},
{
"name": "textual",
"specs": []
}
],
"lcname": "arch-wiki-search"
}