IncludeCPP 3.2.2__tar.gz → 3.2.3__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 (37) hide show
  1. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/PKG-INFO +23 -16
  2. {includecpp-3.2.2 → includecpp-3.2.3}/PKG-INFO +23 -16
  3. {includecpp-3.2.2 → includecpp-3.2.3}/README.md +22 -15
  4. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__init__.py +1 -1
  5. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/commands.py +2 -2
  6. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/ai_integration.py +13 -11
  7. {includecpp-3.2.2 → includecpp-3.2.3}/pyproject.toml +1 -1
  8. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/SOURCES.txt +0 -0
  9. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/dependency_links.txt +0 -0
  10. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/entry_points.txt +0 -0
  11. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/requires.txt +0 -0
  12. {includecpp-3.2.2 → includecpp-3.2.3}/IncludeCPP.egg-info/top_level.txt +0 -0
  13. {includecpp-3.2.2 → includecpp-3.2.3}/LICENSE +0 -0
  14. {includecpp-3.2.2 → includecpp-3.2.3}/MANIFEST.in +0 -0
  15. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__init__.pyi +0 -0
  16. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/__main__.py +0 -0
  17. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/__init__.py +0 -0
  18. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/cli/config_parser.py +0 -0
  19. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/__init__.py +0 -0
  20. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/build_manager.py +0 -0
  21. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/cpp_api.py +0 -0
  22. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/cpp_api.pyi +0 -0
  23. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/error_catalog.py +0 -0
  24. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/error_formatter.py +0 -0
  25. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/exceptions.py +0 -0
  26. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/path_discovery.py +0 -0
  27. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/core/settings_ui.py +0 -0
  28. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/__init__.py +0 -0
  29. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/parser.cpp +0 -0
  30. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/parser.h +0 -0
  31. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/type_resolver.cpp +0 -0
  32. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/generator/type_resolver.h +0 -0
  33. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/py.typed +0 -0
  34. {includecpp-3.2.2 → includecpp-3.2.3}/includecpp/templates/cpp.proj.template +0 -0
  35. {includecpp-3.2.2 → includecpp-3.2.3}/requirements.txt +0 -0
  36. {includecpp-3.2.2 → includecpp-3.2.3}/setup.cfg +0 -0
  37. {includecpp-3.2.2 → includecpp-3.2.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/includecpp/includecpp
6
6
  Author: IncludeCPP Team
@@ -197,21 +197,23 @@ The `.cp` format is a declarative binding specification:
197
197
  ```
198
198
  SOURCE(math.cpp) math
199
199
 
200
- PUBLIC:
201
-
202
- math CLASS(Calculator) {
203
- CONSTRUCTOR()
204
- CONSTRUCTOR(int)
205
- METHOD(add)
206
- METHOD_CONST(getValue)
207
- }
208
-
209
- math FUNC(square)
210
- math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
200
+ PUBLIC(
201
+ math CLASS(Calculator) {
202
+ CONSTRUCTOR()
203
+ CONSTRUCTOR(int)
204
+ METHOD(add)
205
+ METHOD_CONST(getValue)
206
+ FIELD(value)
207
+ }
208
+
209
+ math FUNC(square)
210
+ math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
211
+ )
211
212
  ```
212
213
 
213
214
  Key directives:
214
215
  - `SOURCE(file.cpp) module_name` - links source to module
216
+ - `PUBLIC(...)` - defines public bindings
215
217
  - `CLASS(Name)` - expose a class
216
218
  - `STRUCT(Name)` - expose a struct
217
219
  - `FUNC(name)` - expose a free function
@@ -219,7 +221,7 @@ Key directives:
219
221
  - `METHOD_CONST(name, signature)` - for overloaded methods
220
222
  - `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
221
223
  - `CONSTRUCTOR(args)` - expose constructor
222
- - `FIELD(type, name)` - expose member variable
224
+ - `FIELD(name)` - expose member variable
223
225
  - `DEPENDS(mod1, mod2)` - declare module dependencies
224
226
 
225
227
  ## Build System
@@ -413,8 +415,8 @@ MODULE CLASS(Circle) {
413
415
  MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
414
416
 
415
417
  MODULE STRUCT(Point) TYPES(int, float) {
416
- FIELD(T, x)
417
- FIELD(T, y)
418
+ FIELD(x)
419
+ FIELD(y)
418
420
  }
419
421
  ```
420
422
 
@@ -470,6 +472,11 @@ Options:
470
472
 
471
473
  # Changelog
472
474
 
475
+ ## v3.2.3
476
+ - Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
477
+ - Fixed documentation: PUBLIC() not PUBLIC:
478
+ - Fixed AI context to match actual .cp syntax
479
+
473
480
  ## v3.2.2
474
481
  - Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
475
482
  - Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
@@ -516,4 +523,4 @@ Options:
516
523
 
517
524
  ---
518
525
 
519
- MIT License | v3.2.2 | [GitHub](https://github.com/liliassg/IncludeCPP)
526
+ MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/includecpp/includecpp
6
6
  Author: IncludeCPP Team
@@ -197,21 +197,23 @@ The `.cp` format is a declarative binding specification:
197
197
  ```
198
198
  SOURCE(math.cpp) math
199
199
 
200
- PUBLIC:
201
-
202
- math CLASS(Calculator) {
203
- CONSTRUCTOR()
204
- CONSTRUCTOR(int)
205
- METHOD(add)
206
- METHOD_CONST(getValue)
207
- }
208
-
209
- math FUNC(square)
210
- math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
200
+ PUBLIC(
201
+ math CLASS(Calculator) {
202
+ CONSTRUCTOR()
203
+ CONSTRUCTOR(int)
204
+ METHOD(add)
205
+ METHOD_CONST(getValue)
206
+ FIELD(value)
207
+ }
208
+
209
+ math FUNC(square)
210
+ math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
211
+ )
211
212
  ```
212
213
 
213
214
  Key directives:
214
215
  - `SOURCE(file.cpp) module_name` - links source to module
216
+ - `PUBLIC(...)` - defines public bindings
215
217
  - `CLASS(Name)` - expose a class
216
218
  - `STRUCT(Name)` - expose a struct
217
219
  - `FUNC(name)` - expose a free function
@@ -219,7 +221,7 @@ Key directives:
219
221
  - `METHOD_CONST(name, signature)` - for overloaded methods
220
222
  - `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
221
223
  - `CONSTRUCTOR(args)` - expose constructor
222
- - `FIELD(type, name)` - expose member variable
224
+ - `FIELD(name)` - expose member variable
223
225
  - `DEPENDS(mod1, mod2)` - declare module dependencies
224
226
 
225
227
  ## Build System
@@ -413,8 +415,8 @@ MODULE CLASS(Circle) {
413
415
  MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
414
416
 
415
417
  MODULE STRUCT(Point) TYPES(int, float) {
416
- FIELD(T, x)
417
- FIELD(T, y)
418
+ FIELD(x)
419
+ FIELD(y)
418
420
  }
419
421
  ```
420
422
 
@@ -470,6 +472,11 @@ Options:
470
472
 
471
473
  # Changelog
472
474
 
475
+ ## v3.2.3
476
+ - Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
477
+ - Fixed documentation: PUBLIC() not PUBLIC:
478
+ - Fixed AI context to match actual .cp syntax
479
+
473
480
  ## v3.2.2
474
481
  - Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
475
482
  - Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
@@ -516,4 +523,4 @@ Options:
516
523
 
517
524
  ---
518
525
 
519
- MIT License | v3.2.2 | [GitHub](https://github.com/liliassg/IncludeCPP)
526
+ MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
@@ -160,21 +160,23 @@ The `.cp` format is a declarative binding specification:
160
160
  ```
161
161
  SOURCE(math.cpp) math
162
162
 
163
- PUBLIC:
164
-
165
- math CLASS(Calculator) {
166
- CONSTRUCTOR()
167
- CONSTRUCTOR(int)
168
- METHOD(add)
169
- METHOD_CONST(getValue)
170
- }
171
-
172
- math FUNC(square)
173
- math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
163
+ PUBLIC(
164
+ math CLASS(Calculator) {
165
+ CONSTRUCTOR()
166
+ CONSTRUCTOR(int)
167
+ METHOD(add)
168
+ METHOD_CONST(getValue)
169
+ FIELD(value)
170
+ }
171
+
172
+ math FUNC(square)
173
+ math TEMPLATE_FUNC(maximum) TYPES(int, float, double)
174
+ )
174
175
  ```
175
176
 
176
177
  Key directives:
177
178
  - `SOURCE(file.cpp) module_name` - links source to module
179
+ - `PUBLIC(...)` - defines public bindings
178
180
  - `CLASS(Name)` - expose a class
179
181
  - `STRUCT(Name)` - expose a struct
180
182
  - `FUNC(name)` - expose a free function
@@ -182,7 +184,7 @@ Key directives:
182
184
  - `METHOD_CONST(name, signature)` - for overloaded methods
183
185
  - `TEMPLATE_FUNC(name) TYPES(...)` - instantiate template
184
186
  - `CONSTRUCTOR(args)` - expose constructor
185
- - `FIELD(type, name)` - expose member variable
187
+ - `FIELD(name)` - expose member variable
186
188
  - `DEPENDS(mod1, mod2)` - declare module dependencies
187
189
 
188
190
  ## Build System
@@ -376,8 +378,8 @@ MODULE CLASS(Circle) {
376
378
  MODULE TEMPLATE_FUNC(maximum) TYPES(int, float, double)
377
379
 
378
380
  MODULE STRUCT(Point) TYPES(int, float) {
379
- FIELD(T, x)
380
- FIELD(T, y)
381
+ FIELD(x)
382
+ FIELD(y)
381
383
  }
382
384
  ```
383
385
 
@@ -433,6 +435,11 @@ Options:
433
435
 
434
436
  # Changelog
435
437
 
438
+ ## v3.2.3
439
+ - Fixed FIELD() syntax: now outputs `FIELD(name)` not `FIELD(type, name)`
440
+ - Fixed documentation: PUBLIC() not PUBLIC:
441
+ - Fixed AI context to match actual .cp syntax
442
+
436
443
  ## v3.2.2
437
444
  - Plugin command now detects comma-separated field declarations (e.g., `double x, y, z;` generates 3 FIELD entries)
438
445
  - Fixed `ai optimize` timeout for multi-file operations (increased to 5 minutes)
@@ -479,4 +486,4 @@ Options:
479
486
 
480
487
  ---
481
488
 
482
- MIT License | v3.2.2 | [GitHub](https://github.com/liliassg/IncludeCPP)
489
+ MIT License | v3.2.3 | [GitHub](https://github.com/liliassg/IncludeCPP)
@@ -1,7 +1,7 @@
1
1
  from .core.cpp_api import CppApi
2
2
  import warnings
3
3
 
4
- __version__ = "3.2.2"
4
+ __version__ = "3.2.3"
5
5
  __all__ = ["CppApi"]
6
6
 
7
7
  # Module-level cache for C++ modules
@@ -2825,10 +2825,10 @@ def plugin(plugin_name, files, private):
2825
2825
  for method in sorted(cls_info['methods']):
2826
2826
  f.write(f' METHOD({method})\n')
2827
2827
 
2828
- # v3.2.2: Write fields
2828
+ # v3.2.2: Write fields (name only, type not needed in .cp)
2829
2829
  if cls_info.get('fields'):
2830
2830
  for field_type, field_name in cls_info['fields']:
2831
- f.write(f' FIELD({field_type}, {field_name})\n')
2831
+ f.write(f' FIELD({field_name})\n')
2832
2832
 
2833
2833
  f.write(f' }}\n')
2834
2834
 
@@ -35,17 +35,18 @@ CRITICAL KNOWLEDGE FOR INCLUDECPP:
35
35
 
36
36
  2. PLUGIN FILE (.cp) FORMAT:
37
37
  SOURCE(file.cpp) module_name
38
- PUBLIC:
39
- module_name CLASS(MyClass) {
40
- CONSTRUCTOR()
41
- CONSTRUCTOR(int, double)
42
- METHOD(foo)
43
- METHOD_CONST(bar, const std::string&)
44
- FIELD(double, x)
45
- }
46
- module_name FUNC(standalone_function)
47
- module_name TEMPLATE_FUNC(generic_func) TYPES(int, float, double)
48
- module_name STRUCT(Point) { FIELD(double, x) FIELD(double, y) }
38
+ PUBLIC(
39
+ module_name CLASS(MyClass) {
40
+ CONSTRUCTOR()
41
+ CONSTRUCTOR(int, double)
42
+ METHOD(foo)
43
+ METHOD_CONST(bar, const std::string&)
44
+ FIELD(x)
45
+ }
46
+ module_name FUNC(standalone_function)
47
+ module_name TEMPLATE_FUNC(generic_func) TYPES(int, float, double)
48
+ module_name STRUCT(Point) { FIELD(x) FIELD(y) }
49
+ )
49
50
 
50
51
  3. BUILD OUTPUT:
51
52
  ~/.includecpp/builds/ (Windows: %APPDATA%/IncludeCPP/)
@@ -58,6 +59,7 @@ CRITICAL KNOWLEDGE FOR INCLUDECPP:
58
59
  * "no member named X" -> Method not in class public section, or missing METHOD() in .cp
59
60
 
60
61
  5. FIELD DECLARATIONS:
62
+ FIELD(name) - only the field name is needed, not the type.
61
63
  Comma-separated fields like `double x, y, z;` are parsed as separate fields.
62
64
  '''
63
65
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "IncludeCPP"
7
- version = "3.2.2"
7
+ version = "3.2.3"
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.8"
File without changes
File without changes
File without changes
File without changes
File without changes