IncludeCPP 3.7.13__tar.gz → 3.7.17__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 (60) hide show
  1. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/PKG-INFO +2 -2
  2. {includecpp-3.7.13 → includecpp-3.7.17}/PKG-INFO +2 -2
  3. {includecpp-3.7.13 → includecpp-3.7.17}/README.md +1 -1
  4. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/__init__.py +1 -1
  5. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/__init__.pyi +2 -2
  6. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/__init__.py +1 -1
  7. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_builtins.py +62 -5
  8. includecpp-3.7.17/includecpp/core/cssl/cssl_builtins.pyi +4595 -0
  9. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_parser.py +1 -1
  10. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_syntax.py +7 -7
  11. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_types.py +5 -2
  12. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/package.json +3 -4
  13. {includecpp-3.7.13 → includecpp-3.7.17}/pyproject.toml +1 -1
  14. includecpp-3.7.13/includecpp/core/cssl/cssl_builtins.pyi +0 -1393
  15. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/SOURCES.txt +0 -0
  16. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  17. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/entry_points.txt +0 -0
  18. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/requires.txt +0 -0
  19. {includecpp-3.7.13 → includecpp-3.7.17}/IncludeCPP.egg-info/top_level.txt +0 -0
  20. {includecpp-3.7.13 → includecpp-3.7.17}/LICENSE +0 -0
  21. {includecpp-3.7.13 → includecpp-3.7.17}/MANIFEST.in +0 -0
  22. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/__main__.py +0 -0
  23. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/cli/__init__.py +0 -0
  24. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/cli/commands.py +0 -0
  25. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/cli/config_parser.py +0 -0
  26. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/__init__.py +0 -0
  27. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/ai_integration.py +0 -0
  28. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/build_manager.py +0 -0
  29. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cpp_api.py +0 -0
  30. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cpp_api.pyi +0 -0
  31. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cppy_converter.py +0 -0
  32. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +0 -0
  33. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_events.py +0 -0
  34. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_modules.py +0 -0
  35. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl/cssl_runtime.py +0 -0
  36. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl_bridge.py +0 -0
  37. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/cssl_bridge.pyi +0 -0
  38. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/error_catalog.py +0 -0
  39. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/error_formatter.py +0 -0
  40. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/exceptions.py +0 -0
  41. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/path_discovery.py +0 -0
  42. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/project_ui.py +0 -0
  43. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/core/settings_ui.py +0 -0
  44. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/generator/__init__.py +0 -0
  45. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/generator/parser.cpp +0 -0
  46. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/generator/parser.h +0 -0
  47. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/generator/type_resolver.cpp +0 -0
  48. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/generator/type_resolver.h +0 -0
  49. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/py.typed +0 -0
  50. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/templates/cpp.proj.template +0 -0
  51. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/__init__.py +0 -0
  52. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/__init__.py +0 -0
  53. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/images/cssl.png +0 -0
  54. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
  55. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/language-configuration.json +0 -0
  56. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
  57. {includecpp-3.7.13 → includecpp-3.7.17}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +0 -0
  58. {includecpp-3.7.13 → includecpp-3.7.17}/requirements.txt +0 -0
  59. {includecpp-3.7.13 → includecpp-3.7.17}/setup.cfg +0 -0
  60. {includecpp-3.7.13 → includecpp-3.7.17}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.13
3
+ Version: 3.7.17
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -623,7 +623,7 @@ Then check **"Enable Experimental Features"** and save.
623
623
 
624
624
  Use at your own discretion. Report issues at: https://github.com/liliassg/IncludeCPP/issues
625
625
 
626
- # CSSL - CSO Service Script Language
626
+ # CSSL - C-Style Scripting Language
627
627
 
628
628
  IncludeCPP includes CSSL, a scripting language with advanced data manipulation features.
629
629
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.13
3
+ Version: 3.7.17
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -623,7 +623,7 @@ Then check **"Enable Experimental Features"** and save.
623
623
 
624
624
  Use at your own discretion. Report issues at: https://github.com/liliassg/IncludeCPP/issues
625
625
 
