webscout 2025.10.15__py3-none-any.whl → 2025.10.17__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.

Files changed (63) hide show
  1. webscout/Extra/YTToolkit/README.md +1 -1
  2. webscout/Extra/tempmail/README.md +3 -3
  3. webscout/Provider/ClaudeOnline.py +350 -0
  4. webscout/Provider/OPENAI/README.md +1 -1
  5. webscout/Provider/TTI/bing.py +4 -4
  6. webscout/Provider/TTI/claudeonline.py +315 -0
  7. webscout/__init__.py +1 -1
  8. webscout/client.py +4 -5
  9. webscout/litprinter/__init__.py +0 -42
  10. webscout/scout/README.md +59 -8
  11. webscout/scout/core/scout.py +62 -0
  12. webscout/scout/element.py +251 -45
  13. webscout/search/__init__.py +3 -4
  14. webscout/search/engines/bing/images.py +5 -2
  15. webscout/search/engines/bing/news.py +6 -4
  16. webscout/search/engines/bing/text.py +5 -2
  17. webscout/search/engines/yahoo/__init__.py +41 -0
  18. webscout/search/engines/yahoo/answers.py +16 -0
  19. webscout/search/engines/yahoo/base.py +34 -0
  20. webscout/search/engines/yahoo/images.py +324 -0
  21. webscout/search/engines/yahoo/maps.py +16 -0
  22. webscout/search/engines/yahoo/news.py +258 -0
  23. webscout/search/engines/yahoo/suggestions.py +140 -0
  24. webscout/search/engines/yahoo/text.py +273 -0
  25. webscout/search/engines/yahoo/translate.py +16 -0
  26. webscout/search/engines/yahoo/videos.py +302 -0
  27. webscout/search/engines/yahoo/weather.py +220 -0
  28. webscout/search/http_client.py +1 -1
  29. webscout/search/yahoo_main.py +54 -0
  30. webscout/{auth → server}/__init__.py +2 -23
  31. webscout/server/config.py +84 -0
  32. webscout/{auth → server}/request_processing.py +3 -28
  33. webscout/{auth → server}/routes.py +6 -148
  34. webscout/server/schemas.py +23 -0
  35. webscout/{auth → server}/server.py +11 -43
  36. webscout/server/simple_logger.py +84 -0
  37. webscout/version.py +1 -1
  38. webscout/version.py.bak +1 -1
  39. webscout/zeroart/README.md +17 -9
  40. webscout/zeroart/__init__.py +78 -6
  41. webscout/zeroart/effects.py +51 -1
  42. webscout/zeroart/fonts.py +559 -1
  43. {webscout-2025.10.15.dist-info → webscout-2025.10.17.dist-info}/METADATA +11 -54
  44. {webscout-2025.10.15.dist-info → webscout-2025.10.17.dist-info}/RECORD +51 -46
  45. {webscout-2025.10.15.dist-info → webscout-2025.10.17.dist-info}/entry_points.txt +1 -1
  46. webscout/Extra/weather.md +0 -281
  47. webscout/auth/api_key_manager.py +0 -189
  48. webscout/auth/auth_system.py +0 -85
  49. webscout/auth/config.py +0 -175
  50. webscout/auth/database.py +0 -755
  51. webscout/auth/middleware.py +0 -248
  52. webscout/auth/models.py +0 -185
  53. webscout/auth/rate_limiter.py +0 -254
  54. webscout/auth/schemas.py +0 -103
  55. webscout/auth/simple_logger.py +0 -236
  56. webscout/search/engines/yahoo.py +0 -65
  57. webscout/search/engines/yahoo_news.py +0 -64
  58. /webscout/{auth → server}/exceptions.py +0 -0
  59. /webscout/{auth → server}/providers.py +0 -0
  60. /webscout/{auth → server}/request_models.py +0 -0
  61. {webscout-2025.10.15.dist-info → webscout-2025.10.17.dist-info}/WHEEL +0 -0
  62. {webscout-2025.10.15.dist-info → webscout-2025.10.17.dist-info}/licenses/LICENSE.md +0 -0
  63. {webscout-2025.10.15.dist-info → webscout-2025.10.17.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)