RDTSearch 0.13.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,137 @@
1
+ Metadata-Version: 2.4
2
+ Name: RDTSearch
3
+ Version: 0.13.1
4
+ Summary: Official terminal client for RDTvlokip Search — an independent, privacy-first French search engine
5
+ Author: RDTvlokip
6
+ License-Expression: AGPL-3.0-or-later
7
+ Project-URL: Homepage, https://rdtsearch.rdtvlokip.fr/
8
+ Project-URL: Search engine, https://search.rdtvlokip.fr
9
+ Project-URL: API, https://search.rdtvlokip.fr/api
10
+ Project-URL: Repository, https://github.com/RDTvlokip/rdtsearch
11
+ Project-URL: PyPI, https://pypi.org/project/rdtsearch/
12
+ Keywords: search,seo,backlinks,cli,tui,search engine,privacy
13
+ Classifier: Environment :: Console
14
+ Classifier: Natural Language :: French
15
+ Classifier: Natural Language :: English
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
25
+ Requires-Python: >=3.8
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Dynamic: license-file
29
+
30
+ # RDTSearch
31
+
32
+ Official terminal client for **[RDTvlokip Search](https://search.rdtvlokip.fr)** — an independent, privacy-first French search engine (~4.6M indexed pages, in-house crawler).
33
+
34
+ **Single file, zero dependencies** (Python 3.8+ stdlib only), bilingual **French / English**, Windows first, Linux/macOS supported.
35
+
36
+ ## Features
37
+
38
+ - **Search** the index with highlighted snippets, featured snippets, tracker and adult-content flags
39
+ - **Domain tools**: indexing status, submission tracking, continuous indexing **watch**
40
+ - **Engine statistics**: pages/domains/URLs totals, daily and hourly crawl charts
41
+ - **Backlink analysis (SEO)**: global link graph stats, top linked domains, per-domain backlinks (source, anchor, nofollow/sponsored/UGC), anchor-text distribution, evolution history, CSV/JSON export
42
+ - **SEO duel** (`compare`): two domains side by side — indexed pages, inbound links, top anchor, winner
43
+ - **Self-diagnostic** (`doctor`): terminal, configuration and server health in one command
44
+ - **Local snapshot cache**: backlink analyses are kept per day to save the anonymous quota
45
+ - **Autocomplete suggestions** and **server health** (latency, server time)
46
+ - **Interactive TUI**: framed interface with live stats sidebar, Tab completion and command palette, fish-style ghost completion, input history, arrow-key menus, contextual footer, result detail sheets with score breakdown, open results in your browser
47
+ - **Settings** (`/settings`): language, glyphs (UTF/ASCII), colors, adult-content filter, persistent history, API timeout — with a terminal diagnostic
48
+ - **Scripting friendly**: `--json` on every command, piped mode, colors auto-disabled outside a TTY, HTTP 429 / `Retry-After` handled
49
+
50
+ ## Installation
51
+
52
+ ```
53
+ pip install rdtsearch
54
+ ```
55
+
56
+ or, isolated (recommended for CLI tools):
57
+
58
+ ```
59
+ pipx install rdtsearch
60
+ ```
61
+
62
+ Requires Python 3.8+. No third-party packages.
63
+
64
+ ## CLI usage
65
+
66
+ ```
67
+ rdtsearch search "debian" [-p N] search the index (page N)
68
+ rdtsearch domain example.com indexing status of a domain
69
+ rdtsearch watch example.com [-i SEC] watch indexing continuously (default 300s)
70
+ rdtsearch compare a.com b.com SEO duel between two domains
71
+ rdtsearch stats [-d DAYS] engine and crawler statistics (default: 7 days)
72
+ rdtsearch suggest "linu" autocomplete suggestions
73
+ rdtsearch health server health and latency
74
+ rdtsearch doctor client + server self-diagnostic
75
+ rdtsearch status example.com submission status of a domain
76
+
77
+ rdtsearch backlinks stats global link graph statistics
78
+ rdtsearch backlinks top [-n N] domains with the most backlinks
79
+ rdtsearch backlinks detail example.com backlinks of a domain (source, anchor, flags)
80
+ rdtsearch backlinks anchors example.com anchor-text distribution
81
+ rdtsearch backlinks history example.com backlink evolution snapshots
82
+ rdtsearch backlinks export example.com [--format csv|json] [-o FILE]
83
+ ```
84
+
85
+ Global options:
86
+
87
+ | Option | Effect |
88
+ |---|---|
89
+ | `--json` | raw JSON output (every command) |
90
+ | `--lang auto\|fr\|en` | interface language (default: saved setting or OS language) |
91
+ | `--timeout S` | API timeout in seconds, 1–120 (default: 15) |
92
+ | `--no-color` | disable colors |
93
+ | `--tui` | force the interactive interface |
94
+ | `--version` | show version |
95
+
96
+ `backlinks detail` and `/backlinks` reuse today's local snapshot to save the anonymous quota; add `--fresh` to query the API again.
97
+
98
+ ## Interactive TUI
99
+
100
+ Run `rdtsearch` with no arguments in a terminal.
101
+
102
+ - **Type anything** and press Enter to search
103
+ - **Digits** open a result in your browser, `i <n>` shows a result detail sheet (score breakdown), `n` / `p` change page
104
+ - **Slash commands**: `/backlinks` `/clear` `/compare` `/doctor` `/domain` `/health` `/help` `/refresh` `/settings` `/stats` `/status` `/suggest` `/watch` `/quit`
105
+ - **`/watch <domain> [sec]`** runs a live indexing monitor (default 30s): the frame redraws with a timestamped change log — press any key to stop
106
+ - **`/compare a.com b.com`** and **`/doctor`** are available in the TUI too, as full views
107
+ - **Tab**: command completion, contextual menus (suggestions, results, periods, settings), and a full command palette on an empty line
108
+ - **Ghost completion** (fish-style): the likely continuation appears in grey, accept it with `→` at the end of the line
109
+ - **↑ ↓** input history, **Esc** clears the line, commands are colored green (valid) or red (unknown) as you type
110
+
111
+ ## Settings
112
+
113
+ `/settings` (TUI) or the config file persists: interface **language**, **glyphs** (auto / UTF / ASCII), **colors** (auto / on / off), **adult-content** filter, **history** persistence (off by default), and **API timeout**. A diagnostic panel shows the detected terminal size, encoding, active glyphs/colors and OS language.
114
+
115
+ Config lives in `%APPDATA%\rdtsearch\` (Windows) or `~/.config/rdtsearch/` (Unix).
116
+
117
+ ## Anonymous limits
118
+
119
+ The backlinks API has a free anonymous tier (server-side): 10 backlinks per analysis, 3 analyses per day, export reserved for premium accounts. The client reports these limits clearly and caches each analysis locally so re-viewing it does not spend quota.
120
+
121
+ ## Terminal support
122
+
123
+ - Full Unicode interface in modern terminals: Windows Terminal, VS Code, ConEmu/Cmder, and all Unix terminals
124
+ - Automatic ASCII fallback in the legacy Windows console (cmd.exe / conhost); forceable via `/settings`
125
+ - Piped or redirected output falls back to a plain, script-friendly mode
126
+
127
+ ## License
128
+
129
+ [GNU AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html) — free software; if you run a modified version as a network service, you must offer its source to users.
130
+
131
+ ## Links
132
+
133
+ - Homepage: https://rdtsearch.rdtvlokip.fr/
134
+ - PyPI: https://pypi.org/project/rdtsearch/
135
+ - Source (GitHub): https://github.com/RDTvlokip/rdtsearch
136
+ - Search engine: https://search.rdtvlokip.fr
137
+ - API documentation: https://search.rdtvlokip.fr/api
@@ -0,0 +1,7 @@
1
+ rdtsearch.py,sha256=CuVXVUs3tJrIMSQQEsYCCFzGLMXu1YqyQ9tpUo6JnXw,126930
2
+ rdtsearch-0.13.1.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
3
+ rdtsearch-0.13.1.dist-info/METADATA,sha256=mbPqgXJNWj18khyCp7rWNOvkoB28KsPcCV9nwoVzUWo,7300
4
+ rdtsearch-0.13.1.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
5
+ rdtsearch-0.13.1.dist-info/entry_points.txt,sha256=ehWaxgaibXPv6FzheSILwS4IYEhZ-MwoyRt99rqa3I4,45
6
+ rdtsearch-0.13.1.dist-info/top_level.txt,sha256=hOleVKy6CTwITOPnu_KT-gvWw69MRlzICIQff42hEvg,10
7
+ rdtsearch-0.13.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (83.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rdtsearch = rdtsearch:main