IncludeCPP 3.7.19__tar.gz → 3.7.20__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 (59) hide show
  1. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/PKG-INFO +1 -1
  2. {includecpp-3.7.19 → includecpp-3.7.20}/PKG-INFO +1 -1
  3. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/__init__.py +1 -1
  4. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_parser.py +5 -0
  5. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_runtime.py +4 -0
  6. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl_bridge.py +13 -6
  7. {includecpp-3.7.19 → includecpp-3.7.20}/pyproject.toml +1 -1
  8. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/SOURCES.txt +0 -0
  9. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  10. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/entry_points.txt +0 -0
  11. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/requires.txt +0 -0
  12. {includecpp-3.7.19 → includecpp-3.7.20}/IncludeCPP.egg-info/top_level.txt +0 -0
  13. {includecpp-3.7.19 → includecpp-3.7.20}/LICENSE +0 -0
  14. {includecpp-3.7.19 → includecpp-3.7.20}/MANIFEST.in +0 -0
  15. {includecpp-3.7.19 → includecpp-3.7.20}/README.md +0 -0
  16. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/__init__.pyi +0 -0
  17. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/__main__.py +0 -0
  18. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/cli/__init__.py +0 -0
  19. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/cli/commands.py +0 -0
  20. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/cli/config_parser.py +0 -0
  21. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/__init__.py +0 -0
  22. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/ai_integration.py +0 -0
  23. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/build_manager.py +0 -0
  24. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cpp_api.py +0 -0
  25. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cpp_api.pyi +0 -0
  26. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cppy_converter.py +0 -0
  27. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +0 -0
  28. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/__init__.py +0 -0
  29. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_builtins.py +0 -0
  30. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_builtins.pyi +0 -0
  31. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_events.py +0 -0
  32. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_modules.py +0 -0
  33. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_syntax.py +0 -0
  34. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl/cssl_types.py +0 -0
  35. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/cssl_bridge.pyi +0 -0
  36. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/error_catalog.py +0 -0
  37. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/error_formatter.py +0 -0
  38. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/exceptions.py +0 -0
  39. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/path_discovery.py +0 -0
  40. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/project_ui.py +0 -0
  41. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/core/settings_ui.py +0 -0
  42. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/generator/__init__.py +0 -0
  43. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/generator/parser.cpp +0 -0
  44. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/generator/parser.h +0 -0
  45. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/generator/type_resolver.cpp +0 -0
  46. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/generator/type_resolver.h +0 -0
  47. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/py.typed +0 -0
  48. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/templates/cpp.proj.template +0 -0
  49. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/__init__.py +0 -0
  50. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/__init__.py +0 -0
  51. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/images/cssl.png +0 -0
  52. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
  53. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/language-configuration.json +0 -0
  54. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/package.json +0 -0
  55. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
  56. {includecpp-3.7.19 → includecpp-3.7.20}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +0 -0
  57. {includecpp-3.7.19 → includecpp-3.7.20}/requirements.txt +0 -0
  58. {includecpp-3.7.19 → includecpp-3.7.20}/setup.cfg +0 -0
  59. {includecpp-3.7.19 → includecpp-3.7.20}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.19
3
+ Version: 3.7.20
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.19
3
+ Version: 3.7.20
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
@@ -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.19"
5
+ __version__ = "3.7.20"
6
6
  __all__ = ["CppApi", "CSSL"]
7
7
 
8
8
  # Module-level cache for C++ modules
@@ -2118,6 +2118,11 @@ class CSSLParser:
2118
2118
  elif self._match(TokenType.COMPARE_GE):
2119
2119
  right = self._parse_term()
2120
2120
  left = ASTNode('binary', value={'op': '>=', 'left': left, 'right': right})
2121
+ elif self._check(TokenType.KEYWORD) and self._peek().value == 'in':
2122
+ # 'in' operator for containment: item in list
2123
+ self._advance() # consume 'in'
2124
+ right = self._parse_term()
2125
+ left = ASTNode('binary', value={'op': 'in', 'left': left, 'right': right})
2121
2126
  else:
2122
2127
  break
2123
2128
 
@@ -2047,6 +2047,10 @@ class CSSLRuntime:
2047
2047
  """Execute expression statement"""
2048
2048
  return self._evaluate(node.value)
2049
2049
 
2050
+ def _exec_type_instantiation(self, node: ASTNode) -> Any:
2051
+ """Execute type instantiation as statement (e.g., vector<int>)"""
2052
+ return self._evaluate(node)
2053
+
2050
2054
  def _exec_await(self, node: ASTNode) -> Any:
2051
2055
  """Execute await statement - waits for expression to complete"""
2052
2056
  # Evaluate the awaited expression
@@ -422,12 +422,19 @@ class CsslLang:
422
422
  """
423
423
  runtime = self._get_runtime()
424
424
 
425
- # Check if it's a file path
426
- path = Path(path_or_code)
427
- if path.exists() and path.suffix in ('.cssl', '.cssl-mod', '.cssl-pl'):
428
- source = path.read_text(encoding='utf-8')
429
- else:
430
- source = path_or_code
425
+ # Check if it's a file path (not code)
426
+ # Code detection: contains newlines, semicolons, or braces = definitely code
427
+ is_likely_code = '\n' in path_or_code or ';' in path_or_code or '{' in path_or_code
428
+ source = path_or_code
429
+
430
+ if not is_likely_code:
431
+ try:
432
+ path = Path(path_or_code)
433
+ if path.exists() and path.suffix in ('.cssl', '.cssl-mod', '.cssl-pl'):
434
+ source = path.read_text(encoding='utf-8')
435
+ except OSError:
436
+ # Path too long or invalid - treat as code
437
+ pass
431
438
 
432
439
  # Set arguments in runtime scope
433
440
  from .cssl import Parameter
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "IncludeCPP"
7
- version = "3.7.19"
7
+ version = "3.7.20"
8
8
  description = "Professional C++ Python bindings with type-generic templates, pystubs and native threading"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes