abstractcore 2.4.8__py3-none-any.whl → 2.4.9__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.
- abstractcore/apps/app_config_utils.py +1 -1
- abstractcore/cli/main.py +13 -5
- abstractcore/media/vision_fallback.py +16 -2
- abstractcore/utils/version.py +1 -1
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/METADATA +1 -1
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/RECORD +10 -10
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/WHEEL +0 -0
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/entry_points.txt +0 -0
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/licenses/LICENSE +0 -0
- {abstractcore-2.4.8.dist-info → abstractcore-2.4.9.dist-info}/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ def get_app_defaults(app_name: str) -> tuple[str, str]:
|
|
|
8
8
|
from ..config import get_config_manager
|
|
9
9
|
config_manager = get_config_manager()
|
|
10
10
|
return config_manager.get_app_default(app_name)
|
|
11
|
-
except Exception:
|
|
11
|
+
except (ImportError, Exception):
|
|
12
12
|
# Fallback to hardcoded defaults if config unavailable
|
|
13
13
|
hardcoded_defaults = {
|
|
14
14
|
'summarizer': ('huggingface', 'unsloth/Qwen3-4B-Instruct-2507-GGUF'),
|
abstractcore/cli/main.py
CHANGED
|
@@ -38,7 +38,13 @@ from typing import List, Optional
|
|
|
38
38
|
# Add parent directory to path for imports
|
|
39
39
|
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
# Import config manager with fallback
|
|
42
|
+
try:
|
|
43
|
+
from abstractcore.config import get_config_manager
|
|
44
|
+
CONFIG_AVAILABLE = True
|
|
45
|
+
except ImportError:
|
|
46
|
+
CONFIG_AVAILABLE = False
|
|
47
|
+
get_config_manager = None
|
|
42
48
|
|
|
43
49
|
def download_vision_model(model_name: str = "blip-base-caption") -> bool:
|
|
44
50
|
"""Download a vision model for local use."""
|
|
@@ -144,10 +150,12 @@ def download_vision_model(model_name: str = "blip-base-caption") -> bool:
|
|
|
144
150
|
print(f"📁 Model saved to: {models_dir}")
|
|
145
151
|
|
|
146
152
|
# Configure AbstractCore to use this model
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
153
|
+
if CONFIG_AVAILABLE:
|
|
154
|
+
config_manager = get_config_manager()
|
|
155
|
+
# Use the proper HuggingFace model identifier
|
|
156
|
+
config_manager.set_vision_provider("huggingface", hf_id)
|
|
157
|
+
else:
|
|
158
|
+
print("⚠️ Config system not available - manual configuration required")
|
|
151
159
|
|
|
152
160
|
print(f"✅ Configured AbstractCore to use HuggingFace model: {hf_id}")
|
|
153
161
|
print(f"🎯 Vision fallback is now enabled!")
|
|
@@ -31,14 +31,28 @@ class VisionFallbackHandler:
|
|
|
31
31
|
def __init__(self, config_manager=None):
|
|
32
32
|
"""Initialize with configuration manager."""
|
|
33
33
|
if config_manager is None:
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
try:
|
|
35
|
+
from abstractcore.config import get_config_manager
|
|
36
|
+
self.config_manager = get_config_manager()
|
|
37
|
+
except ImportError:
|
|
38
|
+
# Config module not available - use fallback behavior
|
|
39
|
+
logger.warning("Config module not available, vision fallback disabled")
|
|
40
|
+
self.config_manager = None
|
|
36
41
|
else:
|
|
37
42
|
self.config_manager = config_manager
|
|
38
43
|
|
|
39
44
|
@property
|
|
40
45
|
def vision_config(self):
|
|
41
46
|
"""Get vision configuration from unified config system."""
|
|
47
|
+
if self.config_manager is None:
|
|
48
|
+
# Return a minimal config object when config system is not available
|
|
49
|
+
class FallbackVisionConfig:
|
|
50
|
+
strategy = "disabled"
|
|
51
|
+
caption_provider = None
|
|
52
|
+
caption_model = None
|
|
53
|
+
fallback_chain = []
|
|
54
|
+
local_models_path = None
|
|
55
|
+
return FallbackVisionConfig()
|
|
42
56
|
return self.config_manager.config.vision
|
|
43
57
|
|
|
44
58
|
def create_description(self, image_path: str, user_prompt: str = None) -> str:
|
abstractcore/utils/version.py
CHANGED
|
@@ -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.4.
|
|
14
|
+
__version__ = "2.4.9"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractcore
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.9
|
|
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>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
abstractcore/__init__.py,sha256=A7Gbn_C-robdWLLQXjtTyWsoaXDGIblSFmLRV_ni6O8,1934
|
|
2
2
|
abstractcore/apps/__init__.py,sha256=sgNOv3lYyOWNBC-w6GnRN6aILGCbdkQtNcuQdJz5ghE,31
|
|
3
3
|
abstractcore/apps/__main__.py,sha256=041daYkoIE1VLEO19IZC5nNIDOQZWNgpB7ogJ3SOlsE,1585
|
|
4
|
-
abstractcore/apps/app_config_utils.py,sha256=
|
|
4
|
+
abstractcore/apps/app_config_utils.py,sha256=5GIvXnD996LFIV3-BpfkqII6UqYlStm7ZCgmqDEN8dc,890
|
|
5
5
|
abstractcore/apps/extractor.py,sha256=OfiqB9l_alH9xCGb6zOD__QJkDjdKOlLZngriVgmn7c,23749
|
|
6
6
|
abstractcore/apps/judge.py,sha256=nOgxvn-BbhNY6xU9AlTeD1yidTh73AiVlSN7hQCVE2M,23169
|
|
7
7
|
abstractcore/apps/summarizer.py,sha256=9aD6KH21w-tv_wGp9MaO2uyJuaU71OemW7KpqrG5t6w,14669
|
|
@@ -12,7 +12,7 @@ abstractcore/assets/architecture_formats.json,sha256=CIf6SaR_IJs1D7Uvd1K3zWngIXJ
|
|
|
12
12
|
abstractcore/assets/model_capabilities.json,sha256=iUkDiljyZUZzPlpYCOFgStXyc6e7dvOfReYQ0HFrX9Q,49703
|
|
13
13
|
abstractcore/assets/session_schema.json,sha256=hMCVrq3KSyVExrMGzuykf7bU-z6WyIVuEGU8du9_zUY,10570
|
|
14
14
|
abstractcore/cli/__init__.py,sha256=rUjLjZSK3wENSw4g_iN43Bc2i5cggcEmj4NPXBMohdc,241
|
|
15
|
-
abstractcore/cli/main.py,sha256=
|
|
15
|
+
abstractcore/cli/main.py,sha256=cZBOY3Cj7a4SUxqp7p3FeuS-iUnCdYOf1-v4CICIni0,32073
|
|
16
16
|
abstractcore/cli/vision_config.py,sha256=jJzO4zBexh8SqSKp6YKOXdMDSv4AL4Ztl5Xi-5c4KyY,17869
|
|
17
17
|
abstractcore/core/__init__.py,sha256=2h-86U4QkCQ4gzZ4iRusSTMlkODiUS6tKjZHiEXz6rM,684
|
|
18
18
|
abstractcore/core/enums.py,sha256=BhkVnHC-X1_377JDmqd-2mnem9GdBLqixWlYzlP_FJU,695
|
|
@@ -31,7 +31,7 @@ abstractcore/media/auto_handler.py,sha256=R3EhifSlGSJ_2oftQ7BdD7nQBMGePHOubuXkqH
|
|
|
31
31
|
abstractcore/media/base.py,sha256=vWdxscqTGTvd3oc4IzzsBTWhUrznWcqM7M_sFyq6-eE,15971
|
|
32
32
|
abstractcore/media/capabilities.py,sha256=qqKvXGkUT-FNnbFS-EYx8KCT9SZOovO2h4N7ucrHgBA,12844
|
|
33
33
|
abstractcore/media/types.py,sha256=jG-g_2_gzl8eOgEalk9x3Ikhni9GoGfoRjkZWaBhV30,10165
|
|
34
|
-
abstractcore/media/vision_fallback.py,sha256=
|
|
34
|
+
abstractcore/media/vision_fallback.py,sha256=yojFTwKqiE0wfQGYphpXUcANpC0Q80s-qlt7gmQGfZg,11282
|
|
35
35
|
abstractcore/media/handlers/__init__.py,sha256=HBqFo15JX1q7RM11076iFQUfPvInLlOizX-LGSznLuI,404
|
|
36
36
|
abstractcore/media/handlers/anthropic_handler.py,sha256=iwcHKnHgHoQGpJKlJmwFJWBvrYg9lAzAnndybwsWZRA,12427
|
|
37
37
|
abstractcore/media/handlers/local_handler.py,sha256=xfMV2Ztre3eUkDno4aSGob96oWUlgicZ3VChs-txjXU,23033
|
|
@@ -76,10 +76,10 @@ abstractcore/utils/message_preprocessor.py,sha256=GdHkm6tmrgjm3PwHRSCjIsq1XLkbhy
|
|
|
76
76
|
abstractcore/utils/self_fixes.py,sha256=QEDwNTW80iQM4ftfEY3Ghz69F018oKwLM9yeRCYZOvw,5886
|
|
77
77
|
abstractcore/utils/structured_logging.py,sha256=Vm-HviSa42G9DJCWmaEv4a0QG3NMsADD3ictLOs4En0,19952
|
|
78
78
|
abstractcore/utils/token_utils.py,sha256=eLwFmJ68p9WMFD_MHLMmeJRW6Oqx_4hKELB8FNQ2Mnk,21097
|
|
79
|
-
abstractcore/utils/version.py,sha256=
|
|
80
|
-
abstractcore-2.4.
|
|
81
|
-
abstractcore-2.4.
|
|
82
|
-
abstractcore-2.4.
|
|
83
|
-
abstractcore-2.4.
|
|
84
|
-
abstractcore-2.4.
|
|
85
|
-
abstractcore-2.4.
|
|
79
|
+
abstractcore/utils/version.py,sha256=no3N7qA8I5XGeoI1AfM5yAVEAnvR87_qtMTqqRVPDVc,605
|
|
80
|
+
abstractcore-2.4.9.dist-info/licenses/LICENSE,sha256=PI2v_4HMvd6050uDD_4AY_8PzBnu2asa3RKbdDjowTA,1078
|
|
81
|
+
abstractcore-2.4.9.dist-info/METADATA,sha256=rmaOtujlK0uq0n8YOFg1wht75czvj4beh9Wpv6obTVQ,31907
|
|
82
|
+
abstractcore-2.4.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
83
|
+
abstractcore-2.4.9.dist-info/entry_points.txt,sha256=UdVmchBC_Lt3H4Vlkt5js-QDAkVlBbkCu1yCsswk-KE,454
|
|
84
|
+
abstractcore-2.4.9.dist-info/top_level.txt,sha256=DiNHBI35SIawW3N9Z-z0y6cQYNbXd32pvBkW0RLfScs,13
|
|
85
|
+
abstractcore-2.4.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|