jan
cbe5c07f8f
add todo about underscore
7 months ago
jan
b13d7286e5
shorten labels
7 months ago
jan
de0d35d3d7
cleanup
7 months ago
jan
1008b6aabd
split pather into its own file
7 months ago
jan
bb3caf1ad7
comment updates
7 months ago
jan
c5c31a5f0f
only mutable variant should have rename_top
7 months ago
jan
08291da167
fixes
7 months ago
jan
68318a1382
add functions for dealing with the topcell and its name
7 months ago
jan
31cf0047e7
add mktree
7 months ago
jan
f0a71bfb8b
redo library class naming
7 months ago
jan
a07446808a
should be union; we want to exclude dangling refs
7 months ago
jan
340fe7f656
fixes to subtree and lshift, as well as some cast() improvements
7 months ago
jan
45265faec4
oneshot available at toplevel
7 months ago
jan
46a7f60460
add @oneshot decorator
7 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
7 months ago
jan
0efd9afd16
find_toplevel -> tops
7 months ago
jan
64413f69d4
create no longer exists. Make mk() give similar ordering as mkpat()
7 months ago
jan
37e4c03547
fix return value
7 months ago
jan
94691dac85
top is always a string
7 months ago
jan
4eee4d19e9
cleanup
7 months ago
jan
cbfbdf66a1
get rid of NamedPattern in favor of just returning a tuple
7 months ago
Jan Petykiewicz
9115371b19
Drop ports when repeating
7 months ago
Jan Petykiewicz
cf634f1c16
port translation is already handled in Pattern
7 months ago
Jan Petykiewicz
ea2eaa4603
fix rounding
7 months ago
Jan Petykiewicz
b744a11e8e
str(namedpattern) should just return its name
7 months ago
Jan Petykiewicz
f54193edf0
updates to Pattern.polygonize()
7 months ago
Jan Petykiewicz
59c8f47f4d
update to newer ezdxf
7 months ago
Jan Petykiewicz
e5ed28a854
Need to check against self, since we may add new conflicts as we go
7 months ago
Jan Petykiewicz
b4f36417fd
Pipe-operator does not support forward references
7 months ago
Jan Petykiewicz
45081c2d31
add polygon() and label() convenience methods
7 months ago
Jan Petykiewicz
4482ede3a7
use Self type
7 months ago
Jan Petykiewicz
1463535676
modernize type annotations
7 months ago
Jan Petykiewicz
ada8c591a0
fix error message
7 months ago
Jan Petykiewicz
9d42df831e
remove per-shape polygonization state
7 months ago
Jan Petykiewicz
7befe89af3
fixes based on mypy
7 months ago
Jan Petykiewicz
f766a3ad64
add prune_empty and delete()
7 months ago
Jan Petykiewicz
85a2eb6acc
fixes/updates
7 months ago
Jan Petykiewicz
069dde3648
Drop ports by default
7 months ago
Jan Petykiewicz
e0939049dd
force 'wb' mode for gzipfile
7 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)
7 months ago
Jan Petykiewicz
4ab718d578
pass along library for bounds
7 months ago
Jan Petykiewicz
f834aaee47
fix precache
7 months ago
Jan Petykiewicz
27d87a988d
redo library merging
7 months ago
Jan Petykiewicz
6f97f7e6db
pass along tools
7 months ago
Jan Petykiewicz
d0f76d150f
Make default quiet for underscores
7 months ago
Jan Petykiewicz
5ffcadb362
always apply postprocess
7 months ago
Jan Petykiewicz
2ccef554db
misc fixes
7 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.
7 months ago
Jan Petykiewicz
680da46f5c
LazyLibrary should not contain `Tree`s
...
altering itself during iteration is not a good idea
7 months ago
Jan Petykiewicz
59a986546c
missing import
7 months ago
Jan Petykiewicz
19ac45a4f4
fix type for __contains__
7 months ago
Jan Petykiewicz
db7a98bb0f
allow ports2data to take a tree
7 months ago
Jan Petykiewicz
8687badac5
misc fixes
7 months ago
Jan Petykiewicz
4a6584a60a
Only allow 1-sized Libraries
7 months ago
Jan Petykiewicz
4a94259249
Allow lshift to operate on any library. If only one name, return it, else None
7 months ago
Jan Petykiewicz
7cc732248e
add missing functions to tree
7 months ago
Jan Petykiewicz
98728521fd
add Pather.mk()
7 months ago
Jan Petykiewicz
460222ce6e
add name arg
7 months ago
Jan Petykiewicz
f1a380b170
pather reorganization/clenaup
7 months ago
Jan Petykiewicz
38585e5a9e
add lshift operator to MutableLibrary
7 months ago
Jan Petykiewicz
2449486a28
set default for library to None
7 months ago
Jan Petykiewicz
4fc2e67b62
Turn Builder into a subset of Pather
7 months ago
Jan Petykiewicz
039320d180
fix add_tree operator
7 months ago
Jan Petykiewicz
853c20e8df
Allow LazyLibrary to store Trees as well?
7 months ago
Jan Petykiewicz
f642c226c7
Use lshift for tree combination
7 months ago
Jan Petykiewicz
103eb4f1f8
stringy type
7 months ago
Jan Petykiewicz
abc721cf67
ergonomics
7 months ago
Jan Petykiewicz
d8e789f179
Add Tree as a possible way to allow construction of whole subtrees at once
7 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.
7 months ago
Jan Petykiewicz
439d5914e0
implement auto-renaming during merge, and change _merge() to support it
7 months ago
jan
ac9776628a
remove some trailing undescores
7 months ago
Jan Petykiewicz
ab8fd9b351
add NamedPattern
7 months ago
Jan Petykiewicz
1a9116cdbe
add .create()
7 months ago
Jan Petykiewicz
7a8a3ef3c7
note in comments
7 months ago
Jan Petykiewicz
f8b5cec340
Add recurse arg to get_bounds
7 months ago
Jan Petykiewicz
1598582865
remove log messages
7 months ago
Jan Petykiewicz
42ee4db989
Return WrapLibrary from read() and readfile()
7 months ago
Jan Petykiewicz
a35bf9770a
Default to adding ports at the origin
7 months ago
Jan Petykiewicz
5c48a28661
some cleanup
7 months ago
Jan Petykiewicz
a8da0fc429
add FlatBuilder
7 months ago
Jan Petykiewicz
cb87543e0c
import ports2data at top level
7 months ago
Jan Petykiewicz
e5029ae21d
add library .rename(...)
7 months ago
Jan Petykiewicz
0172b7488e
missing comma
7 months ago
Jan Petykiewicz
d44374bf1f
writefile should write to a temporary file first
7 months ago
Jan Petykiewicz
5fcd31a719
add name_and_set
7 months ago
Jan Petykiewicz
2940316c48
add missing comments
7 months ago
Jan Petykiewicz
c0e4ee1b6b
Allow library __setitem__ to take in either Pattern or Callable
...
No longer need it to be Generic!
7 months ago
Jan Petykiewicz
963918d1d9
various fixes and cleanup
...
mainly involving ports_to_data and data_to_ports
7 months ago
Jan Petykiewicz
16567c8a66
move builder.port_utils into utils.ports2data
...
and rename functions
7 months ago
Jan Petykiewicz
5452bc5608
more fixes and improvements
7 months ago
Jan Petykiewicz
d9fe295f4f
get things working with a LazyLibrary hack while we think about cycles
7 months ago
Jan Petykiewicz
f4537a0feb
Lots of progress on tutorials
7 months ago
Jan Petykiewicz
c31d7dfa2c
Add note about reproducibility for DXF
7 months ago
Jan Petykiewicz
61b381cfaa
remove dead code
7 months ago
Jan Petykiewicz
cca7cbaae1
formatting
7 months ago
Jan Petykiewicz
b75c8de0c4
lots of fixes to get test_rep running
7 months ago
Jan Petykiewicz
92f7fce6ff
improve gzipped file reproducibility
...
Mostly avoid writing the old filename and modification time to the gzip
header
7 months ago
Jan Petykiewicz
ea87418bf5
clarify comment
7 months ago
Jan Petykiewicz
e812c69bfb
get rid of Mapping stuff on PortsList
7 months ago
Jan Petykiewicz
71db073a54
add todos
7 months ago
Jan Petykiewicz
a6cb276468
add AbstractView
7 months ago
Jan Petykiewicz
090e86644a
Move Abstract into its own file
7 months ago
Jan Petykiewicz
a1073eca6b
handle library=None
7 months ago
Jan Petykiewicz
0368cf7a00
library can generate abstracts
7 months ago
Jan Petykiewicz
e288c3f5e0
B becomes BB for searchability
7 months ago
Jan Petykiewicz
3b8866732b
PortsRef -> Abstract
7 months ago
Jan Petykiewicz
6b01b43559
flake8-aided fixes
7 months ago
Jan Petykiewicz
db9b39dbc0
fix more type issues
7 months ago
Jan Petykiewicz
557c6c98dc
more wip -- most central stuff is first pass done
7 months ago
Jan Petykiewicz
6549faddbb
wip -- more fixes
7 months ago
jan
9efb6f0eeb
wip
7 months ago
jan
d9ae8dd6e3
wip
7 months ago
Jan Petykiewicz
f7902fa517
busL -> mpath
7 months ago
Jan Petykiewicz
2635c6c20c
some type updates
7 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.
7 months ago
Jan Petykiewicz
f7a2edfe23
fix some type-related issues
7 months ago
Jan Petykiewicz
a0ca53f57a
get rid of "identifier"
7 months ago
jan
7ca017d993
wip again
7 months ago
jan
db9a6269a1
delete duplicate utils submodule
7 months ago
Jan Petykiewicz
6f696bfc71
partial work on device libraries
7 months ago
Jan Petykiewicz
f7b8f2db0c
various fixes
7 months ago
Jan Petykiewicz
e3511ed852
remove duplicatre __delitem__
7 months ago
Jan Petykiewicz
a4f89e6f48
improve docs
7 months ago
Jan Petykiewicz
5f35e8c8e3
indirect type spec for Pattern
7 months ago
jan
52f0b4aa93
Add lib types
7 months ago
jan
c95b2f4c0d
bifurcate Device into DeviceRef
7 months ago
Jan Petykiewicz
e932687210
make error message prettier
7 months ago
jan
7aaf73cb37
WIP: make libraries and names first-class!
7 months ago
Jan Petykiewicz
f834ec6be5
Avoid generating a container if only a single port is passed
7 months ago
Jan Petykiewicz
885b259fb7
allow bounds to be passed as args
7 months ago
Jan Petykiewicz
3f986957ac
allow passing a single Tool to be used as the default
7 months ago
Jan Petykiewicz
1c3c032434
Add functionality for building paths (single use wires/waveguides/etc)
7 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
Jan Petykiewicz
3640de27c7
Fix OASIS loading when strings are stored by-reference
2 years ago