syntaxmatrix 2.5.5.5__py3-none-any.whl → 2.6.2__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 (44) hide show
  1. syntaxmatrix/__init__.py +3 -2
  2. syntaxmatrix/agentic/agents.py +1220 -169
  3. syntaxmatrix/agentic/agents_orchestrer.py +326 -0
  4. syntaxmatrix/agentic/code_tools_registry.py +27 -32
  5. syntaxmatrix/auth.py +142 -5
  6. syntaxmatrix/commentary.py +16 -16
  7. syntaxmatrix/core.py +192 -84
  8. syntaxmatrix/db.py +460 -4
  9. syntaxmatrix/{display.py → display_html.py} +2 -6
  10. syntaxmatrix/gpt_models_latest.py +1 -1
  11. syntaxmatrix/media/__init__.py +0 -0
  12. syntaxmatrix/media/media_pixabay.py +277 -0
  13. syntaxmatrix/models.py +1 -1
  14. syntaxmatrix/page_builder_defaults.py +183 -0
  15. syntaxmatrix/page_builder_generation.py +1122 -0
  16. syntaxmatrix/page_layout_contract.py +644 -0
  17. syntaxmatrix/page_patch_publish.py +1471 -0
  18. syntaxmatrix/preface.py +670 -0
  19. syntaxmatrix/profiles.py +28 -10
  20. syntaxmatrix/routes.py +1941 -593
  21. syntaxmatrix/selftest_page_templates.py +360 -0
  22. syntaxmatrix/settings/client_items.py +28 -0
  23. syntaxmatrix/settings/model_map.py +1022 -207
  24. syntaxmatrix/settings/prompts.py +328 -130
  25. syntaxmatrix/static/assets/hero-default.svg +22 -0
  26. syntaxmatrix/static/icons/bot-icon.png +0 -0
  27. syntaxmatrix/static/icons/favicon.png +0 -0
  28. syntaxmatrix/static/icons/logo.png +0 -0
  29. syntaxmatrix/static/icons/logo3.png +0 -0
  30. syntaxmatrix/templates/admin_branding.html +104 -0
  31. syntaxmatrix/templates/admin_features.html +63 -0
  32. syntaxmatrix/templates/admin_secretes.html +108 -0
  33. syntaxmatrix/templates/change_password.html +124 -0
  34. syntaxmatrix/templates/dashboard.html +296 -131
  35. syntaxmatrix/templates/dataset_resize.html +535 -0
  36. syntaxmatrix/templates/edit_page.html +2535 -0
  37. syntaxmatrix/utils.py +2728 -2835
  38. {syntaxmatrix-2.5.5.5.dist-info → syntaxmatrix-2.6.2.dist-info}/METADATA +6 -2
  39. {syntaxmatrix-2.5.5.5.dist-info → syntaxmatrix-2.6.2.dist-info}/RECORD +42 -25
  40. syntaxmatrix/generate_page.py +0 -634
  41. syntaxmatrix/static/icons/hero_bg.jpg +0 -0
  42. {syntaxmatrix-2.5.5.5.dist-info → syntaxmatrix-2.6.2.dist-info}/WHEEL +0 -0
  43. {syntaxmatrix-2.5.5.5.dist-info → syntaxmatrix-2.6.2.dist-info}/licenses/LICENSE.txt +0 -0
  44. {syntaxmatrix-2.5.5.5.dist-info → syntaxmatrix-2.6.2.dist-info}/top_level.txt +0 -0
syntaxmatrix/profiles.py CHANGED
@@ -2,7 +2,7 @@
2
2
  from openai import OpenAI
3
3
  from google import genai
4
4
  import anthropic
5
-
5
+ from datetime import date
6
6
  from syntaxmatrix.llm_store import list_profiles, load_profile
7
7
 
8
8
  # Preload once at import-time
@@ -31,6 +31,7 @@ def get_profiles():
31
31
  def get_client(profile):
32
32
 
33
33
  provider = profile["provider"].lower()
34
+ model = profile["model"]
34
35
  api_key = profile["api_key"]
35
36
 
36
37
  #1 - Google - gemini series
@@ -41,25 +42,42 @@ def get_client(profile):
41
42
  if provider == "openai":
42
43
  return OpenAI(api_key=api_key)
43
44
 
44
- #3 - xAI - grok series
45
+ #3 - Anthropic claude series
46
+ if provider == "anthropic":
47
+ return anthropic.Anthropic(api_key=api_key)
48
+
49
+ #4 - xAI - grok series
45
50
  if provider == "xai":
46
51
  return OpenAI(api_key=api_key, base_url="https://api.x.ai/v1")
47
52
 
48
- #4 - DeepSeek chat model
49
- if provider == "deepseek":
50
- return OpenAI(api_key=api_key, base_url="https://api.deepseek.com")
53
+ #5 - DeepSeek chat model
54
+ if provider == "deepseek":
55
+ url_special = "https://api.deepseek.com/v3.2_speciale_expires_on_20251215"
56
+ url_default = "https://api.deepseek.com"
57
+ expiry_date = date(2025, 12, 15)
58
+ today = date.today()
59
+ if today < expiry_date:
60
+ base_url = url_special
61
+ else:
62
+ base_url = url_default
63
+ return OpenAI(api_key=api_key, base_url=base_url)
51
64
 
52
- #5 - Moonshot chat model
65
+ #6 - Moonshot chat model
53
66
  if provider == "moonshot": #5
54
67
  return OpenAI(api_key=api_key, base_url="https://api.moonshot.ai/v1")
55
68
 
56
- #6 - Alibaba qwen series
69
+ #7 - Alibaba qwen series
57
70
  if provider == "alibaba": #6
58
71
  return OpenAI(api_key=api_key, base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",)
59
72
 
60
- #7 - Anthropic claude series
61
- if provider == "anthropic": #7
62
- return anthropic.Anthropic(api_key=api_key)
73
+ #8 - ZAI GLM series
74
+ if provider == "zai":
75
+ url = ""
76
+ if profile.get('name') == "coding":
77
+ url = "https://api.z.ai/api/coding/paas/v4"
78
+ else: url = "https://api.z.ai/api/paas/v4"
79
+ return OpenAI(api_key=api_key, base_url=url)
80
+
63
81
 
64
82
  def drop_cached_profile_by_name(profile_name: str) -> bool:
65
83
  """