webscout 2025.10.15__py3-none-any.whl → 2025.10.16__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.
Potentially problematic release.
This version of webscout might be problematic. Click here for more details.
- webscout/Extra/YTToolkit/README.md +1 -1
- webscout/Extra/tempmail/README.md +3 -3
- webscout/Provider/OPENAI/README.md +1 -1
- webscout/Provider/TTI/bing.py +4 -4
- webscout/__init__.py +1 -1
- webscout/client.py +4 -5
- webscout/litprinter/__init__.py +0 -42
- webscout/scout/README.md +59 -8
- webscout/scout/core/scout.py +62 -0
- webscout/scout/element.py +251 -45
- webscout/search/__init__.py +3 -4
- webscout/search/engines/bing/images.py +5 -2
- webscout/search/engines/bing/news.py +6 -4
- webscout/search/engines/bing/text.py +5 -2
- webscout/search/engines/yahoo/__init__.py +41 -0
- webscout/search/engines/yahoo/answers.py +16 -0
- webscout/search/engines/yahoo/base.py +34 -0
- webscout/search/engines/yahoo/images.py +324 -0
- webscout/search/engines/yahoo/maps.py +16 -0
- webscout/search/engines/yahoo/news.py +258 -0
- webscout/search/engines/yahoo/suggestions.py +140 -0
- webscout/search/engines/yahoo/text.py +273 -0
- webscout/search/engines/yahoo/translate.py +16 -0
- webscout/search/engines/yahoo/videos.py +302 -0
- webscout/search/engines/yahoo/weather.py +220 -0
- webscout/search/http_client.py +1 -1
- webscout/search/yahoo_main.py +54 -0
- webscout/{auth → server}/__init__.py +2 -23
- webscout/server/config.py +84 -0
- webscout/{auth → server}/request_processing.py +3 -28
- webscout/{auth → server}/routes.py +6 -148
- webscout/server/schemas.py +23 -0
- webscout/{auth → server}/server.py +11 -43
- webscout/server/simple_logger.py +84 -0
- webscout/version.py +1 -1
- webscout/version.py.bak +1 -1
- webscout/zeroart/README.md +17 -9
- webscout/zeroart/__init__.py +78 -6
- webscout/zeroart/effects.py +51 -1
- webscout/zeroart/fonts.py +559 -1
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/METADATA +10 -52
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/RECORD +49 -45
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/entry_points.txt +1 -1
- webscout/auth/api_key_manager.py +0 -189
- webscout/auth/auth_system.py +0 -85
- webscout/auth/config.py +0 -175
- webscout/auth/database.py +0 -755
- webscout/auth/middleware.py +0 -248
- webscout/auth/models.py +0 -185
- webscout/auth/rate_limiter.py +0 -254
- webscout/auth/schemas.py +0 -103
- webscout/auth/simple_logger.py +0 -236
- webscout/search/engines/yahoo.py +0 -65
- webscout/search/engines/yahoo_news.py +0 -64
- /webscout/{auth → server}/exceptions.py +0 -0
- /webscout/{auth → server}/providers.py +0 -0
- /webscout/{auth → server}/request_models.py +0 -0
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/WHEEL +0 -0
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/licenses/LICENSE.md +0 -0
- {webscout-2025.10.15.dist-info → webscout-2025.10.16.dist-info}/top_level.txt +0 -0
webscout/zeroart/fonts.py
CHANGED
|
@@ -1236,4 +1236,562 @@ class ShadowFont(ZeroArtFont):
|
|
|
1236
1236
|
]
|
|
1237
1237
|
}
|
|
1238
1238
|
|
|
1239
|
-
self.letters.update(shadow_letters)
|
|
1239
|
+
self.letters.update(shadow_letters)
|
|
1240
|
+
|
|
1241
|
+
class ThreeDFont(ZeroArtFont):
|
|
1242
|
+
"""3D-style ASCII art font"""
|
|
1243
|
+
def __init__(self) -> None:
|
|
1244
|
+
super().__init__("3d")
|
|
1245
|
+
self.letters: Dict[str, List[str]] = {
|
|
1246
|
+
' ': [" ", " ", " ", " ", " "]
|
|
1247
|
+
}
|
|
1248
|
+
self._populate_letters()
|
|
1249
|
+
|
|
1250
|
+
def _populate_letters(self) -> None:
|
|
1251
|
+
"""Populate 3D-style letters"""
|
|
1252
|
+
three_d_letters = {
|
|
1253
|
+
'A': [
|
|
1254
|
+
" /\\ ",
|
|
1255
|
+
" / \\ ",
|
|
1256
|
+
" / /\\ \\ ",
|
|
1257
|
+
"/_/----\\_\\",
|
|
1258
|
+
" / \\ "
|
|
1259
|
+
],
|
|
1260
|
+
'B': [
|
|
1261
|
+
" ____ ",
|
|
1262
|
+
"| _ \\ ",
|
|
1263
|
+
"| |_) |",
|
|
1264
|
+
"| _ < ",
|
|
1265
|
+
"| |_) |",
|
|
1266
|
+
"|____/ "
|
|
1267
|
+
],
|
|
1268
|
+
'C': [
|
|
1269
|
+
" ____ ",
|
|
1270
|
+
" / ___| ",
|
|
1271
|
+
"| | ",
|
|
1272
|
+
"| |___ ",
|
|
1273
|
+
" \\____| "
|
|
1274
|
+
],
|
|
1275
|
+
'D': [
|
|
1276
|
+
" ____ ",
|
|
1277
|
+
"| _ \\ ",
|
|
1278
|
+
"| | | |",
|
|
1279
|
+
"| | | |",
|
|
1280
|
+
"| |/ / ",
|
|
1281
|
+
"|___/ "
|
|
1282
|
+
],
|
|
1283
|
+
'E': [
|
|
1284
|
+
" ____ ",
|
|
1285
|
+
"| ___| ",
|
|
1286
|
+
"| |__ ",
|
|
1287
|
+
"| __| ",
|
|
1288
|
+
"| |___ ",
|
|
1289
|
+
"|_____| "
|
|
1290
|
+
],
|
|
1291
|
+
'F': [
|
|
1292
|
+
" ____ ",
|
|
1293
|
+
"| ___| ",
|
|
1294
|
+
"| |__ ",
|
|
1295
|
+
"| __| ",
|
|
1296
|
+
"| | ",
|
|
1297
|
+
"|_| "
|
|
1298
|
+
],
|
|
1299
|
+
'G': [
|
|
1300
|
+
" ____ ",
|
|
1301
|
+
" / ___| ",
|
|
1302
|
+
"| | _ ",
|
|
1303
|
+
"| |_| | ",
|
|
1304
|
+
" \\___| |",
|
|
1305
|
+
" |_|"
|
|
1306
|
+
],
|
|
1307
|
+
'H': [
|
|
1308
|
+
" _ _ ",
|
|
1309
|
+
"| | | |",
|
|
1310
|
+
"| |__| |",
|
|
1311
|
+
"| __ |",
|
|
1312
|
+
"| | | |",
|
|
1313
|
+
"|_| |_|"
|
|
1314
|
+
],
|
|
1315
|
+
'I': [
|
|
1316
|
+
" ___ ",
|
|
1317
|
+
"|_ |",
|
|
1318
|
+
" | |",
|
|
1319
|
+
" | |",
|
|
1320
|
+
" | |",
|
|
1321
|
+
" |_|"
|
|
1322
|
+
],
|
|
1323
|
+
'J': [
|
|
1324
|
+
" ___ ",
|
|
1325
|
+
" |_ |",
|
|
1326
|
+
" | |",
|
|
1327
|
+
" | |",
|
|
1328
|
+
"/\\ | |",
|
|
1329
|
+
"\\/|_|"
|
|
1330
|
+
],
|
|
1331
|
+
'K': [
|
|
1332
|
+
" _ __ ",
|
|
1333
|
+
"| |/ / ",
|
|
1334
|
+
"| ' / ",
|
|
1335
|
+
"| < ",
|
|
1336
|
+
"| . \\ ",
|
|
1337
|
+
"|_|\\_\\ "
|
|
1338
|
+
],
|
|
1339
|
+
'L': [
|
|
1340
|
+
" _ ",
|
|
1341
|
+
"| | ",
|
|
1342
|
+
"| | ",
|
|
1343
|
+
"| | ",
|
|
1344
|
+
"| |___ ",
|
|
1345
|
+
"|_____|"
|
|
1346
|
+
],
|
|
1347
|
+
'M': [
|
|
1348
|
+
" __ __ ",
|
|
1349
|
+
"| \\/ |",
|
|
1350
|
+
"| |\\/| |",
|
|
1351
|
+
"| | | |",
|
|
1352
|
+
"| | | |",
|
|
1353
|
+
"|_| |_|"
|
|
1354
|
+
],
|
|
1355
|
+
'N': [
|
|
1356
|
+
" _ _ ",
|
|
1357
|
+
"| \\ | |",
|
|
1358
|
+
"| \\| |",
|
|
1359
|
+
"| . ` |",
|
|
1360
|
+
"| |\\ |",
|
|
1361
|
+
"|_| \\_|"
|
|
1362
|
+
],
|
|
1363
|
+
'O': [
|
|
1364
|
+
" ____ ",
|
|
1365
|
+
" / __ \\ ",
|
|
1366
|
+
"| | | |",
|
|
1367
|
+
"| | | |",
|
|
1368
|
+
"| |__| |",
|
|
1369
|
+
" \\____/ "
|
|
1370
|
+
],
|
|
1371
|
+
'P': [
|
|
1372
|
+
" ____ ",
|
|
1373
|
+
"| _ \\ ",
|
|
1374
|
+
"| |_) |",
|
|
1375
|
+
"| __/ ",
|
|
1376
|
+
"| | ",
|
|
1377
|
+
"|_| "
|
|
1378
|
+
],
|
|
1379
|
+
'Q': [
|
|
1380
|
+
" ____ ",
|
|
1381
|
+
" / __ \\ ",
|
|
1382
|
+
"| | | |",
|
|
1383
|
+
"| | | |",
|
|
1384
|
+
"| |__| |",
|
|
1385
|
+
" \\__\\_\\"
|
|
1386
|
+
],
|
|
1387
|
+
'R': [
|
|
1388
|
+
" ____ ",
|
|
1389
|
+
"| _ \\ ",
|
|
1390
|
+
"| |_) |",
|
|
1391
|
+
"| _ < ",
|
|
1392
|
+
"| | \\ \\",
|
|
1393
|
+
"|_| \\_\\"
|
|
1394
|
+
],
|
|
1395
|
+
'S': [
|
|
1396
|
+
" ____ ",
|
|
1397
|
+
"/ ___| ",
|
|
1398
|
+
"\\___ \\ ",
|
|
1399
|
+
" ___) |",
|
|
1400
|
+
"|____/ "
|
|
1401
|
+
],
|
|
1402
|
+
'T': [
|
|
1403
|
+
" _____ ",
|
|
1404
|
+
"|_ _|",
|
|
1405
|
+
" | | ",
|
|
1406
|
+
" | | ",
|
|
1407
|
+
" | | ",
|
|
1408
|
+
" |_| "
|
|
1409
|
+
],
|
|
1410
|
+
'U': [
|
|
1411
|
+
" _ _ ",
|
|
1412
|
+
"| | | |",
|
|
1413
|
+
"| | | |",
|
|
1414
|
+
"| | | |",
|
|
1415
|
+
"| |__| |",
|
|
1416
|
+
" \\____/ "
|
|
1417
|
+
],
|
|
1418
|
+
'V': [
|
|
1419
|
+
"__ __",
|
|
1420
|
+
"\\ \\ / /",
|
|
1421
|
+
" \\ \\_/ / ",
|
|
1422
|
+
" \\ / ",
|
|
1423
|
+
" \\_/ "
|
|
1424
|
+
],
|
|
1425
|
+
'W': [
|
|
1426
|
+
"__ __",
|
|
1427
|
+
"\\ \\ / /",
|
|
1428
|
+
" \\ \\ / / ",
|
|
1429
|
+
" \\ \\/\/ / ",
|
|
1430
|
+
" \\_/\\_/ "
|
|
1431
|
+
],
|
|
1432
|
+
'X': [
|
|
1433
|
+
"__ __",
|
|
1434
|
+
"\\ \\/ /",
|
|
1435
|
+
" \\ / ",
|
|
1436
|
+
" / \\ ",
|
|
1437
|
+
"/_/\\_\\"
|
|
1438
|
+
],
|
|
1439
|
+
'Y': [
|
|
1440
|
+
"__ __",
|
|
1441
|
+
"\\ \\ / /",
|
|
1442
|
+
" \\ \\_/ / ",
|
|
1443
|
+
" \\ / ",
|
|
1444
|
+
" |_| "
|
|
1445
|
+
],
|
|
1446
|
+
'Z': [
|
|
1447
|
+
" _____",
|
|
1448
|
+
"|__ /",
|
|
1449
|
+
" / / ",
|
|
1450
|
+
" / /_ ",
|
|
1451
|
+
"/____|"
|
|
1452
|
+
]
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
self.letters.update(three_d_letters)
|
|
1456
|
+
|
|
1457
|
+
class ElectronicFont(ZeroArtFont):
|
|
1458
|
+
"""Electronic-style ASCII art font"""
|
|
1459
|
+
def __init__(self) -> None:
|
|
1460
|
+
super().__init__("electronic")
|
|
1461
|
+
self.letters: Dict[str, List[str]] = {
|
|
1462
|
+
' ': [" ", " ", " ", " ", " "]
|
|
1463
|
+
}
|
|
1464
|
+
self._populate_letters()
|
|
1465
|
+
|
|
1466
|
+
def _populate_letters(self) -> None:
|
|
1467
|
+
"""Populate electronic-style letters"""
|
|
1468
|
+
electronic_letters = {
|
|
1469
|
+
'A': [
|
|
1470
|
+
" /\\ ",
|
|
1471
|
+
" /--\\ ",
|
|
1472
|
+
"/----\\",
|
|
1473
|
+
"/ \\"
|
|
1474
|
+
],
|
|
1475
|
+
'B': [
|
|
1476
|
+
"|--- ",
|
|
1477
|
+
"|=== ",
|
|
1478
|
+
"|--- ",
|
|
1479
|
+
"|___ "
|
|
1480
|
+
],
|
|
1481
|
+
'C': [
|
|
1482
|
+
" /===",
|
|
1483
|
+
"| ",
|
|
1484
|
+
"| ",
|
|
1485
|
+
" \\___"
|
|
1486
|
+
],
|
|
1487
|
+
'D': [
|
|
1488
|
+
"|==\\ ",
|
|
1489
|
+
"| | | ",
|
|
1490
|
+
"| | | ",
|
|
1491
|
+
"|==/ "
|
|
1492
|
+
],
|
|
1493
|
+
'E': [
|
|
1494
|
+
"|===",
|
|
1495
|
+
"|---",
|
|
1496
|
+
"| ",
|
|
1497
|
+
"|___"
|
|
1498
|
+
],
|
|
1499
|
+
'F': [
|
|
1500
|
+
"|===",
|
|
1501
|
+
"|---",
|
|
1502
|
+
"| ",
|
|
1503
|
+
"| "
|
|
1504
|
+
],
|
|
1505
|
+
'G': [
|
|
1506
|
+
" /===",
|
|
1507
|
+
"| ",
|
|
1508
|
+
"| ---",
|
|
1509
|
+
" \\-|_"
|
|
1510
|
+
],
|
|
1511
|
+
'H': [
|
|
1512
|
+
"| | ",
|
|
1513
|
+
"|----| ",
|
|
1514
|
+
"| | ",
|
|
1515
|
+
"| | "
|
|
1516
|
+
],
|
|
1517
|
+
'I': [
|
|
1518
|
+
"===",
|
|
1519
|
+
" | ",
|
|
1520
|
+
" | ",
|
|
1521
|
+
"==="
|
|
1522
|
+
],
|
|
1523
|
+
'J': [
|
|
1524
|
+
" ===",
|
|
1525
|
+
" | ",
|
|
1526
|
+
" | ",
|
|
1527
|
+
"_--/ "
|
|
1528
|
+
],
|
|
1529
|
+
'K': [
|
|
1530
|
+
"| / ",
|
|
1531
|
+
"|--< ",
|
|
1532
|
+
"| \\ ",
|
|
1533
|
+
"| \\"
|
|
1534
|
+
],
|
|
1535
|
+
'L': [
|
|
1536
|
+
"| ",
|
|
1537
|
+
"| ",
|
|
1538
|
+
"| ",
|
|
1539
|
+
"|___ "
|
|
1540
|
+
],
|
|
1541
|
+
'M': [
|
|
1542
|
+
"/\\ /\\",
|
|
1543
|
+
"| \\/ |",
|
|
1544
|
+
"| | ",
|
|
1545
|
+
"| | "
|
|
1546
|
+
],
|
|
1547
|
+
'N': [
|
|
1548
|
+
"/\\ | ",
|
|
1549
|
+
"| \\ | ",
|
|
1550
|
+
"| \\ | ",
|
|
1551
|
+
"| \\| "
|
|
1552
|
+
],
|
|
1553
|
+
'O': [
|
|
1554
|
+
" /==\\ ",
|
|
1555
|
+
"| | ",
|
|
1556
|
+
"| | ",
|
|
1557
|
+
" \\==/ "
|
|
1558
|
+
],
|
|
1559
|
+
'P': [
|
|
1560
|
+
"|===",
|
|
1561
|
+
"|---",
|
|
1562
|
+
"| ",
|
|
1563
|
+
"| "
|
|
1564
|
+
],
|
|
1565
|
+
'Q': [
|
|
1566
|
+
" /==\\ ",
|
|
1567
|
+
"| | ",
|
|
1568
|
+
"| \\| ",
|
|
1569
|
+
" \\==/\\"
|
|
1570
|
+
],
|
|
1571
|
+
'R': [
|
|
1572
|
+
"|===",
|
|
1573
|
+
"|---",
|
|
1574
|
+
"| \\",
|
|
1575
|
+
"| \\"
|
|
1576
|
+
],
|
|
1577
|
+
'S': [
|
|
1578
|
+
"/===",
|
|
1579
|
+
"\\---",
|
|
1580
|
+
"---/",
|
|
1581
|
+
"___/"
|
|
1582
|
+
],
|
|
1583
|
+
'T': [
|
|
1584
|
+
"=====",
|
|
1585
|
+
" | ",
|
|
1586
|
+
" | ",
|
|
1587
|
+
" | "
|
|
1588
|
+
],
|
|
1589
|
+
'U': [
|
|
1590
|
+
"| | ",
|
|
1591
|
+
"| | ",
|
|
1592
|
+
"| | ",
|
|
1593
|
+
" \\__/ "
|
|
1594
|
+
],
|
|
1595
|
+
'V': [
|
|
1596
|
+
"\\ /",
|
|
1597
|
+
" \\ / ",
|
|
1598
|
+
" \\/ ",
|
|
1599
|
+
" V "
|
|
1600
|
+
],
|
|
1601
|
+
'W': [
|
|
1602
|
+
"\\ /",
|
|
1603
|
+
" \\ / ",
|
|
1604
|
+
" \\/\\/ ",
|
|
1605
|
+
" V V "
|
|
1606
|
+
],
|
|
1607
|
+
'X': [
|
|
1608
|
+
"\\ /",
|
|
1609
|
+
" \\/ ",
|
|
1610
|
+
" /\\ ",
|
|
1611
|
+
"/ \\"
|
|
1612
|
+
],
|
|
1613
|
+
'Y': [
|
|
1614
|
+
"\\ /",
|
|
1615
|
+
" \\/ ",
|
|
1616
|
+
" | ",
|
|
1617
|
+
" | "
|
|
1618
|
+
],
|
|
1619
|
+
'Z': [
|
|
1620
|
+
"===",
|
|
1621
|
+
" /",
|
|
1622
|
+
" / ",
|
|
1623
|
+
"==="
|
|
1624
|
+
]
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
self.letters.update(electronic_letters)
|
|
1628
|
+
|
|
1629
|
+
class IsometricFont(ZeroArtFont):
|
|
1630
|
+
"""Isometric-style ASCII art font"""
|
|
1631
|
+
def __init__(self) -> None:
|
|
1632
|
+
super().__init__("isometric")
|
|
1633
|
+
self.letters: Dict[str, List[str]] = {
|
|
1634
|
+
' ': [" ", " ", " ", " ", " "]
|
|
1635
|
+
}
|
|
1636
|
+
self._populate_letters()
|
|
1637
|
+
|
|
1638
|
+
def _populate_letters(self) -> None:
|
|
1639
|
+
"""Populate isometric-style letters"""
|
|
1640
|
+
isometric_letters = {
|
|
1641
|
+
'A': [
|
|
1642
|
+
" /\\ ",
|
|
1643
|
+
" / \\ ",
|
|
1644
|
+
" /----\\ ",
|
|
1645
|
+
"/ \\"
|
|
1646
|
+
],
|
|
1647
|
+
'B': [
|
|
1648
|
+
"|---\\",
|
|
1649
|
+
"| |",
|
|
1650
|
+
"|---/ ",
|
|
1651
|
+
"|____/"
|
|
1652
|
+
],
|
|
1653
|
+
'C': [
|
|
1654
|
+
" /---",
|
|
1655
|
+
" / ",
|
|
1656
|
+
"| ",
|
|
1657
|
+
" \\___ "
|
|
1658
|
+
],
|
|
1659
|
+
'D': [
|
|
1660
|
+
"|---\\",
|
|
1661
|
+
"| |",
|
|
1662
|
+
"| |",
|
|
1663
|
+
"|___/"
|
|
1664
|
+
],
|
|
1665
|
+
'E': [
|
|
1666
|
+
"|----",
|
|
1667
|
+
"|--- ",
|
|
1668
|
+
"| ",
|
|
1669
|
+
"|____"
|
|
1670
|
+
],
|
|
1671
|
+
'F': [
|
|
1672
|
+
"|----",
|
|
1673
|
+
"|--- ",
|
|
1674
|
+
"| ",
|
|
1675
|
+
"| "
|
|
1676
|
+
],
|
|
1677
|
+
'G': [
|
|
1678
|
+
" /---",
|
|
1679
|
+
" / ",
|
|
1680
|
+
"| --",
|
|
1681
|
+
" \\_|_"
|
|
1682
|
+
],
|
|
1683
|
+
'H': [
|
|
1684
|
+
"| | ",
|
|
1685
|
+
"|----| ",
|
|
1686
|
+
"| | ",
|
|
1687
|
+
"| | "
|
|
1688
|
+
],
|
|
1689
|
+
'I': [
|
|
1690
|
+
"---",
|
|
1691
|
+
" | ",
|
|
1692
|
+
" | ",
|
|
1693
|
+
"---"
|
|
1694
|
+
],
|
|
1695
|
+
'J': [
|
|
1696
|
+
"----",
|
|
1697
|
+
" | ",
|
|
1698
|
+
" | ",
|
|
1699
|
+
"_--/ "
|
|
1700
|
+
],
|
|
1701
|
+
'K': [
|
|
1702
|
+
"| /",
|
|
1703
|
+
"|--< ",
|
|
1704
|
+
"| \\"
|
|
1705
|
+
],
|
|
1706
|
+
'L': [
|
|
1707
|
+
"| ",
|
|
1708
|
+
"| ",
|
|
1709
|
+
"| ",
|
|
1710
|
+
"|___ "
|
|
1711
|
+
],
|
|
1712
|
+
'M': [
|
|
1713
|
+
"/\\ /\\",
|
|
1714
|
+
"| \\/ |",
|
|
1715
|
+
"| | ",
|
|
1716
|
+
"| | "
|
|
1717
|
+
],
|
|
1718
|
+
'N': [
|
|
1719
|
+
"|\\ | ",
|
|
1720
|
+
"| \\ | ",
|
|
1721
|
+
"| \\| ",
|
|
1722
|
+
"| \\ "
|
|
1723
|
+
],
|
|
1724
|
+
'O': [
|
|
1725
|
+
" /---\\ ",
|
|
1726
|
+
"| | ",
|
|
1727
|
+
"| | ",
|
|
1728
|
+
" \\---/ "
|
|
1729
|
+
],
|
|
1730
|
+
'P': [
|
|
1731
|
+
"|---",
|
|
1732
|
+
"|--- ",
|
|
1733
|
+
"| ",
|
|
1734
|
+
"| "
|
|
1735
|
+
],
|
|
1736
|
+
'Q': [
|
|
1737
|
+
" /---\\ ",
|
|
1738
|
+
"| | ",
|
|
1739
|
+
"| / | ",
|
|
1740
|
+
" \\--/\\"
|
|
1741
|
+
],
|
|
1742
|
+
'R': [
|
|
1743
|
+
"|---",
|
|
1744
|
+
"|--- ",
|
|
1745
|
+
"| \\",
|
|
1746
|
+
"| \\"
|
|
1747
|
+
],
|
|
1748
|
+
'S': [
|
|
1749
|
+
"/---",
|
|
1750
|
+
"\\---",
|
|
1751
|
+
"---/",
|
|
1752
|
+
"--/"
|
|
1753
|
+
],
|
|
1754
|
+
'T': [
|
|
1755
|
+
"-----",
|
|
1756
|
+
" | ",
|
|
1757
|
+
" | ",
|
|
1758
|
+
" | "
|
|
1759
|
+
],
|
|
1760
|
+
'U': [
|
|
1761
|
+
"| | ",
|
|
1762
|
+
"| | ",
|
|
1763
|
+
"| | ",
|
|
1764
|
+
" \\__/ "
|
|
1765
|
+
],
|
|
1766
|
+
'V': [
|
|
1767
|
+
"\\ /",
|
|
1768
|
+
" \\ / ",
|
|
1769
|
+
" \\/ "
|
|
1770
|
+
],
|
|
1771
|
+
'W': [
|
|
1772
|
+
"\\ /",
|
|
1773
|
+
" \\ / ",
|
|
1774
|
+
" \\/\\/ ",
|
|
1775
|
+
" V V "
|
|
1776
|
+
],
|
|
1777
|
+
'X': [
|
|
1778
|
+
"\\ /",
|
|
1779
|
+
" \\/ ",
|
|
1780
|
+
" /\\ ",
|
|
1781
|
+
"/ \\"
|
|
1782
|
+
],
|
|
1783
|
+
'Y': [
|
|
1784
|
+
"\\ /",
|
|
1785
|
+
" \\/ ",
|
|
1786
|
+
" | ",
|
|
1787
|
+
" | "
|
|
1788
|
+
],
|
|
1789
|
+
'Z': [
|
|
1790
|
+
"----",
|
|
1791
|
+
" /",
|
|
1792
|
+
" / ",
|
|
1793
|
+
"----"
|
|
1794
|
+
]
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1797
|
+
self.letters.update(isometric_letters)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 2025.10.
|
|
3
|
+
Version: 2025.10.16
|
|
4
4
|
Summary: Search for anything using Google, DuckDuckGo, phind.com, Contains AI models, can transcribe yt videos, temporary email and phone number generation, has TTS support, webai (terminal gpt and open interpreter) and offline LLMs and more
|
|
5
5
|
Author-email: OEvortex <helpingai5@gmail.com>
|
|
6
6
|
License: HelpingAI
|
|
@@ -70,15 +70,13 @@ Requires-Dist: uvicorn[standard]; extra == "api"
|
|
|
70
70
|
Requires-Dist: pydantic; extra == "api"
|
|
71
71
|
Requires-Dist: python-multipart; extra == "api"
|
|
72
72
|
Requires-Dist: tiktoken; extra == "api"
|
|
73
|
-
Requires-Dist: motor; extra == "api"
|
|
74
73
|
Requires-Dist: jinja2; extra == "api"
|
|
75
|
-
Requires-Dist: supabase; extra == "api"
|
|
76
74
|
Requires-Dist: websockets>=11.0; extra == "api"
|
|
77
75
|
Requires-Dist: starlette; extra == "api"
|
|
78
76
|
Dynamic: license-file
|
|
79
77
|
|
|
80
78
|
<div align="center">
|
|
81
|
-
<a href="https://github.com/
|
|
79
|
+
<a href="https://github.com/pyscout/Webscout">
|
|
82
80
|
<img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
|
|
83
81
|
</a>
|
|
84
82
|
|
|
@@ -96,7 +94,7 @@ Dynamic: license-file
|
|
|
96
94
|
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
|
|
97
95
|
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
|
|
98
96
|
<a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
|
|
99
|
-
<a href="https://deepwiki.com/
|
|
97
|
+
<a href="https://deepwiki.com/pyscout/Webscout"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
100
98
|
</p>
|
|
101
99
|
</div>
|
|
102
100
|
|
|
@@ -108,6 +106,7 @@ Dynamic: license-file
|
|
|
108
106
|
- [⚙️ Installation](#️-installation)
|
|
109
107
|
- [🖥️ Command Line Interface](#️-command-line-interface)
|
|
110
108
|
- [🔄 OpenAI-Compatible API Server](docs/openai-api-server.md)
|
|
109
|
+
- [🕸️ Scout: HTML Parser & Web Crawler](docs/scout.md)
|
|
111
110
|
- [🤖 AI Models and Voices](#-ai-models-and-voices)
|
|
112
111
|
- [💬 AI Chat Providers](#-ai-chat-providers)
|
|
113
112
|
- [👨💻 Advanced AI Interfaces](#-advanced-ai-interfaces)
|
|
@@ -121,7 +120,7 @@ Dynamic: license-file
|
|
|
121
120
|
>
|
|
122
121
|
> - **Native Compatibility:** Webscout's own native API for maximum flexibility
|
|
123
122
|
> - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces
|
|
124
|
-
> - **Local LLM Compatibility:** Run local models with
|
|
123
|
+
> - **Local LLM Compatibility:** Run local models with OpenAI-compatible servers
|
|
125
124
|
>
|
|
126
125
|
> Choose the approach that best fits your needs! For OpenAI compatibility, check the [OpenAI Providers README](webscout/Provider/OPENAI/README.md) or see the [OpenAI-Compatible API Server](#-openai-compatible-api-server) section below.
|
|
127
126
|
|
|
@@ -152,7 +151,7 @@ Dynamic: license-file
|
|
|
152
151
|
- **AI Powerhouse:** Access and interact with various AI models through three compatibility options:
|
|
153
152
|
- **Native API:** Use Webscout's native interfaces for providers like OpenAI, Cohere, Gemini, and many more
|
|
154
153
|
- **[OpenAI-Compatible Providers](webscout/Provider/OPENAI/README.md):** Seamlessly integrate with various AI providers using standardized OpenAI-compatible interfaces
|
|
155
|
-
- **
|
|
154
|
+
- **Local LLMs:** Run local models with OpenAI-compatible servers (see [Inferno documentation](docs/inferno.md))
|
|
156
155
|
- **[AI Search](webscout/Provider/AISEARCH/README.md):** AI-powered search engines with advanced capabilities
|
|
157
156
|
</p>
|
|
158
157
|
</details>
|
|
@@ -177,8 +176,7 @@ Dynamic: license-file
|
|
|
177
176
|
- **[LitPrinter](webscout/litprinter/Readme.md):** Styled console output with rich formatting and colors
|
|
178
177
|
- **[LitLogger](webscout/litlogger/README.md):** Simplified logging with customizable formats and color schemes
|
|
179
178
|
- **[LitAgent](webscout/litagent/Readme.md):** Modern user agent generator that keeps your requests undetectable
|
|
180
|
-
- **[Scout](
|
|
181
|
-
- **[Inferno](https://github.com/HelpingAI/inferno):** Run local LLMs with an OpenAI-compatible API and interactive CLI (now a standalone package: `pip install inferno-llm`)
|
|
179
|
+
- **[Scout](docs/scout.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
|
|
182
180
|
- **[GGUF Conversion](webscout/Extra/gguf.md):** Convert and quantize Hugging Face models to GGUF format
|
|
183
181
|
- **[Utility Decorators](docs/decorators.md):** Easily measure function execution time (`timeIt`) and add retry logic (`retry`) to any function
|
|
184
182
|
- **[Stream Sanitization Utilities](docs/sanitize.md):** Advanced tools for cleaning, decoding, and processing data streams
|
|
@@ -245,7 +243,7 @@ webscout-server
|
|
|
245
243
|
|
|
246
244
|
```bash
|
|
247
245
|
# Clone the repository
|
|
248
|
-
git clone https://github.com/
|
|
246
|
+
git clone https://github.com/pyscout/Webscout.git
|
|
249
247
|
cd Webscout
|
|
250
248
|
|
|
251
249
|
# Install in development mode with UV
|
|
@@ -262,8 +260,8 @@ uv pip install -e ".[dev,api]"
|
|
|
262
260
|
|
|
263
261
|
```bash
|
|
264
262
|
# Pull and run the Docker image
|
|
265
|
-
docker pull
|
|
266
|
-
docker run -it
|
|
263
|
+
docker pull pyscout/webscout:latest
|
|
264
|
+
docker run -it pyscout/webscout:latest
|
|
267
265
|
```
|
|
268
266
|
|
|
269
267
|
### 📱 Quick Start Commands
|
|
@@ -327,46 +325,6 @@ Webscout provides comprehensive CLI commands for all search engines. See the [Se
|
|
|
327
325
|
</p>
|
|
328
326
|
</details>
|
|
329
327
|
|
|
330
|
-
<details open>
|
|
331
|
-
<summary><b>Inferno LLM Commands</b></summary>
|
|
332
|
-
<p>
|
|
333
|
-
|
|
334
|
-
Inferno is now a standalone package. Install it separately with:
|
|
335
|
-
|
|
336
|
-
```bash
|
|
337
|
-
pip install inferno-llm
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
After installation, you can use its CLI for managing and using local LLMs:
|
|
341
|
-
|
|
342
|
-
```bash
|
|
343
|
-
inferno --help
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
| Command | Description |
|
|
347
|
-
| ------------------------ | ----------------------------------------------- |
|
|
348
|
-
| `inferno pull <model>` | Download a model from Hugging Face |
|
|
349
|
-
| `inferno list` | List downloaded models |
|
|
350
|
-
| `inferno serve <model>` | Start a model server with OpenAI-compatible API |
|
|
351
|
-
| `inferno run <model>` | Chat with a model interactively |
|
|
352
|
-
| `inferno remove <model>` | Remove a downloaded model |
|
|
353
|
-
| `inferno version` | Show version information |
|
|
354
|
-
|
|
355
|
-
For more information, visit the [Inferno GitHub repository](https://github.com/HelpingAI/inferno) or [PyPI package page](https://pypi.org/project/inferno-llm/).
|
|
356
|
-
|
|
357
|
-
</p>
|
|
358
|
-
</details>
|
|
359
|
-
|
|
360
|
-
> [!NOTE]
|
|
361
|
-
> **Hardware requirements for running models with Inferno:**
|
|
362
|
-
>
|
|
363
|
-
> - Around 2 GB of RAM for 1B models
|
|
364
|
-
> - Around 4 GB of RAM for 3B models
|
|
365
|
-
> - At least 8 GB of RAM for 7B models
|
|
366
|
-
> - 16 GB of RAM for 13B models
|
|
367
|
-
> - 32 GB of RAM for 33B models
|
|
368
|
-
> - GPU acceleration is recommended for better performance
|
|
369
|
-
|
|
370
328
|
For detailed information about the OpenAI-compatible API server, including setup, configuration, and usage examples, see the [OpenAI API Server Documentation](docs/openai-api-server.md).
|
|
371
329
|
|
|
372
330
|
<hr/>
|