jan
2ed868ec25
split out find_ptransform (static version, only need ports)
8 months ago
jan
cbe5c07f8f
add todo about underscore
8 months ago
jan
b13d7286e5
shorten labels
8 months ago
jan
de0d35d3d7
cleanup
8 months ago
jan
1008b6aabd
split pather into its own file
8 months ago
jan
bb3caf1ad7
comment updates
8 months ago
jan
c5c31a5f0f
only mutable variant should have rename_top
8 months ago
jan
08291da167
fixes
8 months ago
jan
68318a1382
add functions for dealing with the topcell and its name
8 months ago
jan
31cf0047e7
add mktree
8 months ago
jan
f0a71bfb8b
redo library class naming
8 months ago
jan
a07446808a
should be union; we want to exclude dangling refs
8 months ago
jan
340fe7f656
fixes to subtree and lshift, as well as some cast() improvements
8 months ago
jan
45265faec4
oneshot available at toplevel
8 months ago
jan
46a7f60460
add @oneshot decorator
8 months ago
jan
d7e89ef5c8
lshift operator shouldn't special-case trees
...
Instead, just call .tops() if there are multiple cells, and fail if
there are multiple tops
8 months ago
jan
0efd9afd16
find_toplevel -> tops
8 months ago
jan
64413f69d4
create no longer exists. Make mk() give similar ordering as mkpat()
8 months ago
jan
37e4c03547
fix return value
8 months ago
jan
94691dac85
top is always a string
8 months ago
jan
4eee4d19e9
cleanup
8 months ago
jan
cbfbdf66a1
get rid of NamedPattern in favor of just returning a tuple
8 months ago
Jan Petykiewicz
9115371b19
Drop ports when repeating
8 months ago
Jan Petykiewicz
cf634f1c16
port translation is already handled in Pattern
8 months ago
Jan Petykiewicz
ea2eaa4603
fix rounding
8 months ago
Jan Petykiewicz
b744a11e8e
str(namedpattern) should just return its name
8 months ago
Jan Petykiewicz
f54193edf0
updates to Pattern.polygonize()
8 months ago
Jan Petykiewicz
59c8f47f4d
update to newer ezdxf
8 months ago
Jan Petykiewicz
e5ed28a854
Need to check against self, since we may add new conflicts as we go
8 months ago
Jan Petykiewicz
b4f36417fd
Pipe-operator does not support forward references
8 months ago
Jan Petykiewicz
45081c2d31
add polygon() and label() convenience methods
8 months ago
Jan Petykiewicz
4482ede3a7
use Self type
8 months ago
Jan Petykiewicz
1463535676
modernize type annotations
8 months ago
Jan Petykiewicz
ada8c591a0
fix error message
8 months ago
Jan Petykiewicz
9d42df831e
remove per-shape polygonization state
8 months ago
Jan Petykiewicz
7befe89af3
fixes based on mypy
8 months ago
Jan Petykiewicz
f766a3ad64
add prune_empty and delete()
8 months ago
Jan Petykiewicz
85a2eb6acc
fixes/updates
8 months ago
Jan Petykiewicz
069dde3648
Drop ports by default
8 months ago
Jan Petykiewicz
e0939049dd
force 'wb' mode for gzipfile
8 months ago
Jan Petykiewicz
88adc08259
data_to_ports max_depth default to 0
...
Makes it more compatible with LazyLibrary -- with recursive approach, we
have to load all the subcells to run ports2data, but those subcells may
or may not exist (e.g. partial library, or maybe we've removed some
duplicates-to-be prior to merging with a different lib)
8 months ago
Jan Petykiewicz
4ab718d578
pass along library for bounds
8 months ago
Jan Petykiewicz
f834aaee47
fix precache
8 months ago
Jan Petykiewicz
27d87a988d
redo library merging
8 months ago
Jan Petykiewicz
6f97f7e6db
pass along tools
8 months ago
Jan Petykiewicz
d0f76d150f
Make default quiet for underscores
8 months ago
Jan Petykiewicz
5ffcadb362
always apply postprocess
8 months ago
Jan Petykiewicz
2ccef554db
misc fixes
8 months ago
Jan Petykiewicz
d349aa3366
Revert "allow ports2data to take a tree"
...
This reverts commit 44f823c736
.
LazyLibrary can't take Trees anymore, so no need for it.
8 months ago
Jan Petykiewicz
680da46f5c
LazyLibrary should not contain `Tree`s
...
altering itself during iteration is not a good idea
8 months ago
Jan Petykiewicz
59a986546c
missing import
8 months ago
Jan Petykiewicz
19ac45a4f4
fix type for __contains__
8 months ago
Jan Petykiewicz
db7a98bb0f
allow ports2data to take a tree
8 months ago
Jan Petykiewicz
8687badac5
misc fixes
8 months ago
Jan Petykiewicz
4a6584a60a
Only allow 1-sized Libraries
8 months ago
Jan Petykiewicz
4a94259249
Allow lshift to operate on any library. If only one name, return it, else None
8 months ago
Jan Petykiewicz
7cc732248e
add missing functions to tree
8 months ago
Jan Petykiewicz
98728521fd
add Pather.mk()
8 months ago
Jan Petykiewicz
460222ce6e
add name arg
8 months ago
Jan Petykiewicz
f1a380b170
pather reorganization/clenaup
8 months ago
Jan Petykiewicz
38585e5a9e
add lshift operator to MutableLibrary
8 months ago
Jan Petykiewicz
2449486a28
set default for library to None
8 months ago
Jan Petykiewicz
4fc2e67b62
Turn Builder into a subset of Pather
8 months ago
Jan Petykiewicz
039320d180
fix add_tree operator
8 months ago
Jan Petykiewicz
853c20e8df
Allow LazyLibrary to store Trees as well?
8 months ago
Jan Petykiewicz
f642c226c7
Use lshift for tree combination
8 months ago
Jan Petykiewicz
103eb4f1f8
stringy type
8 months ago
Jan Petykiewicz
abc721cf67
ergonomics
8 months ago
Jan Petykiewicz
d8e789f179
Add Tree as a possible way to allow construction of whole subtrees at once
8 months ago
Jan Petykiewicz
234557dc93
Add move_references() and auto-move references during add()-with-rename
...
Also remove enable_cache, since we now rely on the cache.
8 months ago
Jan Petykiewicz
439d5914e0
implement auto-renaming during merge, and change _merge() to support it
8 months ago
jan
ac9776628a
remove some trailing undescores
8 months ago
Jan Petykiewicz
ab8fd9b351
add NamedPattern
8 months ago
Jan Petykiewicz
1a9116cdbe
add .create()
8 months ago
Jan Petykiewicz
7a8a3ef3c7
note in comments
8 months ago
Jan Petykiewicz
f8b5cec340
Add recurse arg to get_bounds
8 months ago
Jan Petykiewicz
1598582865
remove log messages
8 months ago
Jan Petykiewicz
42ee4db989
Return WrapLibrary from read() and readfile()
8 months ago
Jan Petykiewicz
a35bf9770a
Default to adding ports at the origin
8 months ago
Jan Petykiewicz
5c48a28661
some cleanup
8 months ago
Jan Petykiewicz
a8da0fc429
add FlatBuilder
8 months ago
Jan Petykiewicz
cb87543e0c
import ports2data at top level
8 months ago
Jan Petykiewicz
e5029ae21d
add library .rename(...)
8 months ago
Jan Petykiewicz
0172b7488e
missing comma
8 months ago
Jan Petykiewicz
d44374bf1f
writefile should write to a temporary file first
8 months ago
Jan Petykiewicz
5fcd31a719
add name_and_set
8 months ago
Jan Petykiewicz
2940316c48
add missing comments
8 months ago
Jan Petykiewicz
c0e4ee1b6b
Allow library __setitem__ to take in either Pattern or Callable
...
No longer need it to be Generic!
8 months ago
Jan Petykiewicz
963918d1d9
various fixes and cleanup
...
mainly involving ports_to_data and data_to_ports
8 months ago
Jan Petykiewicz
16567c8a66
move builder.port_utils into utils.ports2data
...
and rename functions
8 months ago
Jan Petykiewicz
5452bc5608
more fixes and improvements
8 months ago
Jan Petykiewicz
d9fe295f4f
get things working with a LazyLibrary hack while we think about cycles
8 months ago
Jan Petykiewicz
f4537a0feb
Lots of progress on tutorials
8 months ago
Jan Petykiewicz
c31d7dfa2c
Add note about reproducibility for DXF
8 months ago
Jan Petykiewicz
61b381cfaa
remove dead code
8 months ago
Jan Petykiewicz
cca7cbaae1
formatting
8 months ago
Jan Petykiewicz
b75c8de0c4
lots of fixes to get test_rep running
8 months ago
Jan Petykiewicz
92f7fce6ff
improve gzipped file reproducibility
...
Mostly avoid writing the old filename and modification time to the gzip
header
8 months ago
Jan Petykiewicz
ea87418bf5
clarify comment
8 months ago
Jan Petykiewicz
e812c69bfb
get rid of Mapping stuff on PortsList
8 months ago
Jan Petykiewicz
71db073a54
add todos
8 months ago
Jan Petykiewicz
a6cb276468
add AbstractView
8 months ago
Jan Petykiewicz
090e86644a
Move Abstract into its own file
8 months ago
Jan Petykiewicz
a1073eca6b
handle library=None
8 months ago
Jan Petykiewicz
0368cf7a00
library can generate abstracts
8 months ago
Jan Petykiewicz
e288c3f5e0
B becomes BB for searchability
8 months ago
Jan Petykiewicz
3b8866732b
PortsRef -> Abstract
8 months ago
Jan Petykiewicz
6b01b43559
flake8-aided fixes
8 months ago
Jan Petykiewicz
db9b39dbc0
fix more type issues
8 months ago
Jan Petykiewicz
557c6c98dc
more wip -- most central stuff is first pass done
8 months ago
Jan Petykiewicz
6549faddbb
wip -- more fixes
8 months ago
jan
9efb6f0eeb
wip
8 months ago
jan
d9ae8dd6e3
wip
8 months ago
Jan Petykiewicz
f7902fa517
busL -> mpath
8 months ago
Jan Petykiewicz
2635c6c20c
some type updates
8 months ago
Jan Petykiewicz
c7f3e7ee52
Remove support for dose
...
Since there isn't GDS/OASIS level support for dose, this can be mostly
handled by using arbitrary layers/dtypes directly. Dose scaling isn't
handled as nicely that way, but it corresponds more directly to what
gets written to file.
8 months ago
Jan Petykiewicz
f7a2edfe23
fix some type-related issues
8 months ago
Jan Petykiewicz
a0ca53f57a
get rid of "identifier"
8 months ago
jan
7ca017d993
wip again
8 months ago
jan
db9a6269a1
delete duplicate utils submodule
8 months ago
Jan Petykiewicz
6f696bfc71
partial work on device libraries
8 months ago
Jan Petykiewicz
f7b8f2db0c
various fixes
8 months ago
Jan Petykiewicz
e3511ed852
remove duplicatre __delitem__
8 months ago
Jan Petykiewicz
a4f89e6f48
improve docs
8 months ago
Jan Petykiewicz
5f35e8c8e3
indirect type spec for Pattern
8 months ago
jan
52f0b4aa93
Add lib types
8 months ago
jan
c95b2f4c0d
bifurcate Device into DeviceRef
8 months ago
Jan Petykiewicz
e932687210
make error message prettier
8 months ago
jan
7aaf73cb37
WIP: make libraries and names first-class!
8 months ago
Jan Petykiewicz
f834ec6be5
Avoid generating a container if only a single port is passed
8 months ago
Jan Petykiewicz
885b259fb7
allow bounds to be passed as args
8 months ago
Jan Petykiewicz
3f986957ac
allow passing a single Tool to be used as the default
8 months ago
Jan Petykiewicz
1c3c032434
Add functionality for building paths (single use wires/waveguides/etc)
8 months ago
Jan Petykiewicz
afcbd315ae
Fix extra vertex added during OASIS loading
1 year ago
jan
8edb7b0956
round().astype() -> rint(...)
1 year ago
Jan Petykiewicz
5b5cbe94d3
Move from setuputils and setup.py to hatch and pyproject.toml
1 year ago
Jan Petykiewicz
a713967911
Add an alternate constructor for axis-aligned 2D grids
1 year ago
Jan Petykiewicz
51b7021bdc
bump version to 2.7
2 years ago
Jan Petykiewicz
b188589b60
Fix / simplify some cases where the arc is a sector
2 years ago
Jan Petykiewicz
eb9682b1b8
Avoid calling new.unlock() in __deepcopy__()
...
since the new object's properties aren't necessarily deepcopied yet...
2 years ago
Jan Petykiewicz
48b28351ed
speed up GDS writing
...
by preallocating xy array and directly rounding to target dtype
2 years ago
Jan Petykiewicz
bfabd351c4
fix circular import
2 years ago
jan
4cc824526b
fix deepcopy for locked shapes
2 years ago
Jan Petykiewicz
e48183ee0b
dose==1 is the identity situation
2 years ago
Jan Petykiewicz
6886360f6d
fix getting displacements in Arbitrary repetition
2 years ago
Jan Petykiewicz
b5ddb5749c
fix calculation of displacements
2 years ago
jan
67d312162a
speed up as_pattern()
...
mainly used by `flatten()`
2 years ago
Jan Petykiewicz
97db83a1d5
add utils.vertices.poly_contains_points
2 years ago
Jan Petykiewicz
fd0b2ba4cd
no longer ignore numpy types
2 years ago
Jan Petykiewicz
9f1c7aea01
add _displacements to __slots__
2 years ago