IncludeCPP 3.9.1__tar.gz → 4.2.2__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 (67) hide show
  1. {includecpp-3.9.1 → includecpp-4.2.2/IncludeCPP.egg-info}/PKG-INFO +102 -1
  2. {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/SOURCES.txt +10 -1
  3. {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/requires.txt +1 -0
  4. {includecpp-3.9.1 → includecpp-4.2.2}/MANIFEST.in +1 -0
  5. includecpp-3.9.1/README.md → includecpp-4.2.2/PKG-INFO +1008 -873
  6. includecpp-3.9.1/IncludeCPP.egg-info/PKG-INFO → includecpp-4.2.2/README.md +973 -907
  7. includecpp-4.2.2/includecpp/CHANGELOG.md +175 -0
  8. includecpp-4.2.2/includecpp/DOCUMENTATION.md +593 -0
  9. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__init__.py +1 -1
  10. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__init__.pyi +4 -1
  11. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/commands.py +705 -98
  12. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/ai_integration.py +46 -13
  13. includecpp-4.2.2/includecpp/core/cpp_api_extensions.pyi +350 -0
  14. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +344 -10
  15. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.py +101 -4
  16. includecpp-4.2.2/includecpp/core/cssl/cssl_languages.py +1757 -0
  17. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_parser.py +752 -187
  18. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_runtime.py +1175 -89
  19. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_syntax.py +88 -4
  20. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_types.py +172 -1
  21. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl_bridge.py +198 -12
  22. includecpp-4.2.2/includecpp/core/cssl_bridge.pyi +1019 -0
  23. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/parser.cpp +121 -4
  24. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/parser.h +6 -0
  25. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/package.json +43 -1
  26. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +140 -17
  27. {includecpp-3.9.1 → includecpp-4.2.2}/pyproject.toml +3 -1
  28. {includecpp-3.9.1 → includecpp-4.2.2}/setup.py +2 -1
  29. includecpp-4.2.2/tests/test_multilang.py +511 -0
  30. includecpp-3.9.1/includecpp/core/cssl_bridge.pyi +0 -488
  31. {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  32. {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/entry_points.txt +0 -0
  33. {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/top_level.txt +0 -0
  34. {includecpp-3.9.1 → includecpp-4.2.2}/LICENSE +0 -0
  35. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__main__.py +0 -0
  36. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/__init__.py +0 -0
  37. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/config_parser.py +0 -0
  38. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/__init__.py +0 -0
  39. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/build_manager.py +0 -0
  40. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cpp_api.py +0 -0
  41. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cpp_api.pyi +0 -0
  42. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cppy_converter.py +0 -0
  43. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION_NEW.md +0 -0
  44. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/__init__.py +0 -0
  45. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.pyi +0 -0
  46. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_events.py +0 -0
  47. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_modules.py +0 -0
  48. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/error_catalog.py +0 -0
  49. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/error_formatter.py +0 -0
  50. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/exceptions.py +0 -0
  51. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/path_discovery.py +0 -0
  52. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/project_ui.py +0 -0
  53. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/settings_ui.py +0 -0
  54. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/__init__.py +0 -0
  55. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/type_resolver.cpp +0 -0
  56. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/type_resolver.h +0 -0
  57. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/py.typed +0 -0
  58. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/templates/cpp.proj.template +0 -0
  59. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/__init__.py +0 -0
  60. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/__init__.py +0 -0
  61. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/extension.js +0 -0
  62. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl.png +0 -0
  63. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
  64. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/language-configuration.json +0 -0
  65. {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
  66. {includecpp-3.9.1 → includecpp-4.2.2}/requirements.txt +0 -0
  67. {includecpp-3.9.1 → includecpp-4.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.9.1
3
+ Version: 4.2.2
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
@@ -27,6 +27,7 @@ Requires-Dist: pybind11>=2.11.0
27
27
  Requires-Dist: click>=8.0.0
28
28
  Requires-Dist: typing-extensions>=4.0.0
29
29
  Requires-Dist: requests>=2.28.0
30
+ Requires-Dist: colorama>=0.4.0
30
31
  Dynamic: author-email
31
32
  Dynamic: home-page
32
33
  Dynamic: license-file
@@ -905,3 +906,103 @@ print(greeter.name) # "Python"
905
906
  - `python::export(instance)` - Alias
906
907
 
907
908
  All three do the same thing: wrap a CSSL class instance for Python use.
909
+
910
+ ## Universal Instances (v4.0.3+)
911
+
912
+ Universal instances are shared containers accessible from CSSL, Python, and C++:
913
+
914
+ ```python
915
+ from includecpp import CSSL
916
+
917
+ cssl = CSSL.CsslLang()
918
+
919
+ # Create in CSSL
920
+ cssl.run('''
921
+ instance<"myContainer"> container;
922
+ container.data = "Hello";
923
+ container.count = 42;
924
+ ''')
925
+
926
+ # Access from Python
927
+ container = cssl.getInstance("myContainer")
928
+ print(container.data) # "Hello"
929
+ print(container.count) # 42
930
+
931
+ # Modify from Python
932
+ container.newValue = "Added from Python"
933
+
934
+ # Changes reflect in CSSL
935
+ cssl.run('''
936
+ instance<"myContainer"> c;
937
+ printl(c.newValue); // "Added from Python"
938
+ ''')
939
+ ```
940
+
941
+ ### Instance Methods
942
+
943
+ ```python
944
+ cssl.getInstance("name") # Get instance (None if not found)
945
+ cssl.createInstance("name") # Create or get instance
946
+ cssl.deleteInstance("name") # Delete instance
947
+ cssl.listInstances() # List all instance names
948
+ ```
949
+
950
+ ### Method Injection
951
+
952
+ Inject methods into instances using `+<<==`:
953
+
954
+ ```cssl
955
+ instance<"api"> api;
956
+
957
+ // Inject a method
958
+ api +<<== {
959
+ void greet(string name) {
960
+ printl("Hello, " + name + "!");
961
+ }
962
+ };
963
+
964
+ api.greet("World"); // Hello, World!
965
+ ```
966
+
967
+ ## Simplified Module API (v4.0.2+)
968
+
969
+ Create CSSL modules from files with payload binding:
970
+
971
+ ```python
972
+ from includecpp import CSSL
973
+
974
+ # Register payload from file
975
+ CSSL.makepayload("api", "lib/api/myapi.cssl-pl")
976
+
977
+ # Create module from file, binding to payload
978
+ mod = CSSL.makemodule("writer", "lib/writer.cssl", bind="api")
979
+ mod.SaySomething("Hello!") # Call functions directly
980
+ ```
981
+
982
+ ## VSCode Extension
983
+
984
+ IncludeCPP includes a VSCode extension for CSSL syntax highlighting.
985
+
986
+ ### Installation
987
+
988
+ ```bash
989
+ # Copy extension to VSCode extensions folder
990
+ # Windows: %USERPROFILE%\.vscode\extensions\
991
+ # Linux/Mac: ~/.vscode/extensions/
992
+
993
+ # Or install from included files
994
+ pip show includecpp # Find package location
995
+ # Copy vscode/cssl folder to extensions
996
+ ```
997
+
998
+ ### Features
999
+
1000
+ - Syntax highlighting for `.cssl`, `.cssl-pl`, `.cssl-mod` files
1001
+ - Snippets for common patterns
1002
+ - Run CSSL files with F5
1003
+ - Proper coloring for:
1004
+ - Keywords and control flow
1005
+ - Data types (purple/lilac)
1006
+ - Variable declarations (light blue)
1007
+ - Injection operators (`<<==`, `<==`)
1008
+ - Global (`@`), shared (`$`), and captured (`%`) references
@@ -4,6 +4,8 @@ README.md
4
4
  pyproject.toml
5
5
  requirements.txt
6
6
  setup.py
7
+ ./includecpp/CHANGELOG.md
8
+ ./includecpp/DOCUMENTATION.md
7
9
  ./includecpp/__init__.py
8
10
  ./includecpp/__init__.pyi
9
11
  ./includecpp/__main__.py
@@ -16,6 +18,7 @@ setup.py
16
18
  ./includecpp/core/build_manager.py
17
19
  ./includecpp/core/cpp_api.py
18
20
  ./includecpp/core/cpp_api.pyi
21
+ ./includecpp/core/cpp_api_extensions.pyi
19
22
  ./includecpp/core/cppy_converter.py
20
23
  ./includecpp/core/cssl_bridge.py
21
24
  ./includecpp/core/cssl_bridge.pyi
@@ -31,6 +34,7 @@ setup.py
31
34
  ./includecpp/core/cssl/cssl_builtins.py
32
35
  ./includecpp/core/cssl/cssl_builtins.pyi
33
36
  ./includecpp/core/cssl/cssl_events.py
37
+ ./includecpp/core/cssl/cssl_languages.py
34
38
  ./includecpp/core/cssl/cssl_modules.py
35
39
  ./includecpp/core/cssl/cssl_parser.py
36
40
  ./includecpp/core/cssl/cssl_runtime.py
@@ -57,6 +61,8 @@ IncludeCPP.egg-info/dependency_links.txt
57
61
  IncludeCPP.egg-info/entry_points.txt
58
62
  IncludeCPP.egg-info/requires.txt
59
63
  IncludeCPP.egg-info/top_level.txt
64
+ includecpp/CHANGELOG.md
65
+ includecpp/DOCUMENTATION.md
60
66
  includecpp/__init__.py
61
67
  includecpp/__init__.pyi
62
68
  includecpp/__main__.py
@@ -69,6 +75,7 @@ includecpp/core/ai_integration.py
69
75
  includecpp/core/build_manager.py
70
76
  includecpp/core/cpp_api.py
71
77
  includecpp/core/cpp_api.pyi
78
+ includecpp/core/cpp_api_extensions.pyi
72
79
  includecpp/core/cppy_converter.py
73
80
  includecpp/core/cssl_bridge.py
74
81
  includecpp/core/cssl_bridge.pyi
@@ -84,6 +91,7 @@ includecpp/core/cssl/__init__.py
84
91
  includecpp/core/cssl/cssl_builtins.py
85
92
  includecpp/core/cssl/cssl_builtins.pyi
86
93
  includecpp/core/cssl/cssl_events.py
94
+ includecpp/core/cssl/cssl_languages.py
87
95
  includecpp/core/cssl/cssl_modules.py
88
96
  includecpp/core/cssl/cssl_parser.py
89
97
  includecpp/core/cssl/cssl_runtime.py
@@ -103,4 +111,5 @@ includecpp/vscode/cssl/package.json
103
111
  includecpp/vscode/cssl/images/cssl.png
104
112
  includecpp/vscode/cssl/images/cssl_pl.png
105
113
  includecpp/vscode/cssl/snippets/cssl.snippets.json
106
- includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json
114
+ includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json
115
+ tests/test_multilang.py
@@ -2,3 +2,4 @@ pybind11>=2.11.0
2
2
  click>=8.0.0
3
3
  typing-extensions>=4.0.0
4
4
  requests>=2.28.0
5
+ colorama>=0.4.0
@@ -5,4 +5,5 @@ recursive-include includecpp/templates *
5
5
  recursive-include includecpp/generator *.cpp *.h
6
6
  recursive-include includecpp *.py
7
7
  recursive-include includecpp *.pyi
8
+ recursive-include includecpp *.md
8
9
  recursive-include includecpp/vscode *.json