Andrej730
3955718145
express: update transpiled express rules using latest Python's AST
...
AST parser has changed a bit and there are some minor differences in the .py output. Updating files just to avoid seeing these diffs when rerunning rule compiler.
2026-07-14 18:42:12 +05:00
Andrej730
501246cd0b
rule_compiler: fix error running on Python 3.14
...
Example error:
```
ast.Str(s=node.attr),
^^^^^^^
AttributeError: module 'ast' has no attribute 'Str'
```
`ast.Str` was deprecated since 3.8 and was removed in 3.14, see https://docs.python.org/3/whatsnew/3.14.html#id9
2026-07-14 18:42:12 +05:00
Andrej730
9c91727402
express: drop Python 2 fallbacks
2026-07-14 14:56:06 +05:00
Stephen Boddy
216092150a
Apply black formatting to fix CI lint-formatting drift
...
20 files had fallen out of sync with the project's black version;
running `black .` brings them back in line with no logic changes.
2026-07-10 20:42:18 +01:00
Thomas Krijnen
77aa080334
Recompile rules
2026-06-28 10:37:33 +02:00
Thomas Krijnen
5afad2b179
Partial revert of 84abf5e91
2026-06-26 16:29:27 +02:00
Thomas Krijnen
98aa2c635e
Rerun express-related codegen
2026-06-26 16:09:44 +02:00
Thomas Krijnen
7db1ceb07f
Convert to lower() immediately after originalTextFor to retain more similar behaviour
2026-06-26 16:01:46 +02:00
Thomas Krijnen
84abf5e918
Adapt codegen for new parsing
2026-06-25 14:29:14 +02:00
Thomas Krijnen
741e8233ca
originalTextFor() for on parsing express string literals
2026-06-25 14:29:14 +02:00
Thomas Krijnen
6a6756de66
Bump binary versions in makefiles; add backwards compatibility to logger usage in python #8167
2026-06-15 09:56:36 +02:00
Ghesselink
c197a45247
Apply black formatting
2026-05-06 13:32:05 +02:00
Ghesselink
ab73550059
unblock voxel schema loading, add test for express
2026-05-06 13:32:05 +02:00
Andrej730
92c979fbbf
black .
2026-02-27 14:52:55 +05:00
Andrej730
333b6210a4
black .
2026-02-26 17:12:52 +05:00
Thomas Krijnen
077a0c3755
Run black on express/
2026-02-26 12:36:01 +01:00
Thomas Krijnen
18527a78e1
rule_executor.py don't log RecursionError as error
2026-02-26 12:35:40 +01:00
Thomas Krijnen
1137e7b77b
Fix rule compilation regarding indeterminate #7529
2026-01-23 14:36:06 +01:00
Thomas Krijnen
7fdf815d3c
Re-run express rule codegen #7501
2025-12-24 15:33:44 +01:00
Thomas Krijnen
8d3c610965
Map None -> Indeterminate to prevent iterating over none in non-shortcircuiting rule execution #7501
2025-12-24 15:33:44 +01:00
Thomas Krijnen
7575bd4dfb
Commit some files because I do not want them cleaned
2025-10-25 15:25:56 +02:00
Thomas Krijnen
d697ed3384
Commit some files because I do not want them cleaned
2025-10-25 15:25:10 +02:00
Thomas Krijnen
ce4407ff3c
Some successes writing and reading
2025-02-27 22:07:31 +01:00
Thomas Krijnen
c58c8269af
Fix codegen
2025-02-26 09:34:02 +01:00
Thomas Krijnen
1d9dcb3ab7
Add header schema
2025-02-25 21:30:20 +01:00
Thomas Krijnen
fb1d78b311
Update codegen
2025-02-21 16:13:21 +01:00
Thomas Krijnen
919df92888
Virtual inheritance configurable at codegen time
2025-01-30 13:12:42 +01:00
Thomas Krijnen
9efc9d2044
Fix iteration over indeterminate in rule execution
2024-12-18 11:45:47 +01:00
Thomas Krijnen
aa9b2d7428
populate_derived() upon instance creation, don't only rely on serialization 'hack' #5364
2024-10-07 20:41:34 +02:00
sukanka
b82073dd57
fix-py-syntax-warning
2024-09-01 14:02:24 +02:00
Andrej730
27aee31adf
typing
2024-08-27 18:25:29 +05:00
Thomas Krijnen
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +02:00
shungeer
8c12da13e6
Update README.md about extend express usage ( #4841 )
...
1. C++ code generation by extend express.
2. python rule code generation by extend express.
2024-07-01 11:20:30 +10:00
Andrej730
0b901bff5f
typing
2024-06-24 15:22:02 +05:00
Thomas Krijnen
79c0246e6a
Don't sort enum names for correspondence with header
2024-06-12 11:47:27 +02:00
Dion Moult
c4dfbdbe2e
Merge branch 'v0.7.0' into v0.8.0
2024-06-07 23:48:39 +10:00
Thomas Krijnen
3bb651fbd5
No longer disable optimizations in schema_class, not so relevant anymore
2024-05-12 21:19:32 +02:00
Thomas Krijnen
1e60454951
centralize attribute setting templates for size object reduction
2024-05-12 19:36:01 +02:00
Thomas Krijnen
6a62bf8493
Use latebound enum definition for resolving early bound enum names
2024-05-12 19:36:01 +02:00
Thomas Krijnen
fb72fdca9c
String pooling and modern initialization in schema
2024-05-12 19:36:01 +02:00
Thomas Krijnen
e9b69b4b26
Reduce number of externs
2024-05-12 19:36:00 +02:00
Dion Moult
0a3dddef2f
More Python 2 to Python 3 upgrades
2024-05-07 16:03:07 +10:00
Dion Moult
89c4cbeb05
Drop support for Python 2.
2024-05-07 12:17:46 +10:00
Thomas Krijnen
6302be6bfd
Merge v0.7.0 -- src\ifcopenshell-python\ifcopenshell\express
2023-10-18 09:47:27 +02:00
Thomas Krijnen
787149da13
Regen express rule code: lowercase str comparison in express rule generated code
2023-10-17 11:04:46 +02:00
Thomas Krijnen
3b31f6932a
Compile IFC4X3_ADD2 express rules
2023-10-17 09:50:39 +02:00
Thomas Krijnen
81b4e42ca2
Use schema_identifier for schema and express rule validation. See #3126
2023-10-12 10:37:44 +02:00
Thomas Krijnen
eee844e204
Express rules: Workaround str case in IfcBlobTexture
2023-09-02 15:58:05 +02:00
Thomas Krijnen
73d77b8382
Update rule_executor.py - catch some runtime errors
2023-08-30 14:56:35 +02:00
Thomas Krijnen
74160731c9
Update rule_executor.py
2023-07-11 21:40:05 +02:00