Skip to content

Commit

Permalink
Preparations for 0.28.10
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthias Koefferlein committed Jul 5, 2023
1 parent 6b1aa88 commit 2ed27ff
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 54 deletions.
13 changes: 11 additions & 2 deletions Changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
0.28.10 (2023-07-05):
* Bugfix: %GITHUB%/issues/1397 LayoutMetaInfo serialization/deserialization problem
* Bugfix: %GITHUB%/issues/1404 Better support for editing mode in Qt-less LayoutView
* Bugfix: %GITHUB%/issues/1407 Clip functions do not support polygons with holes
* Bugfix: %GITHUB%/issues/1409 Text edit issue (internal error)
* Enhancements:
- Made 'time' parameter optional for MainWindow#message
- strmxor performance with --deep enhanced

0.28.9 (2023-06-10):
* Enhancement: %GITHUB%/issues/1281 Layout diff can ignore shape or instance duplicates
* Bugfix: %GITHUB%/issues/1393 GDS2Text format not supported in Python module
Expand All @@ -9,8 +18,8 @@
* Bugfix: GDS2 reader should not segfault on certain broken files
* Enhancement: performance improvement of hierarchical XOR in certain cases
* Enhancement: New methods
* Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape type selector
* Shapes#clear with shape type selector
- Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape type selector
- Shapes#clear with shape type selector

0.28.8 (2023-05-23):
* Enhancement: %GITHUB%/issues/1314 Storing (arbitrary) data in metadata
Expand Down
7 changes: 7 additions & 0 deletions Changelog.Debian
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
klayout (0.28.10-1) unstable; urgency=low

* New features and bugfixes
- See changelog

-- Matthias Köfferlein <[email protected]> Wed, 05 Jul 2023 18:37:13 +0200

klayout (0.28.9-1) unstable; urgency=low

* New features and bugfixes
Expand Down
17 changes: 17 additions & 0 deletions scripts/regenerate_stubs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash -e

# This script regenerates the Python stubs from the sources

# clean up
rm -rf build dist

python3 setup.py build
python3 setup.py bdist_wheel
python3 -m venv create python3-venv-make_stubs

. python3-venv-make_stubs/bin/activate

