abstractcore 2.6.6__tar.gz → 2.6.7__tar.gz

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 (137) hide show
  1. {abstractcore-2.6.6 → abstractcore-2.6.7}/PKG-INFO +2 -1
  2. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/utils/image_scaler.py +1 -8
  3. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/version.py +1 -1
  4. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/vlm_token_calculator.py +1 -6
  5. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/PKG-INFO +2 -1
  6. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/requires.txt +1 -0
  7. {abstractcore-2.6.6 → abstractcore-2.6.7}/pyproject.toml +1 -0
  8. {abstractcore-2.6.6 → abstractcore-2.6.7}/LICENSE +0 -0
  9. {abstractcore-2.6.6 → abstractcore-2.6.7}/README.md +0 -0
  10. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/__init__.py +0 -0
  11. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/__init__.py +0 -0
  12. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/__main__.py +0 -0
  13. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/app_config_utils.py +0 -0
  14. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/deepsearch.py +0 -0
  15. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/extractor.py +0 -0
  16. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/intent.py +0 -0
  17. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/judge.py +0 -0
  18. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/apps/summarizer.py +0 -0
  19. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/architectures/__init__.py +0 -0
  20. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/architectures/detection.py +0 -0
  21. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/architectures/enums.py +0 -0
  22. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/assets/architecture_formats.json +0 -0
  23. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/assets/model_capabilities.json +0 -0
  24. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/assets/session_schema.json +0 -0
  25. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/__init__.py +0 -0
  26. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/analytics.py +0 -0
  27. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/cache.py +0 -0
  28. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/config.py +0 -0
  29. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/exceptions.py +0 -0
  30. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/glyph_processor.py +0 -0
  31. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/optimizer.py +0 -0
  32. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/orchestrator.py +0 -0
  33. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/pil_text_renderer.py +0 -0
  34. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/quality.py +0 -0
  35. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/text_formatter.py +0 -0
  36. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/compression/vision_compressor.py +0 -0
  37. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/config/__init__.py +0 -0
  38. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/config/main.py +0 -0
  39. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/config/manager.py +0 -0
  40. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/config/vision_config.py +0 -0
  41. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/__init__.py +0 -0
  42. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/enums.py +0 -0
  43. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/factory.py +0 -0
  44. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/interface.py +0 -0
  45. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/retry.py +0 -0
  46. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/session.py +0 -0
  47. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/core/types.py +0 -0
  48. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/download.py +0 -0
  49. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/embeddings/__init__.py +0 -0
  50. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/embeddings/manager.py +0 -0
  51. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/embeddings/models.py +0 -0
  52. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/events/__init__.py +0 -0
  53. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/exceptions/__init__.py +0 -0
  54. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/__init__.py +0 -0
  55. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/auto_handler.py +0 -0
  56. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/base.py +0 -0
  57. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/capabilities.py +0 -0
  58. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/handlers/__init__.py +0 -0
  59. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/handlers/anthropic_handler.py +0 -0
  60. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/handlers/local_handler.py +0 -0
  61. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/handlers/openai_handler.py +0 -0
  62. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/__init__.py +0 -0
  63. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/direct_pdf_processor.py +0 -0
  64. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/glyph_pdf_processor.py +0 -0
  65. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/image_processor.py +0 -0
  66. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/office_processor.py +0 -0
  67. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/pdf_processor.py +0 -0
  68. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/processors/text_processor.py +0 -0
  69. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/types.py +0 -0
  70. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/utils/__init__.py +0 -0
  71. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/media/vision_fallback.py +0 -0
  72. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/__init__.py +0 -0
  73. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/basic_deepsearch.py +0 -0
  74. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/basic_extractor.py +0 -0
  75. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/basic_intent.py +0 -0
  76. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/basic_judge.py +0 -0
  77. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/processing/basic_summarizer.py +0 -0
  78. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/__init__.py +0 -0
  79. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/anthropic_provider.py +0 -0
  80. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/base.py +0 -0
  81. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/huggingface_provider.py +0 -0
  82. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/lmstudio_provider.py +0 -0
  83. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/mlx_provider.py +0 -0
  84. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/model_capabilities.py +0 -0
  85. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/ollama_provider.py +0 -0
  86. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/openai_compatible_provider.py +0 -0
  87. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/openai_provider.py +0 -0
  88. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/registry.py +0 -0
  89. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/streaming.py +0 -0
  90. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/providers/vllm_provider.py +0 -0
  91. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/server/__init__.py +0 -0
  92. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/server/app.py +0 -0
  93. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/structured/__init__.py +0 -0
  94. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/structured/handler.py +0 -0
  95. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/structured/retry.py +0 -0
  96. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/__init__.py +0 -0
  97. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/common_tools.py +0 -0
  98. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/core.py +0 -0
  99. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/handler.py +0 -0
  100. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/parser.py +0 -0
  101. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/registry.py +0 -0
  102. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/syntax_rewriter.py +0 -0
  103. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/tools/tag_rewriter.py +0 -0
  104. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/__init__.py +0 -0
  105. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/cli.py +0 -0
  106. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/message_preprocessor.py +0 -0
  107. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/self_fixes.py +0 -0
  108. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/structured_logging.py +0 -0
  109. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/token_utils.py +0 -0
  110. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore/utils/trace_export.py +0 -0
  111. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/SOURCES.txt +0 -0
  112. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/dependency_links.txt +0 -0
  113. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/entry_points.txt +0 -0
  114. {abstractcore-2.6.6 → abstractcore-2.6.7}/abstractcore.egg-info/top_level.txt +0 -0
  115. {abstractcore-2.6.6 → abstractcore-2.6.7}/setup.cfg +0 -0
  116. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_agentic_cli_compatibility.py +0 -0
  117. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_basic_session.py +0 -0
  118. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_complete_integration.py +0 -0
  119. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_comprehensive_events.py +0 -0
  120. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_core_components.py +0 -0
  121. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_enhanced_prompt.py +0 -0
  122. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_environment_variable_tool_call_tags.py +0 -0
  123. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_factory.py +0 -0
  124. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_final_accuracy.py +0 -0
  125. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_final_comprehensive.py +0 -0
  126. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_final_graceful_errors.py +0 -0
  127. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_graceful_fallback.py +0 -0
  128. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_import_debug.py +0 -0
  129. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_integrated_functionality.py +0 -0
  130. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_retry_observability.py +0 -0
  131. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_retry_strategy.py +0 -0
  132. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_seed_determinism.py +0 -0
  133. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_seed_temperature_basic.py +0 -0
  134. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_sensory_prompting.py +0 -0
  135. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_text_only_model_experience.py +0 -0
  136. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_unload_memory.py +0 -0
  137. {abstractcore-2.6.6 → abstractcore-2.6.7}/tests/test_user_scenario_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractcore
