abstractcore 2.5.0__py3-none-any.whl → 2.5.3__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.
Files changed (60) hide show
  1. abstractcore/__init__.py +12 -0
  2. abstractcore/apps/__main__.py +8 -1
  3. abstractcore/apps/deepsearch.py +644 -0
  4. abstractcore/apps/intent.py +614 -0
  5. abstractcore/architectures/detection.py +250 -4
  6. abstractcore/assets/architecture_formats.json +14 -1
  7. abstractcore/assets/model_capabilities.json +583 -44
  8. abstractcore/compression/__init__.py +29 -0
  9. abstractcore/compression/analytics.py +420 -0
  10. abstractcore/compression/cache.py +250 -0
  11. abstractcore/compression/config.py +279 -0
  12. abstractcore/compression/exceptions.py +30 -0
  13. abstractcore/compression/glyph_processor.py +381 -0
  14. abstractcore/compression/optimizer.py +388 -0
  15. abstractcore/compression/orchestrator.py +380 -0
  16. abstractcore/compression/pil_text_renderer.py +818 -0
  17. abstractcore/compression/quality.py +226 -0
  18. abstractcore/compression/text_formatter.py +666 -0
  19. abstractcore/compression/vision_compressor.py +371 -0
  20. abstractcore/config/main.py +66 -1
  21. abstractcore/config/manager.py +111 -5
  22. abstractcore/core/session.py +105 -5
  23. abstractcore/events/__init__.py +1 -1
  24. abstractcore/media/auto_handler.py +312 -18
  25. abstractcore/media/handlers/local_handler.py +14 -2
  26. abstractcore/media/handlers/openai_handler.py +62 -3
  27. abstractcore/media/processors/__init__.py +11 -1
  28. abstractcore/media/processors/direct_pdf_processor.py +210 -0
  29. abstractcore/media/processors/glyph_pdf_processor.py +227 -0
  30. abstractcore/media/processors/image_processor.py +7 -1
  31. abstractcore/media/processors/text_processor.py +18 -3
  32. abstractcore/media/types.py +164 -7
  33. abstractcore/processing/__init__.py +5 -1
  34. abstractcore/processing/basic_deepsearch.py +2173 -0
  35. abstractcore/processing/basic_intent.py +690 -0
  36. abstractcore/providers/__init__.py +18 -0
  37. abstractcore/providers/anthropic_provider.py +29 -2
  38. abstractcore/providers/base.py +279 -6
  39. abstractcore/providers/huggingface_provider.py +658 -27
  40. abstractcore/providers/lmstudio_provider.py +52 -2
  41. abstractcore/providers/mlx_provider.py +103 -4
  42. abstractcore/providers/model_capabilities.py +352 -0
  43. abstractcore/providers/ollama_provider.py +44 -6
  44. abstractcore/providers/openai_provider.py +29 -2
  45. abstractcore/providers/registry.py +91 -19
  46. abstractcore/server/app.py +91 -81
  47. abstractcore/structured/handler.py +161 -1
  48. abstractcore/tools/common_tools.py +98 -3
  49. abstractcore/utils/__init__.py +4 -1
  50. abstractcore/utils/cli.py +114 -1
  51. abstractcore/utils/trace_export.py +287 -0
  52. abstractcore/utils/version.py +1 -1
  53. abstractcore/utils/vlm_token_calculator.py +655 -0
  54. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/METADATA +140 -23
  55. abstractcore-2.5.3.dist-info/RECORD +107 -0
  56. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/entry_points.txt +4 -0
  57. abstractcore-2.5.0.dist-info/RECORD +0 -86
  58. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/WHEEL +0 -0
  59. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/licenses/LICENSE +0 -0
  60. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/top_level.txt +0 -0
abstractcore/__init__.py CHANGED
@@ -2,6 +2,8 @@
2
2
  """
3
3
  AbstractCore - Unified interface to all LLM providers with essential infrastructure.
4
4
 
5
+ CRITICAL: Offline-first design - enforces offline mode for open source LLMs by default.
6
+
5
7
  Key Features:
6
8
  • Multi-provider support (OpenAI, Anthropic, Ollama, HuggingFace, MLX, LMStudio)
7
9
  • Unified token parameter vocabulary across all providers
@@ -47,6 +49,13 @@ _has_processing = True
47
49
  # Tools module (core functionality)
48
50
  from .tools import tool
49
51
 
52
+ # Compression module (optional import)
53
+ try:
54
+ from .compression import GlyphConfig, CompressionOrchestrator
55
+ _has_compression = True
56
+ except ImportError:
57
+ _has_compression = False
58
+
50
59
  __all__ = [
51
60
  'create_llm',
52
61
  'BasicSession',
@@ -64,5 +73,8 @@ __all__ = [
64
73
  if _has_embeddings:
65
74
  __all__.append('EmbeddingManager')
66
75
 
76
+ if _has_compression:
77
+ __all__.extend(['GlyphConfig', 'CompressionOrchestrator'])
78
+
67
79
  # Processing is core functionality
68
80
  __all__.extend(['BasicSummarizer', 'SummaryStyle', 'SummaryLength', 'BasicExtractor'])
@@ -9,11 +9,13 @@ Available apps:
9
9
  summarizer - Document summarization tool
10
10
  extractor - Entity and relationship extraction tool
11
11
  judge - Text evaluation and scoring tool
12
+ intent - Intent analysis and motivation identification tool
12
13
 
13
14
  Examples:
14
15
  python -m abstractcore.apps summarizer document.txt
15
16
  python -m abstractcore.apps extractor report.txt --format json-ld
16
17
  python -m abstractcore.apps judge essay.txt --criteria clarity,accuracy
18
+ python -m abstractcore.apps intent "I need help with this problem" --depth comprehensive
17
19
  python -m abstractcore.apps <app> --help
18
20
  """
19
21
 
@@ -43,9 +45,14 @@ def main():
43
45
  sys.argv = [sys.argv[0]] + sys.argv[2:]
44
46
  from .judge import main as judge_main
45
47
  judge_main()
48
+ elif app_name == "intent":
49
+ # Remove the app name from sys.argv and run intent analyzer
50
+ sys.argv = [sys.argv[0]] + sys.argv[2:]
51
+ from .intent import main as intent_main
52
+ intent_main()
46
53
  else:
47
54
  print(f"Unknown app: {app_name}")
48
- print("\nAvailable apps: summarizer, extractor, judge")
55
+ print("\nAvailable apps: summarizer, extractor, judge, intent")
49
56
  sys.exit(1)
50
57
 
51
58
  if __name__ == "__main__":