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.
- {includecpp-3.9.1 → includecpp-4.2.2/IncludeCPP.egg-info}/PKG-INFO +102 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/SOURCES.txt +10 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/requires.txt +1 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/MANIFEST.in +1 -0
- includecpp-3.9.1/README.md → includecpp-4.2.2/PKG-INFO +1008 -873
- includecpp-3.9.1/IncludeCPP.egg-info/PKG-INFO → includecpp-4.2.2/README.md +973 -907
- includecpp-4.2.2/includecpp/CHANGELOG.md +175 -0
- includecpp-4.2.2/includecpp/DOCUMENTATION.md +593 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__init__.py +1 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__init__.pyi +4 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/commands.py +705 -98
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/ai_integration.py +46 -13
- includecpp-4.2.2/includecpp/core/cpp_api_extensions.pyi +350 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION.md +344 -10
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.py +101 -4
- includecpp-4.2.2/includecpp/core/cssl/cssl_languages.py +1757 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_parser.py +752 -187
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_runtime.py +1175 -89
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_syntax.py +88 -4
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_types.py +172 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl_bridge.py +198 -12
- includecpp-4.2.2/includecpp/core/cssl_bridge.pyi +1019 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/parser.cpp +121 -4
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/parser.h +6 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/package.json +43 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +140 -17
- {includecpp-3.9.1 → includecpp-4.2.2}/pyproject.toml +3 -1
- {includecpp-3.9.1 → includecpp-4.2.2}/setup.py +2 -1
- includecpp-4.2.2/tests/test_multilang.py +511 -0
- includecpp-3.9.1/includecpp/core/cssl_bridge.pyi +0 -488
- {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/dependency_links.txt +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/entry_points.txt +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/IncludeCPP.egg-info/top_level.txt +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/LICENSE +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/__main__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/cli/config_parser.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/build_manager.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cpp_api.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cpp_api.pyi +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cppy_converter.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/CSSL_DOCUMENTATION_NEW.md +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_builtins.pyi +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_events.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/cssl/cssl_modules.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/error_catalog.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/error_formatter.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/exceptions.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/path_discovery.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/project_ui.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/core/settings_ui.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/type_resolver.cpp +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/generator/type_resolver.h +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/py.typed +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/templates/cpp.proj.template +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/__init__.py +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/extension.js +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl.png +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/images/cssl_pl.png +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/language-configuration.json +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/includecpp/vscode/cssl/snippets/cssl.snippets.json +0 -0
- {includecpp-3.9.1 → includecpp-4.2.2}/requirements.txt +0 -0
- {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
|
+
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
|