3
- Version: 2.6.6
3
+ Version: 2.6.7
4
4
  Summary: Unified interface to all LLM providers with essential infrastructure for tool calling, streaming, and model management
5
5
  Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
6
6
  Maintainer-email: Laurent-Philippe Albou <contact@abstractcore.ai>
@@ -30,6 +30,7 @@ Requires-Dist: pydantic<3.0.0,>=2.0.0
30
30
  Requires-Dist: httpx<1.0.0,>=0.24.0
31
31
  Requires-Dist: tiktoken<1.0.0,>=0.5.0
32
32
  Requires-Dist: requests<3.0.0,>=2.25.0
33
+ Requires-Dist: Pillow<12.0.0,>=10.0.0
33
34
  Provides-Extra: openai
34
35
  Requires-Dist: openai<2.0.0,>=1.0.0; extra == "openai"
35
36
  Provides-Extra: anthropic
@@ -3,20 +3,13 @@ Image scaling utility for AbstractCore media handling.
3
3
 
4
4
  Provides intelligent image scaling based on model-specific requirements
5
5
  and capabilities for vision models.
6
-
7
- Requires: PIL (Pillow) - install with `pip install Pillow`
8
6
  """
9
7
 
10
8
  from typing import Tuple, Optional, Union, Dict, Any
11
9
  from enum import Enum
12
10
  from pathlib import Path
13
11
 
14
- try:
15
- from PIL import Image, ImageOps
16
- except ImportError as e:
17
- raise ImportError(
18
- "PIL (Pillow) is required for image scaling. Install with: pip install Pillow"
19
- ) from e
12
+ from PIL import Image, ImageOps
20
13
 
21
14
  from ..base import MediaProcessingError
22
15
  from ...utils.structured_logging import get_logger
@@ -11,4 +11,4 @@ including when the package is installed from PyPI where pyproject.toml is not av
11
11
 
12
12
  # Package version - update this when releasing new versions
13
13
  # This must be manually synchronized with the version in pyproject.toml
14
- __version__ = "2.6.6"
14
+ __version__ = "2.6.7"
@@ -24,12 +24,7 @@ from typing import Tuple, Dict, Any, Optional, List
24
24
  from pathlib import Path
25
25
  import logging
26
26
 
27
- try:
28
- from PIL import Image
29
- except ImportError as e:
30
- raise ImportError(
31
- "PIL (Pillow) is required for VLM token calculation. Install with: pip install Pillow"
32
- ) from e
27
+ from PIL import Image
33
28
 
34
29
  from ..utils.structured_logging import get_logger
35
30
  from ..architectures.detection import get_model_capabilities, detect_architecture
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractcore
3
- Version: 2.6.6
3
+ Version: 2.6.7
4
4
  Summary: Unified interface to all LLM providers with essential infrastructure for tool calling, streaming, and model management
5
5
  Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
6
6
  Maintainer-email: Laurent-Philippe Albou <contact@abstractcore.ai>
@@ -30,6 +30,7 @@ Requires-Dist: pydantic<3.0.0,>=2.0.0
30
30
  Requires-Dist: httpx<1.0.0,>=0.24.0
31
31
  Requires-Dist: tiktoken<1.0.0,>=0.5.0
32
32
  Requires-Dist: requests<3.0.0,>=2.25.0
33
+ Requires-Dist: Pillow<12.0.0,>=10.0.0
33
34
  Provides-Extra: openai
34
35
  Requires-Dist: openai<2.0.0,>=1.0.0; extra == "openai"
35
36
  Provides-Extra: anthropic
@@ -2,6 +2,7 @@ pydantic<3.0.0,>=2.0.0
2
2
  httpx<1.0.0,>=0.24.0
3
3
  tiktoken<1.0.0,>=0.5.0
4
4
  requests<3.0.0,>=2.25.0
5
+ Pillow<12.0.0,>=10.0.0
5
6
 
6
7
  [all]
7
8
  abstractcore[anthropic,compression,dev,docs,embeddings,huggingface,lmstudio,media,mlx,ollama,openai,processing,server,test,tools,vllm]
@@ -50,6 +50,7 @@ dependencies = [
50
50
  "httpx>=0.24.0,<1.0.0",
51
51
  "tiktoken>=0.5.0,<1.0.0",
52
52
  "requests>=2.25.0,<3.0.0", # Required for common_tools web functionality
53
+ "Pillow>=10.0.0,<12.0.0", # Required for media handling in providers
53
54
  ]
54
55
 
55
56
  [project.urls]
File without changes
File without changes
File without changes