pip3 install ./dist/*.whl

./scripts/make_stubs.sh

109 changes: 63 additions & 46 deletions src/pymod/distutils_src/klayout/dbcore.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -11271,7 +11271,8 @@ class DText:
Setter:
@brief Sets the horizontal alignment

This is the version accepting integer values. It's provided for backward compatibility.
This property specifies how the text is aligned relative to the anchor point.
This property has been introduced in version 0.22 and extended to enums in 0.28.
"""
size: float
r"""
Expand Down Expand Up @@ -12880,6 +12881,19 @@ class DeepShapeStore:
Setter:
@brief Sets the number of threads to allocate for the hierarchical processor
"""
wants_all_cells: bool
r"""
Getter:
@brief Gets a flag wether to copy the full hierarchy for the working layouts
This attribute has been introduced in version 0.28.10.
Setter:
@brief Sets a flag wether to copy the full hierarchy for the working layouts

The DeepShapeStore object keeps a copy of the original hierarchy internally for the working layouts.
By default, this hierarchy is mapping only non-empty cells. While the operations proceed, more cells may need to be added. This conservative approach saves some memory, but the update operations may reduce overall performance. Setting this flag to 'true' switches to a mode where the full hierarchy is copied always. This will take more memory but may save CPU time.

This attribute has been introduced in version 0.28.10.
"""
@classmethod
def instance_count(cls) -> int:
r"""
Expand Down Expand Up @@ -28707,12 +28721,12 @@ class LayoutToNetlist:
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer value
@brief Compares two enums
"""
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares two enums
@brief Compares an enum with an integer value
"""
@overload
def __init__(self, i: int) -> None:
Expand All @@ -28737,12 +28751,12 @@ class LayoutToNetlist:
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer for inequality
@brief Compares two enums for inequality
"""
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares two enums for inequality
@brief Compares an enum with an integer for inequality
"""
def __repr__(self) -> str:
r"""
Expand Down Expand Up @@ -33581,16 +33595,16 @@ class Netlist:
@overload
def circuit_by_cell_index(self, cell_index: int) -> Circuit:
r"""
@brief Gets the circuit object for a given cell index (const version).
@brief Gets the circuit object for a given cell index.
If the cell index is not valid or no circuit is registered with this index, nil is returned.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def circuit_by_cell_index(self, cell_index: int) -> Circuit:
r"""
@brief Gets the circuit object for a given cell index.
@brief Gets the circuit object for a given cell index (const version).
If the cell index is not valid or no circuit is registered with this index, nil is returned.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def circuit_by_name(self, name: str) -> Circuit:
Expand Down Expand Up @@ -33679,30 +33693,30 @@ class Netlist:
@overload
def each_circuit_bottom_up(self) -> Iterator[Circuit]:
r"""
@brief Iterates over the circuits bottom-up
@brief Iterates over the circuits bottom-up (const version)
Iterating bottom-up means the parent circuits come after the child circuits. This is the basically the reverse order as delivered by \each_circuit_top_down.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def each_circuit_bottom_up(self) -> Iterator[Circuit]:
r"""
@brief Iterates over the circuits bottom-up (const version)
@brief Iterates over the circuits bottom-up
Iterating bottom-up means the parent circuits come after the child circuits. This is the basically the reverse order as delivered by \each_circuit_top_down.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def each_circuit_top_down(self) -> Iterator[Circuit]:
r"""
@brief Iterates over the circuits top-down
@brief Iterates over the circuits top-down (const version)
Iterating top-down means the parent circuits come before the child circuits. The first \top_circuit_count circuits are top circuits - i.e. those which are not referenced by other circuits.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def each_circuit_top_down(self) -> Iterator[Circuit]:
r"""
@brief Iterates over the circuits top-down (const version)
@brief Iterates over the circuits top-down
Iterating top-down means the parent circuits come before the child circuits. The first \top_circuit_count circuits are top circuits - i.e. those which are not referenced by other circuits.

This constness variant has been introduced in version 0.26.8.
"""
@overload
def each_device_class(self) -> Iterator[DeviceClass]:
Expand Down Expand Up @@ -36294,12 +36308,12 @@ class PCellParameterState:
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer for inequality
@brief Compares two enums for inequality
"""
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares two enums for inequality
@brief Compares an enum with an integer for inequality
"""
def __repr__(self) -> str:
r"""
Expand Down Expand Up @@ -39071,12 +39085,12 @@ class PropertyConstraint:
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer value
@brief Compares two enums
"""
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares two enums
@brief Compares an enum with an integer value
"""
@overload
def __init__(self, i: int) -> None:
Expand All @@ -39101,12 +39115,12 @@ class PropertyConstraint:
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares two enums for inequality
@brief Compares an enum with an integer for inequality
"""
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer for inequality
@brief Compares two enums for inequality
"""
def __repr__(self) -> str:
r"""
Expand Down Expand Up @@ -40539,12 +40553,12 @@ class Region(ShapeCollection):
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares two enums
@brief Compares an enum with an integer value
"""
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer value
@brief Compares two enums
"""
@overload
def __init__(self, i: int) -> None:
Expand Down Expand Up @@ -40645,12 +40659,12 @@ class Region(ShapeCollection):
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares two enums
@brief Compares an enum with an integer value
"""
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer value
@brief Compares two enums
"""
@overload
def __init__(self, i: int) -> None:
Expand Down Expand Up @@ -44610,10 +44624,11 @@ class Shape:

Starting with version 0.23, this method returns nil, if the shape does not represent a path.
Setter:
@brief Replaces the shape by the given path (in micrometer units)
This method replaces the shape by the given path, like \path= with a \Path argument does. This version translates the path from micrometer units to database units internally.
@brief Replaces the shape by the given path object
This method replaces the shape by the given path object. This method can only be called for editable layouts. It does not change the user properties of the shape.
Calling this method will invalidate any iterators. It should not be called inside a loop iterating over shapes.

This method has been introduced in version 0.25.
This method has been introduced in version 0.22.
"""
path_bgnext: int
r"""
Expand Down Expand Up @@ -44721,11 +44736,10 @@ class Shape:
Starting with version 0.23, this method returns nil, if the shape does not represent a geometrical primitive that can be converted to a polygon.

Setter:
@brief Replaces the shape by the given polygon object
This method replaces the shape by the given polygon object. This method can only be called for editable layouts. It does not change the user properties of the shape.
Calling this method will invalidate any iterators. It should not be called inside a loop iterating over shapes.
@brief Replaces the shape by the given polygon (in micrometer units)
This method replaces the shape by the given polygon, like \polygon= with a \Polygon argument does. This version translates the polygon from micrometer units to database units internally.

This method has been introduced in version 0.22.
This method has been introduced in version 0.25.
"""
prop_id: int
r"""
Expand Down Expand Up @@ -44764,10 +44778,11 @@ class Shape:
Starting with version 0.23, this method returns nil, if the shape does not represent a geometrical primitive that can be converted to a simple polygon.

Setter:
@brief Replaces the shape by the given simple polygon (in micrometer units)
This method replaces the shape by the given text, like \simple_polygon= with a \SimplePolygon argument does. This version translates the polygon from micrometer units to database units internally.
@brief Replaces the shape by the given simple polygon object
This method replaces the shape by the given simple polygon object. This method can only be called for editable layouts. It does not change the user properties of the shape.
Calling this method will invalidate any iterators. It should not be called inside a loop iterating over shapes.

This method has been introduced in version 0.25.
This method has been introduced in version 0.22.
"""
text: Any
r"""
Expand Down Expand Up @@ -47985,11 +48000,6 @@ class SubCircuit(NetlistObject):
This is NOT the circuit which is referenced. For getting the circuit that the subcircuit references, use \circuit_ref.
"""
@overload
def circuit_ref(self) -> Circuit:
r"""
@brief Gets the circuit referenced by the subcircuit.
"""
@overload
def circuit_ref(self) -> Circuit:
r"""
@brief Gets the circuit referenced by the subcircuit (non-const version).
Expand All @@ -47998,6 +48008,11 @@ class SubCircuit(NetlistObject):
This constness variant has been introduced in version 0.26.8
"""
@overload
def circuit_ref(self) -> Circuit:
r"""
@brief Gets the circuit referenced by the subcircuit.
"""
@overload
def connect_pin(self, pin: Pin, net: Net) -> None:
r"""
@brief Connects the given pin to the specified net.
Expand Down Expand Up @@ -48520,7 +48535,8 @@ class Text:
Setter:
@brief Sets the horizontal alignment

This is the version accepting integer values. It's provided for backward compatibility.
This property specifies how the text is aligned relative to the anchor point.
This property has been introduced in version 0.22 and extended to enums in 0.28.
"""
size: int
r"""
Expand Down Expand Up @@ -48556,7 +48572,8 @@ class Text:
Setter:
@brief Sets the vertical alignment

This is the version accepting integer values. It's provided for backward compatibility.
This property specifies how the text is aligned relative to the anchor point.
This property has been introduced in version 0.22 and extended to enums in 0.28.
"""
x: int
r"""
Expand Down Expand Up @@ -51592,12 +51609,12 @@ class VAlign:
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares two enums
@brief Compares an enum with an integer value
"""
@overload
def __eq__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer value
@brief Compares two enums
"""
@overload
def __init__(self, i: int) -> None:
Expand Down
8 changes: 4 additions & 4 deletions src/pymod/distutils_src/klayout/laycore.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -7230,12 +7230,12 @@ class Macro:
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares two enums for inequality
@brief Compares an enum with an integer for inequality
"""
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer for inequality
@brief Compares two enums for inequality
"""
def __repr__(self) -> str:
r"""
Expand Down Expand Up @@ -7327,12 +7327,12 @@ class Macro:
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares two enums for inequality
@brief Compares an enum with an integer for inequality
"""
@overload
def __ne__(self, other: object) -> bool:
r"""
@brief Compares an enum with an integer for inequality
@brief Compares two enums for inequality
"""
def __repr__(self) -> str:
r"""
Expand Down
4 changes: 2 additions & 2 deletions version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# This script is sourced to define the main version parameters

# The main version
KLAYOUT_VERSION="0.28.9"
KLAYOUT_VERSION="0.28.10"

# The version used for PyPI (don't use variables here!)
KLAYOUT_PYPI_VERSION="0.28.9-2"
KLAYOUT_PYPI_VERSION="0.28.10"

# The build date
KLAYOUT_VERSION_DATE=$(date "+%Y-%m-%d")
Expand Down

0 comments on commit 2ed27ff

Please sign in to comment.