626
- # CSSL - CSO Service Script Language
626
+ # CSSL - C-Style Scripting Language
627
627
 
628
628
  IncludeCPP includes CSSL, a scripting language with advanced data manipulation features.
629
629
 
@@ -589,7 +589,7 @@ Then check **"Enable Experimental Features"** and save.
589
589
 
590
590
  Use at your own discretion. Report issues at: https://github.com/liliassg/IncludeCPP/issues
591
591
 
592
- # CSSL - CSO Service Script Language
592
+ # CSSL - C-Style Scripting Language
593
593
 
594
594
  IncludeCPP includes CSSL, a scripting language with advanced data manipulation features.
595
595
 
@@ -2,7 +2,7 @@ from .core.cpp_api import CppApi
2
2
  from .core import cssl_bridge as CSSL
3
3
  import warnings
4
4
 
5
- __version__ = "3.7.13"
5
+ __version__ = "3.7.17"
6
6
  __all__ = ["CppApi", "CSSL"]
7
7
 
8
8
  # Module-level cache for C++ modules
@@ -13,7 +13,7 @@ except ImportError:
13
13
  pass # Generated during rebuild
14
14
 
15
15
 
16
- # ========== CSSL Module - CSO Service Script Language ==========
16
+ # ========== CSSL Module ==========
17
17
  class _CSSLModule:
18
18
  """CSSL callable module created via CSSL.module()"""
19
19
  def __call__(self, *args: Any) -> Any:
@@ -139,7 +139,7 @@ class _CSSLBridge:
139
139
  ...
140
140
 
141
141
 
142
- # CSSL module instance - CSO Service Script Language
142
+ # CSSL module instance
143
143
  CSSL: _CSSLBridge
144
144
 
145
145
  __version__: str
@@ -1,5 +1,5 @@
1
1
  """
2
- CSSL - CSO Service Script Language
2
+ CSSL - C-Style Scripting Language
3
3
  Bundled with IncludeCPP for integrated scripting support.
4
4
 
5
5
  Features:
@@ -1044,6 +1044,13 @@ class CSSLBuiltins:
1044
1044
  Usage: instance::getMethods(@module) or instance::getMethods($obj)
1045
1045
  Returns list of method names.
1046
1046
  """
1047
+ from .cssl_types import CSSLInstance
1048
+
1049
+ # Handle CSSL class instances
1050
+ if isinstance(obj, CSSLInstance):
1051
+ return list(obj._class.methods.keys())
1052
+
1053
+ # Handle Python objects
1047
1054
  import inspect
1048
1055
  methods = []
1049
1056
  for name in dir(obj):
@@ -1058,6 +1065,13 @@ class CSSLBuiltins:
1058
1065
  Usage: instance::getClasses(@module)
1059
1066
  Returns list of class names.
1060
1067
  """
1068
+ from .cssl_types import CSSLInstance
1069
+
1070
+ # Handle CSSL class instances - they don't contain nested classes
1071
+ if isinstance(obj, CSSLInstance):
1072
+ return [obj._class.name] # Return the class name itself
1073
+
1074
+ # Handle Python objects
1061
1075
  import inspect
1062
1076
  classes = []
1063
1077
  for name in dir(obj):
@@ -1072,6 +1086,13 @@ class CSSLBuiltins:
1072
1086
  Usage: instance::getVars(@module)
1073
1087
  Returns list of variable names.
1074
1088
  """
1089
+ from .cssl_types import CSSLInstance
1090
+
1091
+ # Handle CSSL class instances
1092
+ if isinstance(obj, CSSLInstance):
1093
+ return list(obj._members.keys())
1094
+
1095
+ # Handle Python objects
1075
1096
  vars_list = []
1076
1097
  for name in dir(obj):
1077
1098
  if not name.startswith('_'):
@@ -1085,12 +1106,23 @@ class CSSLBuiltins:
1085
1106
  Usage: instance::getAll(@module)
1086
1107
  Returns dict with 'methods', 'classes', 'vars' keys.
