Matthias Koefferlein
254015617d
Merge branch 'wip' into wip2
2023-08-11 19:17:01 +02:00
Matthias Koefferlein
ad114f6137
Fixed unit tests (error messages now have the message class attached)
2023-07-29 01:13:25 +02:00
Matthias Koefferlein
7ac51337ca
Script errors now include the class for better readability in Python, normalizing errors in Python
2023-07-28 21:28:09 +02:00
Matthias Koefferlein
58417d5700
pya: adding hint about disambiuation of methods/properties to Python specific doc.
2023-07-23 18:35:36 +02:00
Matthias Koefferlein
292892d1ae
Some performance enhancement for Python binding
2023-07-15 22:50:29 +02:00
Matthias Koefferlein
e965f87f58
Merge branch 'master' into wip
2023-07-15 22:48:53 +02:00
Matthias Koefferlein
41c5d3f4ff
Issue-1397: possible solution
2023-06-13 00:44:42 +02:00
Matthias Koefferlein
5438b9a82f
configuration for debugger scope override
2023-06-03 21:25:30 +02:00
Matthias Koefferlein
53fa78c01f
Ruby debugger performance boost
...
Problem was that the file-to-id cache was cleared
upon calling internal Ruby functions (begin_exec
was triggered). In one test case, the execution
performance improved from 6s/320s (without/with debugger)
to 6s/7s (without/with debugger)
2023-05-18 19:43:44 +02:00
Matthias Koefferlein
7ff9b4d8e6
[consider merging] more consistent behavior of RBA/pya: enum classes are properly made available (was for example RBA::Qt::Qt_Keys instead of RBA::Qt_Keys and pya.Qt.Keys was no fully initialized type object)
2023-05-06 00:04:14 +02:00
Matthias Koefferlein
2166437480
Compatibility with other Python version
2023-03-30 20:09:17 +02:00
Matthias Koefferlein
692e5b4a01
Fixed a reference counting bug (Python)
2023-03-29 23:33:00 +02:00
Matthias Koefferlein
cb0f2b4166
Enabling pya initialization for app and ut_runner only.
2023-03-29 00:09:26 +02:00
Matthias Koefferlein
1cfe7b10ba
Another attempt trying to fix the DLL load issue for pya on Windows - force-load all DLL that are needed by pyacore into the app before importing the module
2023-03-28 00:39:32 +02:00
Matthias Koefferlein
5c57f5ddf8
Maybe fixing ut_runner errors on MSVC
2023-03-28 00:11:34 +02:00
Matthias Koefferlein
7d41078e8c
Avoid a segfault: an event may kill the event object itself indirectly.
2023-03-26 21:29:06 +02:00
Matthias Koefferlein
fa61f96194
GSI: enabling enums as hash keys and int(enum) in Python
2023-03-26 17:52:33 +02:00
Matthias Koefferlein
2e2ba41250
[consider merging] more consistent behavior of RBA/pya: enum classes are properly made available (was for example RBA::Qt::Qt_Keys instead of RBA::Qt_Keys and pya.Qt.Keys was no fully initialized type object)
2023-03-26 14:21:30 +02:00
Matthias Koefferlein
9a1c776475
Make sure the Python modules are found from the application's installation by prepending their path to sys.path
2023-03-24 19:15:57 +01:00
Matthias Koefferlein
bee3d11f62
[consider merging] avoid an assertion in the Python exit code for accessing an already destroyed Python object
2023-03-11 19:55:51 +01:00
Matthias Koefferlein
293a898ae0
[consider merging] avoid an assertion in the Python exit code for accessing an already destroyed Python object
2023-03-10 23:45:37 +01:00
Matthias Koefferlein
8b7e2b2b40
Refactoring of pya - using external module defintions for pya initialization
2023-03-10 21:58:01 +01:00
Matthias Koefferlein
35d9cdb656
Reworked Python initialization
...
KLAYOUT_PYTHONPATH is copied into PYTHONPATH, so it
is essentially equivalent (no more copying of internally
generated paths).
The installation's pymod folder is added to the path, so
that we can put "klayout.db" etc. there.
2023-03-08 01:15:53 +01:00
Matthias Koefferlein
0204f293b5
Generic environment set/clear functions, file function to get app exe path
2023-03-08 00:52:42 +01:00
Matthias Koefferlein
7d0964655d
Experimental: allow importing klayout.x pymods into KLayout itself.
2023-03-06 23:51:58 +01:00
Matthias Koefferlein
9cfc284b8c
Synonyms: connect/disconnect for events to get closer to PyQt5
2023-03-06 23:04:55 +01:00
Matthias Koefferlein
1b13d8b591
Merge branch 'master' into issue-1271
2023-03-03 18:42:53 +01:00
Matthias Koefferlein
9335ef8c21
Fixed builds on MSVC
2023-03-03 18:00:24 +01:00
Matthias Koefferlein
6db6e77458
Tired of patching around __version__ ...
...
This doesn't work. Either Python is too old, import_metadata
isn't there or Azure pipelines do not support that.
Stopping that. Good old plain C++ is still the best solution.
Take that dynamic language hackers!
2023-03-01 00:50:30 +01:00
Thomas Ferreira de Lima
3c9507ab63
added test for issue 1265 (writing and reading pngs)
2023-02-15 11:01:47 -05:00
Matthias Koefferlein
d1c28bc3bd
Provide a fix for issue-1237 (Python error messages should include more information)
...
In Python 3.10 the format of the syntax error exception was changed
and parsing through PyArgs_ParseTuple no longer worked. The code
change will re-enable proper syntax error parsing for Python 3.10.
2023-01-17 20:43:13 +01:00
Matthias Koefferlein
8677b38d69
Merge branch 'master' into wip
2023-01-01 22:28:14 +01:00
Matthias Koefferlein
a85dbd3d31
Updating copyright notice to 2023
2023-01-01 22:27:22 +01:00
Matthias Koefferlein
ca32b34dff
Restored ability to build on Python 2
2022-12-28 23:50:38 +01:00
Matthias Koefferlein
ea2486eaed
Fixed a merge issue
2022-11-09 23:30:08 +01:00
Matthias Koefferlein
1edbd6232f
Merge branch 'python-typehints'
2022-11-09 23:13:31 +01:00
Matthias Koefferlein
240281d9ff
[consider merging] Important patch: avoids incorrect initialization of Python classes
2022-11-06 01:12:16 +01:00
Matthias Koefferlein
0262926b11
Moved __deepcopy__ implementation and NotImplemented fallback from db.__init__ to C++ implementation for better performance and generalization. Added tests
2022-10-26 10:40:20 +02:00
Matthias Koefferlein
a72888e331
Enabling polymorphic re-throw, hence supporting TypeError
2022-10-24 22:03:31 +02:00
Matthias Koefferlein
2b60e2f6e9
Preventing overriding of getters by is_.. predicates
2022-10-24 21:06:03 +02:00
Matthias Koefferlein
c8d86f8e73
Improved doc, enough slots for getters and setters for Qt namespace
2022-10-24 20:53:58 +02:00
Matthias Koefferlein
24c6224a84
Do not produce Python methods masked by properties.
2022-10-24 20:31:46 +02:00
Matthias Koefferlein
a39d22c438
Fixed problems with reserved words
2022-10-24 19:44:28 +02:00
Matthias Koefferlein
9011af54ac
Class properties
2022-10-23 23:47:26 +02:00
Matthias Koefferlein
eb31f67aeb
Include .pyi in deployment, scrips enhanced for more compatibility with stubtest
2022-10-23 23:18:09 +02:00
Matthias Koefferlein
daad80d5d5
Synthesize getters from is_... predicates, added getter for RecursiveShapeIterator#shape_flags
2022-10-23 22:08:06 +02:00
Matthias Koefferlein
be6e05da55
WIP: refactoring, added special GSI methods for Python binding
2022-10-23 19:00:41 +02:00
Matthias Koefferlein
2c18bc6c46
WIP: refactoring
2022-10-23 18:31:13 +02:00
Matthias Koefferlein
d3a36e66f2
Fixed a compiler warning
2022-10-20 23:29:35 +02:00
Matthias Koefferlein
fbd4c84d84
Refactoring of pya/rba/expressions
...
Goal is to support "*!" which is a variant of multiplication
without the commutative nature.
The refactoring yields a more consistent handling of
Python specializations. Now this happens when the methods
are collected, rather than later. This way, specific behavior
for identically named synonyms can be implemented for example.
This is the case for the "*" operator in Trans which is partially
commutative and partially not.
2022-10-20 23:26:14 +02:00