c3b281a4f0
fixup! add ok_connections
arg to allow plugging mismatched ports without warnings
2024-12-12 23:47:46 -08:00
7cc525b0eb
add ok_connections
arg to allow plugging mismatched ports without warnings
2024-12-12 23:47:46 -08:00
4e862d6853
cleanup
2024-12-12 23:47:46 -08:00
9917355bb0
speed up prune_empty() on large patterns
2024-12-12 23:47:28 -08:00
94a1b3d793
cleanup comment
2024-10-14 17:25:01 -07:00
7c7a7e916c
Fix offset handling in polygon normalized_form()
2024-10-14 17:24:49 -07:00
73193473df
Fixup arclength calculation for wedges (or other thick arcs)
2024-10-05 11:24:40 -07:00
febaaeff0b
add Library functions for finding instances and extracting hierarchy
...
added child_graph, parent_graph, child_order, find_refs_local and find_refs_global
2024-10-04 17:21:31 -07:00
a54ee5a26c
bump klamath req
2024-08-01 00:41:01 -07:00
8d671ed709
bump version to v3.2
...
Highlights:
- Pather.path_into() for connecting into existing ports
- Pattern.plugged() for removing ports which were manually pathed into
each other.
- Defined ordering/comparsions to enable sorting patterns and shapes
- numpy 2.0 compatibility
- Fix bounds calculation for arrays with manhattan rotations
- Bugfixes for DXF and OASIS
- Speed improvement for default Library.get_name() and GDS writing
2024-07-29 21:00:40 -07:00
a816a7db8e
allow numpy v2.0
2024-07-29 18:24:31 -07:00
a8a42bba1d
speed up b64suffix by using a simple array lookup instead of base64.b64encode
2024-07-29 11:30:31 -07:00
da7118f521
misc cleanup
2024-07-29 03:13:36 -07:00
ef6c5df386
be more consistent about when copies are made
2024-07-29 03:13:23 -07:00
ad0adec8e8
numpy.array(..., copy=False) -> numpy.asarray(...)
...
For numpy 2.0
2024-07-29 02:37:48 -07:00
8fd6896a71
set stacklevel=1
2024-07-28 20:41:17 -07:00
1ae3ffb9a2
linter cleanup
2024-07-28 20:35:37 -07:00
810a09f18b
simplify comparison
2024-07-28 20:34:25 -07:00
97688ffae1
don't want to use context manager here
2024-07-28 20:32:55 -07:00
445c5690e1
use path.open
2024-07-28 20:32:55 -07:00
7e1f617274
fix bug where use_mmap was ignored
2024-07-28 20:32:53 -07:00
b10803efe9
pass along string arg
2024-07-28 20:31:41 -07:00
5f0a450ffa
no need for string annotation
2024-07-28 20:31:41 -07:00
aa3636ebc6
flatten indent
2024-07-28 20:31:41 -07:00
48ffc9709e
double quotes for docstrings
2024-07-28 20:31:41 -07:00
5cdafd580f
don't need ABCMeta here
2024-07-28 20:31:41 -07:00
2cf187fdb8
def-in-loop needs assigments for vars
2024-07-28 20:31:41 -07:00
99e55f931c
refactor to single-line conditional assignments
2024-07-28 20:31:41 -07:00
c48b427c77
mark some missing annotations as intentional
2024-07-28 20:31:41 -07:00
62fc64c344
iteration and collection simplifications
2024-07-28 20:31:41 -07:00
f304217d76
format is ok
2024-07-28 20:31:41 -07:00
ae21a2132e
handle int-based cell references
2024-07-28 20:31:41 -07:00
e159c80b0c
improve error generation and handling
2024-07-28 20:31:41 -07:00
38e9d5c250
use strict zip
2024-07-28 20:31:41 -07:00
5614eea3b4
Update DXF reading
2024-07-28 20:31:41 -07:00
8035daee7e
mark intentionally unused args
2024-07-28 20:31:41 -07:00
4c69e773fd
pass kwargs down into gen_straight()
2024-07-28 20:31:41 -07:00
39d9b88fa4
flatten indentation where it makes sense
2024-07-28 20:31:29 -07:00
9d5b1ef5e6
type annotation updates
2024-07-28 19:44:04 -07:00
3d50ff0070
add ruff config
2024-07-28 19:37:57 -07:00
01fe53dc79
fix final assignment and clarify what's going
2024-07-28 19:37:20 -07:00
d5adf57bc6
fix repr outside of class
2024-07-28 19:35:44 -07:00
4c721feaec
re-exports: import x as x
2024-07-28 19:34:17 -07:00
6ec94fb3c3
import Sequence et al from collections.abc not typing
2024-07-28 19:33:16 -07:00
b1d78b9acb
mkdir examples/layouts/
2024-07-28 19:28:26 -07:00
dca918e63f
notes for more todos
2024-07-28 19:28:05 -07:00
cda895a7d3
remove Builder.path() to avoid confusion with Pather.path()
2024-06-03 17:09:43 -07:00
6db4bb96db
Create an ordering for everything
...
In order to make layouts more reproducible
Also add pattern.sort() and file.utils.preflight_check()
optionally don't sort elements
elements aren't re-ordered that often, sorting them is slow, and the
sort criteria are arbitrary, so we might want to only sort stuff by name
2024-06-03 17:00:20 -07:00
94aa853a49
add plugged() for manually-aligned ports
2024-06-03 16:57:07 -07:00
bb054b9eee
port .copy() should deepcopy
2024-06-03 16:54:25 -07:00