librelane 2.4.0.dev8__py3-none-any.whl → 2.4.0.dev10__py3-none-any.whl

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.

Potentially problematic release.


This version of librelane might be problematic. Click here for more details.

librelane/__main__.py CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright 2025 The American University in Cairo
1
+ # Copyright 2025 LibreLane Contributors
2
2
  #
3
3
  # Adapted from OpenLane
4
4
  #
@@ -440,6 +440,9 @@ class Variable:
440
440
  return_value = list()
441
441
  raw = value
442
442
  if isinstance(raw, list) or isinstance(raw, tuple):
443
+ if validating_type == List[Path]:
444
+ if any(isinstance(item, List) for item in raw):
445
+ Variable.__flatten_list(value)
443
446
  pass
444
447
  elif is_string(raw):
445
448
  if not permissive_typing:
@@ -725,3 +728,16 @@ class Variable:
725
728
  and self.type == rhs.type
726
729
  and self.default == rhs.default
727
730
  )
731
+
732
+ # Flatten list. Note: Must modify value, not return a new list.
733
+ @staticmethod
734
+ def __flatten_list(value: list):
735
+ new_list = []
736
+ for item in value:
737
+ if isinstance(item, list):
738
+ for sub_item in item:
739
+ new_list.append(sub_item)
740
+ else:
741
+ new_list.append(item)
742
+
743
+ value[:] = new_list
@@ -1,4 +1,4 @@
1
- # Copyright 2025 The American University in Cairo
1
+ # Copyright 2025 LibreLane Contributors
2
2
  #
3
3
  # Adapted from ioplace_parser
4
4
  #
@@ -1,4 +1,4 @@
1
- # Copyright 2025 The American University in Cairo
1
+ # Copyright 2025 LibreLane Contributors
2
2
  #
3
3
  # Adapted from ioplace_parser
4
4
  #
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: librelane
3
- Version: 2.4.0.dev8
3
+ Version: 2.4.0.dev10
4
4
  Summary: An infrastructure for implementing chip design flows
5
5
  Home-page: https://github.com/librelane/librelane
6
6
  License: Apache-2.0
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
- Requires-Dist: ciel (>=0.16.0)
17
+ Requires-Dist: ciel (>=2.0.3,<3)
18
18
  Requires-Dist: click (>=8,<8.2)
19
19
  Requires-Dist: cloup (>=3.0.5,<4)
20
20
  Requires-Dist: deprecated (>=1.2.10,<2)
@@ -25,7 +25,7 @@ Requires-Dist: lxml (>=4.9.0)
25
25
  Requires-Dist: psutil (>=5.9.0)
26
26
  Requires-Dist: pyyaml (>=5,<7)
27
27
  Requires-Dist: rapidfuzz (>=3.9.0,<4)
28
- Requires-Dist: rich (>=12,<14)
28
+ Requires-Dist: rich (>=12,<15)
29
29
  Requires-Dist: semver (>=3.0.2,<4.0.0)
30
30
  Requires-Dist: yamlcore (>=0.0.2,<0.0.3)
31
31
  Project-URL: Documentation, https://librelane.readthedocs.io
@@ -1,5 +1,5 @@
1
1
  librelane/__init__.py,sha256=EMpoZrRmS_wsweKjhyAg52OXCK7HWQ8o8CVrYaX4ub0,1220
2
- librelane/__main__.py,sha256=48sW8mh1MNbG0Mf75f5LekXzerbaEASLInQSrvQqPw4,14802
2
+ librelane/__main__.py,sha256=GTPX4SM4euBFFFOd3ah_il5GEBBBOa6af6QC4KH2bjE,14792
3
3
  librelane/__version__.py,sha256=dbE4stCACDmIoxgKksesAkTa-_hi5dW6nPLWw9Pfq3Q,1486
4
4
  librelane/common/__init__.py,sha256=LrzxjZKJu3-i8oEYdXtV1IxkXicHtoSUNRcOGrGVGsw,1516
5
5
  librelane/common/cli.py,sha256=xi48GBGHRsYrLGwx40ARwpykHx7GnuHbJjHxjOwtZ5Y,2349
@@ -23,7 +23,7 @@ librelane/config/flow.py,sha256=qCGaUOj12j57gORzoE10m7_WG-n600llnFDMlZagUF4,1666
23
23
  librelane/config/pdk_compat.py,sha256=rznq5xIny9M0PmddhPOGtCIrSdv98ysAoYgkpyM0gUA,8450
24
24
  librelane/config/preprocessor.py,sha256=I239Y01dC2o5eb1UtcSbLdybVrZgqGyDr7ecT234I4Y,14913
25
25
  librelane/config/removals.py,sha256=lJ0xpkCqnZAdA_ug4yq0NDjRBFuw4XsdORwymbEVGyQ,2907
