hyper-sentinel 0.3.0__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.
- hyper_sentinel-0.3.0.dist-info/METADATA +263 -0
- hyper_sentinel-0.3.0.dist-info/RECORD +27 -0
- hyper_sentinel-0.3.0.dist-info/WHEEL +5 -0
- hyper_sentinel-0.3.0.dist-info/entry_points.txt +4 -0
- hyper_sentinel-0.3.0.dist-info/licenses/LICENSE +661 -0
- hyper_sentinel-0.3.0.dist-info/top_level.txt +1 -0
- sentinel/__init__.py +52 -0
- sentinel/chat.py +1879 -0
- sentinel/cli.py +1185 -0
- sentinel/client.py +1046 -0
- sentinel/exceptions.py +43 -0
- sentinel/memory.py +162 -0
- sentinel/py.typed +0 -0
- sentinel/scrapers/__init__.py +1 -0
- sentinel/scrapers/aster.py +880 -0
- sentinel/scrapers/crypto.py +120 -0
- sentinel/scrapers/dexscreener.py +208 -0
- sentinel/scrapers/discord.py +179 -0
- sentinel/scrapers/elfa.py +265 -0
- sentinel/scrapers/fred.py +160 -0
- sentinel/scrapers/hyperliquid.py +463 -0
- sentinel/scrapers/polymarket.py +540 -0
- sentinel/scrapers/telegram.py +198 -0
- sentinel/scrapers/x.py +125 -0
- sentinel/scrapers/y2.py +227 -0
- sentinel/server.py +367 -0
- sentinel/tool_registry.py +171 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hyper-sentinel
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Python SDK + AI Agent for Sentinel — 80+ crypto trading, AI, and market intelligence tools with interactive chat. Free access, usage-based fees.
|
|
5
|
+
Author-email: Sentinel Labs <dev@hyper-sentinel.com>
|
|
6
|
+
License-Expression: AGPL-3.0-only
|
|
7
|
+
Project-URL: Homepage, https://hyper-sentinel.com
|
|
8
|
+
Project-URL: Documentation, https://hyper-sentinel.com/docs
|
|
9
|
+
Project-URL: Repository, https://github.com/hyper-sentinel/hyper-sentinel-sdk
|
|
10
|
+
Project-URL: Issues, https://github.com/hyper-sentinel/hyper-sentinel-sdk/issues
|
|
11
|
+
Keywords: crypto,trading,ai,defi,hyperliquid,aster,polymarket,sentinel,agent
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Office/Business :: Financial :: Investment
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: httpx>=0.27.0
|
|
27
|
+
Requires-Dist: rich>=13.0
|
|
28
|
+
Requires-Dist: requests>=2.31.0
|
|
29
|
+
Provides-Extra: serve
|
|
30
|
+
Requires-Dist: fastapi>=0.111.0; extra == "serve"
|
|
31
|
+
Requires-Dist: uvicorn[standard]>=0.29.0; extra == "serve"
|
|
32
|
+
Provides-Extra: async
|
|
33
|
+
Requires-Dist: httpx[http2]; extra == "async"
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
36
|
+
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
|
|
37
|
+
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
38
|
+
Requires-Dist: build; extra == "dev"
|
|
39
|
+
Requires-Dist: twine; extra == "dev"
|
|
40
|
+
Dynamic: license-file
|
|
41
|
+
|
|
42
|
+
<div align="center">
|
|
43
|
+
<br/>
|
|
44
|
+
|
|
45
|
+
<picture>
|
|
46
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/HYPER--SENTINEL-SDK-white?style=for-the-badge&labelColor=0d1117&color=0d1117">
|
|
47
|
+
<img alt="Hyper-Sentinel SDK" src="https://img.shields.io/badge/HYPER--SENTINEL-SDK-black?style=for-the-badge">
|
|
48
|
+
</picture>
|
|
49
|
+
|
|
50
|
+
### Local-First AI Agent for Crypto, Equities & Macro
|
|
51
|
+
|
|
52
|
+
12 data sources · 65+ tools · Sub-second queries · One pip install
|
|
53
|
+
|
|
54
|
+
<br/>
|
|
55
|
+
|
|
56
|
+
[](https://pypi.org/project/hyper-sentinel/)
|
|
57
|
+
[](https://pypi.org/project/hyper-sentinel/)
|
|
58
|
+
[](LICENSE)
|
|
59
|
+
[](https://pypi.org/project/hyper-sentinel/)
|
|
60
|
+
|
|
61
|
+
[Website](https://hyper-sentinel.com) · [Docs](https://hyper-sentinel.com/docs/) · [API Reference](https://github.com/hyper-sentinel/docs/blob/main/rest-api/README.md) · [PyPI](https://pypi.org/project/hyper-sentinel/)
|
|
62
|
+
|
|
63
|
+
<br/>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Install
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pip install hyper-sentinel && sentinel-chat
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Paste your LLM key on first run. No email, no account. You're in.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## How It Works
|
|
79
|
+
|
|
80
|
+
Sentinel is an AI agent that calls tools to answer your questions. Common queries hit a **fast path** and return instantly. Everything else goes through your chosen LLM.
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
⚡ You → price of btc and xmr
|
|
84
|
+
|
|
85
|
+
╭─────────────────────── 🛡️ Sentinel ──────────────────────────╮
|
|
86
|
+
│ │
|
|
87
|
+
│ Bitcoin (BTC): $66,565.00 │
|
|
88
|
+
│ 24h: -0.70% · 7d: -3.28% · Market cap: $1.3T │
|
|
89
|
+
│ │
|
|
90
|
+
│ Monero (XMR): $330.89 │
|
|
91
|
+
│ 24h: +0.18% · 7d: -6.13% · Market cap: $6.1B │
|
|
92
|
+
│ │
|
|
93
|
+
╰────────────────────────────────────── ⚡ instant · 0 LLM ─────╯
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
| Query Type | Speed | How |
|
|
97
|
+
|:-----------|:------|:----|
|
|
98
|
+
| `price of btc` / `top 10 crypto` | **< 1 second** | Fast Path — regex match, direct API call, zero LLM |
|
|
99
|
+
| `analyze BTC structure and AAPL recs` | **3–8 seconds** | LLM agent calls tools, formats response |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Data Sources
|
|
104
|
+
|
|
105
|
+
All 12 sources run **locally** via built-in scrapers. No gateway, no cloud dependency.
|
|
106
|
+
|
|
107
|
+
| Source | Tools | Setup |
|
|
108
|
+
|:-------|:------|:------|
|
|
109
|
+
| 🪙 **CoinGecko** | `get_crypto_price` · `get_crypto_top` · `search_crypto` | None — always available |
|
|
110
|
+
| 📈 **YFinance** | `get_stock_quote` · `get_stock_analyst` · `get_stock_news` | None — always available |
|
|
111
|
+
| 📊 **DexScreener** | `dexscreener_search` · `dexscreener_trending` | None — always available |
|
|
112
|
+
| 🏛️ **FRED** | `get_fred_series` · `search_fred` · `get_economic_dashboard` | `add fred` |
|
|
113
|
+
| 📰 **Y2 Intelligence** | `get_news_sentiment` · `get_news_recap` · `get_intelligence_reports` | `add y2` |
|
|
114
|
+
| 🔮 **Elfa AI** | `get_trending_tokens` · `get_top_mentions` · `search_mentions` | `add elfa` |
|
|
115
|
+
| 🐦 **X / Twitter** | `search_x` | `add x` |
|
|
116
|
+
| ⚡ **Hyperliquid** | `get_hl_positions` · `place_hl_order` · `get_hl_orderbook` + 7 more | `add hl` |
|
|
117
|
+
| 🌟 **Aster DEX** | `aster_ticker` · `aster_positions` · `aster_balance` + 7 more | `add aster` |
|
|
118
|
+
| 🎲 **Polymarket** | `get_polymarket_markets` · `buy_polymarket` + 8 more | `add polymarket` |
|
|
119
|
+
| 💬 **Telegram** | `tg_read_channel` · `tg_search_messages` · `tg_list_channels` | `add telegram` |
|
|
120
|
+
| 🎮 **Discord** | `discord_read_channel` · `discord_list_guilds` + 4 more | `add discord` |
|
|
121
|
+
|
|
122
|
+
> 3 sources work out of the box. The rest activate the moment you add a key — no restart needed.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Python SDK
|
|
127
|
+
|
|
128
|
+
```python
|
|
129
|
+
from sentinel import SentinelClient
|
|
130
|
+
|
|
131
|
+
client = SentinelClient() # keys loaded from ~/.sentinel/config
|
|
132
|
+
|
|
133
|
+
# Crypto (instant)
|
|
134
|
+
btc = client.get_crypto_price("bitcoin")
|
|
135
|
+
top = client.get_crypto_top_n(10)
|
|
136
|
+
|
|
137
|
+
# Equities (instant)
|
|
138
|
+
aapl = client.get_stock_price("AAPL")
|
|
139
|
+
|
|
140
|
+
# Perpetual futures (Hyperliquid)
|
|
141
|
+
positions = client.get_hl_positions()
|
|
142
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.5)
|
|
143
|
+
|
|
144
|
+
# Prediction markets (Polymarket)
|
|
145
|
+
markets = client.get_polymarket_markets()
|
|
146
|
+
|
|
147
|
+
# Macro data (FRED)
|
|
148
|
+
gdp = client.get_fred_series("GDP")
|
|
149
|
+
|
|
150
|
+
# AI chat — uses your LLM
|
|
151
|
+
resp = client.chat("What's the best DeFi play right now?")
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Authentication
|
|
157
|
+
|
|
158
|
+
Add your LLM API key. That's it.
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
sentinel-chat # prompts on first run
|
|
162
|
+
sentinel-setup # or run the setup wizard
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
```python
|
|
166
|
+
client = SentinelClient(ai_key="sk-ant-xxx") # or pass directly
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
| Provider | Prefix | Get a key |
|
|
170
|
+
|:---------|:-------|:----------|
|
|
171
|
+
| Anthropic (Claude) | `sk-ant-` | [console.anthropic.com](https://console.anthropic.com) |
|
|
172
|
+
| OpenAI (GPT) | `sk-` | [platform.openai.com](https://platform.openai.com) |
|
|
173
|
+
| Google (Gemini) | `AIza` | [aistudio.google.com](https://aistudio.google.com) |
|
|
174
|
+
| xAI (Grok) | `xai-` | [console.x.ai](https://console.x.ai) |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Commands
|
|
179
|
+
|
|
180
|
+
### Chat (inside `sentinel-chat`)
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
add List all data sources you can configure
|
|
184
|
+
add hl Hyperliquid perp futures
|
|
185
|
+
add polymarket Polymarket prediction markets
|
|
186
|
+
add aster Aster DEX futures
|
|
187
|
+
add fred FRED economic data
|
|
188
|
+
add x X / Twitter
|
|
189
|
+
add y2 Y2 Intelligence news
|
|
190
|
+
add elfa Elfa AI social intel
|
|
191
|
+
add telegram Telegram channels
|
|
192
|
+
add discord Discord bot
|
|
193
|
+
add ai Switch LLM provider
|
|
194
|
+
tools List all 65+ tools
|
|
195
|
+
status Infrastructure dashboard
|
|
196
|
+
clear Reset context
|
|
197
|
+
quit Exit
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Terminal
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
sentinel-chat # Interactive agent
|
|
204
|
+
sentinel-setup # Onboarding wizard
|
|
205
|
+
sentinel ask "price of ETH" # One-shot query
|
|
206
|
+
sentinel status # Dashboard
|
|
207
|
+
sentinel wallet # Manage wallets
|
|
208
|
+
sentinel tools # List all tools
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Architecture
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
sentinel-chat / sentinel ask / SentinelClient
|
|
217
|
+
│
|
|
218
|
+
┌────────────┼────────────┐
|
|
219
|
+
│ │ │
|
|
220
|
+
Fast Path 12 Local Gateway
|
|
221
|
+
(regex) Scrapers (optional)
|
|
222
|
+
│ │ │
|
|
223
|
+
< 1 sec CoinGecko Go API
|
|
224
|
+
zero LLM YFinance Cloud Run
|
|
225
|
+
DexScreener
|
|
226
|
+
FRED
|
|
227
|
+
Y2 · Elfa · X
|
|
228
|
+
Hyperliquid
|
|
229
|
+
Aster · Polymarket
|
|
230
|
+
Telegram · Discord
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
1. **Fast Path** → regex-matched price/top queries → instant
|
|
234
|
+
2. **Local Scrapers** → all tool calls execute locally
|
|
235
|
+
3. **Gateway** → optional, for premium cloud features
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Error Handling
|
|
240
|
+
|
|
241
|
+
```python
|
|
242
|
+
from sentinel.exceptions import SentinelError, AuthError, RateLimitError
|
|
243
|
+
|
|
244
|
+
try:
|
|
245
|
+
client.place_hl_order(coin="ETH", side="buy", size=0.1)
|
|
246
|
+
except RateLimitError as e:
|
|
247
|
+
print(f"Rate limited — retry after {e.retry_after}s")
|
|
248
|
+
except AuthError:
|
|
249
|
+
print("Invalid credentials")
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Links
|
|
255
|
+
|
|
256
|
+
- [hyper-sentinel.com](https://hyper-sentinel.com) — Website
|
|
257
|
+
- [Docs](https://hyper-sentinel.com/docs/) — Full documentation
|
|
258
|
+
- [API Reference](https://github.com/hyper-sentinel/docs/blob/main/rest-api/README.md) — Every endpoint
|
|
259
|
+
- [PyPI](https://pypi.org/project/hyper-sentinel/) — Package
|
|
260
|
+
|
|
261
|
+
## License
|
|
262
|
+
|
|
263
|
+
[AGPL-3.0](LICENSE) — © 2026 Sentinel Labs
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
hyper_sentinel-0.3.0.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
2
|
+
sentinel/__init__.py,sha256=DKPDeTPRWIrOdO0FAwXYECw9vwjRUsv9e0c2IFn6QSA,1633
|
|
3
|
+
sentinel/chat.py,sha256=v-OrqEMphWz3DYaBOuc2uGWUO-KkjMj_bN6bxqcadwU,87556
|
|
4
|
+
sentinel/cli.py,sha256=uW_YUn1qw1fayfKOwhJ0VxXZHKHVMUntDGLCBzib9ZY,52999
|
|
5
|
+
sentinel/client.py,sha256=-LyojttqMf37M9YqJ-akw4ZQlVLwQUYv4E_c5AC9NV4,48459
|
|
6
|
+
sentinel/exceptions.py,sha256=ikG3_eOSK4jUDmEiV7fczLRGQe0o_zUQXz3Nk3ntSdE,1332
|
|
7
|
+
sentinel/memory.py,sha256=ARa1FswWKgBMYId-w_OgPBtiNfKvM2QOw6KdNMdSBzE,4910
|
|
8
|
+
sentinel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
sentinel/server.py,sha256=am76_sZNj0oRPhS8mtFim_zQ58WV0zJTtlNjdZsjae0,14889
|
|
10
|
+
sentinel/tool_registry.py,sha256=hfo03yXO0dfYc7BIoURhwLv1Cvb_ky5Kq6R_No8aJvY,5559
|
|
11
|
+
sentinel/scrapers/__init__.py,sha256=1ZcP0dDDT12O4vSLSwDv7JIt_PDt2tTujwk1cUSL3vI,61
|
|
12
|
+
sentinel/scrapers/aster.py,sha256=GTJtYPnyjG6TXQJZKnAsZtV3b16bac3PpdUhspPQGIM,35126
|
|
13
|
+
sentinel/scrapers/crypto.py,sha256=WEaTb4TqXhyVLueLmOtD9a5W0Y8uv3LO8AcuoeL-o_4,4325
|
|
14
|
+
sentinel/scrapers/dexscreener.py,sha256=s6Rsem-ZnQkWrAok1FaKAc8tuxO3W7TMcfCJ3FcMKGw,7614
|
|
15
|
+
sentinel/scrapers/discord.py,sha256=2AkwCRLklvr1iW6unQBi_YublSd5SJQDzmC3Fa5yiMs,5247
|
|
16
|
+
sentinel/scrapers/elfa.py,sha256=wJHXeddUN7ZjGX2yEWGxRvLdR1AyJ7Jbq0a9oUkyXYQ,8719
|
|
17
|
+
sentinel/scrapers/fred.py,sha256=Dd0dj4Go11zZ9dqUv_l-dXoVi-Rkpb0OvlFPbjuRaWM,5668
|
|
18
|
+
sentinel/scrapers/hyperliquid.py,sha256=WBCsiDO54MdtPwgw4GAImmFrvbg23lU-RonoUBPWPcs,15557
|
|
19
|
+
sentinel/scrapers/polymarket.py,sha256=Cm0CESPfYnCeXLxt30_37BaMrqo0HHvxZnhHELTjILo,18220
|
|
20
|
+
sentinel/scrapers/telegram.py,sha256=ifrcK8e9C5W8O34L44doU03sdGQN50UR8CFwj_BpPOo,6023
|
|
21
|
+
sentinel/scrapers/x.py,sha256=0g1rV7pFPl1XQBHUuVsOjJd7wVbpd5XHfBrprSpZySA,4808
|
|
22
|
+
sentinel/scrapers/y2.py,sha256=rGqWOlA8gQFJFy3K4jtnim9Efwoc5G1V143vXbX3BQU,7535
|
|
23
|
+
hyper_sentinel-0.3.0.dist-info/METADATA,sha256=R8zs9BTyy1tvX1x2JJrNveQ8n2QSS1-2yPVweImyv48,9862
|
|
24
|
+
hyper_sentinel-0.3.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
25
|
+
hyper_sentinel-0.3.0.dist-info/entry_points.txt,sha256=iagDAzRKO8mNGLCwnd7gDjngNoZcMTQ0K-EFZOkG8bI,125
|
|
26
|
+
hyper_sentinel-0.3.0.dist-info/top_level.txt,sha256=tffn0oUCkyTZs6yuGcwFCZJxRUrJi_wFmpKwWBYlzVE,9
|
|
27
|
+
hyper_sentinel-0.3.0.dist-info/RECORD,,
|