1087
1108
  """
1088
- import inspect
1109
+ from .cssl_types import CSSLInstance
1110
+
1089
1111
  result = {
1090
1112
  'methods': [],
1091
1113
  'classes': [],
1092
1114
  'vars': []
1093
1115
  }
1116
+
1117
+ # Handle CSSL class instances
1118
+ if isinstance(obj, CSSLInstance):
1119
+ result['methods'] = list(obj._class.methods.keys())
1120
+ result['classes'] = [obj._class.name]
1121
+ result['vars'] = list(obj._members.keys())
1122
+ return result
1123
+
1124
+ # Handle Python objects
1125
+ import inspect
1094
1126
  for name in dir(obj):
1095
1127
  if not name.startswith('_'):
1096
1128
  attr = getattr(obj, name, None)
@@ -1106,21 +1138,46 @@ class CSSLBuiltins:
1106
1138
  """Dynamically call a method on an object.
1107
1139
  Usage: instance::call(@module, 'methodName', arg1, arg2)
1108
1140
  """
1141
+ from .cssl_types import CSSLInstance
1142
+
1143
+ # Handle CSSL class instances
1144
+ if isinstance(obj, CSSLInstance):
1145
+ if obj.has_method(method_name):
1146
+ # Need runtime to call the method
1147
+ if self.runtime:
1148
+ return self.runtime._call_method(obj, obj.get_method(method_name), list(args), kwargs or {})
1149
+ raise RuntimeError(f"Method '{method_name}' not found on CSSL instance")
1150
+
1151
+ # Handle Python objects
1109
1152
  method = getattr(obj, method_name, None)
1110
1153
  if method and callable(method):
1111
1154
  return method(*args, **kwargs)
1112
1155
  raise RuntimeError(f"Method '{method_name}' not found on object")
1113
1156
 
1114
1157
  def builtin_instance_has(self, obj: Any, name: str) -> bool:
1115
- """Check if object has an attribute.
1158
+ """Check if object has an attribute or method.
1116
1159
  Usage: instance::has(@module, 'methodName')
1117
1160
  """
1161
+ from .cssl_types import CSSLInstance
1162
+
1163
+ # Handle CSSL class instances
1164
+ if isinstance(obj, CSSLInstance):
1165
+ return obj.has_member(name) or obj.has_method(name)
1166
+
1167
+ # Handle Python objects
1118
1168
  return hasattr(obj, name)
1119
1169
 
1120
1170
  def builtin_instance_type(self, obj: Any) -> str:
1121
1171
  """Get the type name of an object.
1122
1172
  Usage: instance::type(@module)
1123
1173
  """
1174
+ from .cssl_types import CSSLInstance
1175
+
1176
+ # Handle CSSL class instances
1177
+ if isinstance(obj, CSSLInstance):
1178
+ return obj._class.name
1179
+
1180
+ # Handle Python objects
1124
1181
  return type(obj).__name__
1125
1182
 
1126
1183
  def builtin_isavailable(self, name_or_obj: Any) -> bool:
@@ -1680,7 +1737,7 @@ class CSSLBuiltins:
1680
1737
 
1681
1738
  def builtin_cso_root(self, path: str = "") -> str:
1682
1739
  """
1683
- Get absolute path relative to CSO root directory
1740
+ Get absolute path relative to project root directory
1684
1741
  Usage: cso_root('/services/myservice.cssl')
1685
1742
  Returns: Full absolute path to the file
1686
1743
  """
@@ -1729,7 +1786,7 @@ class CSSLBuiltins:
1729
1786
  if os.path.exists(cwd_path):
1730
1787
  filepath = cwd_path
1731
1788
  else:
1732
- # Fall back to cso_root for CSO service context
1789
+ # Fall back to cso_root for service context
1733
1790
  filepath = self.builtin_cso_root(filepath)
1734
1791
 
1735
1792
  # Check file exists
@@ -1923,7 +1980,7 @@ class CSSLBuiltins:
1923
1980
  if os.path.exists(cwd_path):
1924
1981
  filepath = cwd_path
1925
1982
  else:
1926
- # Fall back to cso_root for CSO service context
1983
+ # Fall back to cso_root for service context
1927
1984
  filepath = self.builtin_cso_root(filepath)
1928
1985
 
1929
1986
  # Check file exists