26
- librelane/config/variable.py,sha256=tqH7po203Q7usX9jdVoyng2fdKPzDO36UmbCPZcIcsA,26232
26
+ librelane/config/variable.py,sha256=r88sLpxb7GR2QBwh9EKJNN_Vpd_vjUpRBJq7V3Fd6jI,26786
27
27
  librelane/container.py,sha256=3KHxs3dUSVUZVYsS6fsA7dD3Q4QEQEzRxgXZZh9dzi0,7554
28
28
  librelane/env_info.py,sha256=vAE9AZ_vDFLt7Srtg4ZywPzE6vgVhCrIvg8PP25-BJ8,10460
29
29
  librelane/examples/spm/config.yaml,sha256=YKBm0lsY3AJZNcxAh1sQ1QMmJeVCpOpil6dw_RgQh4c,633
@@ -89,8 +89,8 @@ librelane/scripts/odbpy/eco_buffer.py,sha256=QOL2J0UJQiVvuGFbpdyAj-RRsPfEL-rT_qr
89
89
  librelane/scripts/odbpy/eco_diode.py,sha256=2LN7fHh9uO9JP3PYIxIwUiP1lyeqdTNF2ADTcY_Bu-g,4281
90
90
  librelane/scripts/odbpy/filter_unannotated.py,sha256=Gvcaj_WNr6TPiHk-36nkMu4betNHZo1g2lD3UcA9hDQ,2950
91
91
  librelane/scripts/odbpy/io_place.py,sha256=LSJIJQDLSOpENyQOg_kVTIbh1AbYLiHIXx0siduo-lg,15589
92
- librelane/scripts/odbpy/ioplace_parser/__init__.py,sha256=TMKTIWwGJfdSr7dJcsoisUuKlbTKJdHV6-0kB77v2P8,887
93
- librelane/scripts/odbpy/ioplace_parser/parse.py,sha256=LDncc8r1nDmcTCVtxqBu7xswiesVX6-snYiIKFB_kxs,5594
92
+ librelane/scripts/odbpy/ioplace_parser/__init__.py,sha256=_xCDqam3PxWO-uhTZ6afdn3dpuu4XlX2T_RaOn7QqJQ,877
93
+ librelane/scripts/odbpy/ioplace_parser/parse.py,sha256=L2GXzNA-gkjyySZcTWXrRRP8rllabE5pGap9dtiFfOo,5584
94
94
  librelane/scripts/odbpy/label_macro_pins.py,sha256=n3o9-_g6HkVP8k49yNnCkQJms9f_ykCE0Rye7bVFtIk,8620
95
95
  librelane/scripts/odbpy/lefutil.py,sha256=XhfWSGHdn96yZWYQAPisgJM0iuY3xw4SW7jmMTzbpZs,3064
96
96
  librelane/scripts/odbpy/placers.py,sha256=mgy_-GYeLDPMG41YAopMTtJyCHP6ucJRk7cJzI9PLRQ,4572
@@ -163,7 +163,7 @@ librelane/steps/step.py,sha256=OkFNyW86ZY9VlNQHUeJIOLHtOuO1bioXsnwky7_l1pc,55154
163
163
  librelane/steps/tclstep.py,sha256=0PMWJ6C3dKnlQf9mA9rZntgxUBCiByE9csHcEcM1iq0,10027
164
164
  librelane/steps/verilator.py,sha256=MWx2TpLqYyea9_jSeLG9c2S5ujvYERQZRFNaMhfHxZE,7916
165
165
  librelane/steps/yosys.py,sha256=GX6rTiQG-ZhDxfB9SxrPQ9Sab3WC84p0OUtqiL1Nubk,12533
166
- librelane-2.4.0.dev8.dist-info/METADATA,sha256=TaQhmDbNfVCdRLfk_MTHC92T_U3BDKJXS087OF4KZx8,6558
167
- librelane-2.4.0.dev8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
168
- librelane-2.4.0.dev8.dist-info/entry_points.txt,sha256=GTBvXykNMMFsNKiJFgtEw7P1wb_VZIqVM35EFSpyZQE,263
169
- librelane-2.4.0.dev8.dist-info/RECORD,,
166
+ librelane-2.4.0.dev10.dist-info/METADATA,sha256=meNmOy0WIvFs052fTV8herlmjP2wwBlTa8txR4Lf9Hg,6561
167
+ librelane-2.4.0.dev10.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
168
+ librelane-2.4.0.dev10.dist-info/entry_points.txt,sha256=GTBvXykNMMFsNKiJFgtEw7P1wb_VZIqVM35EFSpyZQE,263
169
+ librelane-2.4.0.dev10.dist-info/RECORD,,