Matthias Koefferlein
5055d4fcf4
Merge remote-tracking branch 'origin/master' into wip
2026-07-20 23:20:47 +02:00
Matthias Koefferlein
b51187bf7c
Merge branch 'master' into wip
2026-07-19 15:13:40 +02:00
Matthias Koefferlein
6253f04966
Fixed issue #2396 (support weak refs in Python)
2026-07-19 10:45:51 +02:00
Kirill Osipov
9a606ec4e9
Cap PixelBuffer.from_bytes dimensions at 64k x 64k
...
Following review feedback, the reader now rejects a header claiming a
width or height beyond 65536, guarding against malformed byte streams
that would otherwise trigger an unreasonable allocation. The writer
stays full 32-bit ('unlimited'), and native little-endian order and the
transparency mask are kept as-is. Adds Ruby and Python tests for the
oversized-header rejection.
Ref: https://github.com/KLayout/klayout/pull/2387#issuecomment-4984941409
2026-07-16 19:03:34 +02:00
Kirill Osipov
2fa7b24345
Add PixelBuffer#from_bytes and width/height header to to_bytes
2026-07-16 19:03:34 +02:00
Matthias Koefferlein
1cd9cbc8ba
Enhancement: using PCell parameter 'name' won't break PCell's cell_name_impl default implementation
2026-07-11 22:32:42 +02:00
Matthias Koefferlein
d352db146f
Trying to fix unit tests with Python 3.14 - it delivers a different reference count under unit test conditions
2026-06-20 00:06:42 +02:00
Matthias Koefferlein
c85be6bce5
Adding string serialization "from_s" for objects with properties (CAUTION: side effect!)
...
Problem was that "to_s" did not deliver a parsable string for the
properties. This is fixed, but the format of the properties part
of the string changes.
2026-05-03 20:27:15 +02:00
Matthias Koefferlein
f127ec9843
Updating test data
2026-03-18 21:01:18 +01:00
Matthias Koefferlein
3af5568663
[consider merging] Bugfix: Python did not support downcasting of PolygonWithProperties to Polygon on Shapes#polygon for example
2026-02-24 21:00:21 +01:00
Matthias Koefferlein
56fdbca1f5
Updating copyright to 2026
2026-02-07 17:12:53 +01:00
Matthias Koefferlein
3809e44777
Added smoke tests for streams in Python module
2025-11-08 20:25:06 +01:00
Matthias Koefferlein
fc3185165f
Added some tests
2025-10-25 17:16:13 +02:00
Matthias Koefferlein
8a5e83bf5d
Consistently differenting between double and int values as property keys (otherwise there may be a confusing mix present in the property repository)
2025-08-03 19:46:31 +02:00
Matthias Koefferlein
9917978566
Merge branch 'master' into dev-polygon-graph
2025-05-28 19:01:42 +02:00
Matthias Koefferlein
dec7ad9da1
[consider merging] properly conveying string encoding for Ruby, so that UTF-8 encoding is maintained when returning such strings from C++
2025-05-25 16:28:46 +02:00
Matthias Köfferlein
449a9a968e
Merge pull request #2015 from KLayout/bugfix/issue-2012
...
Bugfix/issue 2012
2025-04-05 19:21:35 +02:00
Matthias Koefferlein
78e2074b4c
Added a unit test
2025-04-03 21:15:49 +02:00
Matthias Koefferlein
c656700b44
Maybe fixed issue-2012 (leaking reference in Python)
2025-04-03 20:44:34 +02:00
Matthias Koefferlein
227203cdd1
Providing a less strict overload resolution
...
Downcast now has precedence over conversion constructors, hence less ambiguities
Solution is implemented for
- Ruby
- Python
- Expressions
For Expressions:
- The overload resolution is less evolved anyway
- There was an additional bug preventing to pass arrays (hashes) in expressions
2025-03-26 00:45:16 +01:00
Matthias Koefferlein
85bb9be5c0
Fixed Python tests for Python 2 backward compatibility
2025-03-22 21:55:44 +01:00
Matthias Koefferlein
2191febc38
Updating test data for better robustness
2025-03-22 20:41:24 +01:00
Matthias Koefferlein
094fccce74
Made unit tests more robust
2025-02-16 15:07:37 +01:00
Matthias Koefferlein
33b54f3f88
Merge branch 'master' into devel
2025-01-19 22:04:55 +01:00
Matthias Koefferlein
063040695a
Preparing tests for GSI class properties
2025-01-16 20:40:42 +01:00
Matthias Koefferlein
5d57cb5eed
Updating copyright to 2025
2025-01-04 19:32:33 +01:00
Matthias Koefferlein
c9da9dc6e0
Updating copyright to 2025
2025-01-04 19:28:56 +01:00
Matthias Koefferlein
8c935409ea
Added a test for net neighborhood, predicable order of results of edge neighborhood scanner.
2024-12-31 16:37:01 +01:00
Matthias Koefferlein
f2dc78f438
API enhanced for new properties ID scheme, updated doc and tests
2024-12-28 17:13:43 +01:00
Matthias Koefferlein
28260a68b0
WIP
2024-12-24 15:39:27 +01:00
Matthias Koefferlein
e35aa97191
Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed.
2024-11-30 18:46:25 +01:00
Matthias Köfferlein
41383e4642
Merge pull request #1920 from rocallahan/readbytes
...
Add a Layout.read_bytes() method that reads a layout from a byte array
2024-11-30 17:47:03 +01:00
Matthias Koefferlein
0f438cdbd2
On same name, creating a RDB category would return the original one.
2024-11-13 18:26:06 +01:00
Matthias Koefferlein
fecb8a8c8a
RDB tests for Python too
2024-11-13 18:22:55 +01:00
Robert O'Callahan
db56b0293e
Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
...
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.
This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Koefferlein
fd1dc842e0
Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions
2024-08-07 00:11:48 +02:00
Matthias Koefferlein
82b3030352
const versions of Layout#cell and Layout#top_cell(s)
2024-08-06 18:19:31 +02:00
Matthias Köfferlein
8ab398dc58
Merge pull request #1811 from KLayout/wip
...
Wip
2024-07-30 18:59:09 +02:00
Matthias Koefferlein
c3fdc6e1bc
Implemented a solution for issue #1790 (Support for recursive PCell instances)
...
This also fixes some other issues, like "display_text_impl" being
called when a PCell is run with the debugger open.
2024-07-27 14:00:54 +02:00
Matthias Koefferlein
58d489b39a
Added Region#being_shapes_rec and Region#begin_merged_shapes_rec, mainly for being able to retrieve shapes with properties from Region#nets
2024-07-25 19:34:08 +02:00
Matthias Koefferlein
769327cdab
Fixing issue #1774 (providing klayout.__version__ also for built-in module)
2024-07-05 17:50:38 +02:00
Matthias Koefferlein
d59d318218
Bugfix: restoring original overload matching scheme for Ruby and Python
2024-05-25 18:58:18 +02:00
Matthias Koefferlein
1861abc68c
Bugfix for passing default arguments to GSI calls
...
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.
In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein
c43b70b783
Shape#hash and Shape#< allow using Shape objects as hash keys
2024-03-29 21:47:37 +01:00
Matthias Koefferlein
38a3b8305e
Fixing issue #1651 (errors when adding polygons with 4 points) - needs some testing
2024-03-23 15:24:18 +01:00
Matthias Koefferlein
cb3d7bc5f3
Fixed pya tests for Python 2.7
2024-01-20 23:11:54 +01:00
Matthias Koefferlein
2b4a583f05
Update copyright year
2024-01-01 17:27:59 +01:00
Matthias Koefferlein
e2ba78185c
Tests for GSI kwargs, test framework enhanced to print the total number of tests
2023-12-28 19:44:44 +01:00
Matthias Koefferlein
940ef5319a
WIP: refinement of Python and Ruby support for keyword arguments.
2023-12-27 22:56:11 +01:00
Matthias Koefferlein
702bcbe924
WIP: keyword arguments (for now: Python) + transformation alignment
...
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.
Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00