Jan Petykiewicz
|
c2994b74bd
|
add utils.pack2d.pack_patterns
|
2 years ago |
Jan Petykiewicz
|
a9e3bf8b2a
|
return a set of rejected indices
|
2 years ago |
Jan Petykiewicz
|
fc1a0f5a5a
|
break apart utils into submodules, and add utils.pack2d
|
2 years ago |
jan
|
a4fe3d9e2e
|
Use ArrayLike and NDArray wherever possible. Some type fixes and some related corner cases
|
2 years ago |
jan
|
89f327ba37
|
reformat some multiline arg lists and add missing 'None' return types
|
2 years ago |
Jan Petykiewicz
|
47e8cab73c
|
fix format string now that ptypes are str-typed
|
3 years ago |
Jan Petykiewicz
|
a92ab9425b
|
typo in 4788fa3c
|
3 years ago |
Jan Petykiewicz
|
576077c461
|
add docstring for Pattern.rename()
|
3 years ago |
Jan Petykiewicz
|
4788fa3ca5
|
add Device.rename()
|
3 years ago |
Jan Petykiewicz
|
dbee0027b2
|
fix wrap_repated_shapes for labels
|
3 years ago |
Jan Petykiewicz
|
52c6634a25
|
fix port comparison regression
|
3 years ago |
Jan Petykiewicz
|
886bd59726
|
should be casting with numpy.array() not .ndarray()
|
3 years ago |
Jan Petykiewicz
|
4796676a4e
|
use ArrayLike when accepting pseudo-ndarrays
|
3 years ago |
Jan Petykiewicz
|
3aefa644e5
|
fix type annotations for Device.__getitem__
|
3 years ago |
Jan Petykiewicz
|
65466a5986
|
Force keyword args in more cases
|
3 years ago |
Jan Petykiewicz
|
21ef4207df
|
Enable repetition arg for other Polygon constructors
|
3 years ago |
Jan Petykiewicz
|
78a4416f4c
|
Fix wrap_repeated_shapes
|
3 years ago |
Jan Petykiewicz
|
0d733bdc6f
|
Breaking change: Use string-valued ptypes, with default value 'unk'
|
3 years ago |
jan
|
44b08a8dae
|
bump version to 2.5
|
3 years ago |
jan
|
e2fdd5a347
|
make klamath the default gdsii reader/writer, and install it automatically
python-gdsii code is now under masque.file.python_gdsii
|
3 years ago |
jan
|
689312cc87
|
don't include newlines in version string
|
3 years ago |
jan
|
5b84a436a0
|
Make flatten() work in-place on all subpatterns (avoid copies and repeated calls). Also fix a bug around identifier generation introduced in a5900f6ad .
|
3 years ago |
Jan Petykiewicz
|
8ad4082f6d
|
Fix offset complaining if it gets a Vec3
|
3 years ago |
Jan Petykiewicz
|
a5900f6ade
|
BREAKING change shape identifers generated when flattening
|
3 years ago |
Jan Petykiewicz
|
db4148a0ff
|
Don't trash label identifiers
|
3 years ago |
Jan Petykiewicz
|
7225fd5715
|
add traceback to port type warnings
|
3 years ago |
jan
|
1dc7d5bd56
|
2-element paths are not polygons
|
3 years ago |
jan
|
5aa41f5e12
|
fix reading lwpolylines
|
3 years ago |
Jan Petykiewicz
|
939ad5451c
|
enable pickling of LockableImpl
|
3 years ago |
Jan Petykiewicz
|
88d42807be
|
label axes in visualization
|
3 years ago |
Jan Petykiewicz
|
29ee13a8ab
|
fix comment
|
4 years ago |
Jan Petykiewicz
|
cf2413f9e3
|
remove_colinear_vertices implementation assumes no duplicate vertices, so we need to remove them first
|
4 years ago |
Jan Petykiewicz
|
bce3d9f37c
|
Avoid placing duplicate vertices when polygonizing an arc
|
4 years ago |
Jan Petykiewicz
|
0fce7fd099
|
bump version to v2.4
|
4 years ago |
Jan Petykiewicz
|
479e0c3c2e
|
fix mirroring for rotated ports/devices
|
4 years ago |
Jan Petykiewicz
|
b7383a30ca
|
fix mirroring across y for arcs and ellipses
|
4 years ago |
Jan Petykiewicz
|
177f9952a5
|
Add builder submodule, Device and Port definitions, and DeviceLibrary
|
4 years ago |
Jan Petykiewicz
|
ad51801c5d
|
minor fixes to rotate()
|
4 years ago |
Jan Petykiewicz
|
6c4fe0e9e4
|
Add octagon constructor
|
4 years ago |
Jan Petykiewicz
|
8e1c05cf73
|
add mirror2d() to Rotatable
|
4 years ago |
Jan Petykiewicz
|
09a5e4a2db
|
type-related fixes and improvements
|
4 years ago |
Jan Petykiewicz
|
4308bdeb56
|
Add parent class MasqueError and use it for traits and all other exceptions
|
4 years ago |
Jan Petykiewicz
|
3653a33534
|
add implementation notes
|
4 years ago |
Jan Petykiewicz
|
6402c6242e
|
add `full_load` option to `load_library`
|
4 years ago |
Jan Petykiewicz
|
6ead7231a8
|
make `raw_mode`` an arg to `read()`
|
4 years ago |
Jan Petykiewicz
|
74a0a4f7d2
|
bump version to 2.3
|
4 years ago |
Jan Petykiewicz
|
ccb42e220f
|
cosmetic and doc changes
|
4 years ago |
Jan Petykiewicz
|
b9322be77f
|
move VERSION into a .py file that gets directly parsed by setup.py
avoids possible issues with pyinstaller
|
4 years ago |
Jan Petykiewicz
|
1b400605b1
|
use addsp() to consolidate some existing code
|
4 years ago |
Jan Petykiewicz
|
3a9eca91b5
|
add `addsp()` convenience function to Pattern
|
4 years ago |
Jan Petykiewicz
|
517a6dec98
|
remove duplicate setattr definition
already set by LockableImpl
|
4 years ago |
Jan Petykiewicz
|
2bc03cbbf4
|
improve some more type annotations using TypeVar
|
4 years ago |
Jan Petykiewicz
|
eb11f31960
|
improve type hints for Library
|
4 years ago |
Jan Petykiewicz
|
f364970403
|
style and type fixes (per flake8)
could potentially fix some bugs in `Library` class and dxf reader
|
4 years ago |
Jan Petykiewicz
|
f6ad272c2c
|
bump version to v2.2
|
4 years ago |
Jan Petykiewicz
|
7ed3b26b02
|
skip assignment in dfs() to avoid PatternLockedError on unmodified patterns
|
4 years ago |
Jan Petykiewicz
|
5bc82b9d49
|
__iter__ should actually return an iterator
|
4 years ago |
Jan Petykiewicz
|
0f35eb5e58
|
fix dxf reader
|
4 years ago |
Jan Petykiewicz
|
4a7e20d6ba
|
improve type annotations in dxf writer
|
4 years ago |
Jan Petykiewicz
|
c23c391d83
|
disable locking for annotations
until I can find a better way to do it
|
4 years ago |
Jan Petykiewicz
|
08cf7ca4b1
|
avoid calling to_polygons on Polygons (for speed)
|
4 years ago |
Jan Petykiewicz
|
de4726955b
|
add load_libraryfile convenience wrapper
|
4 years ago |
Jan Petykiewicz
|
ce5d386a24
|
Determine if an existing file is gzipped based on magic bytes, not suffix
|
4 years ago |
Jan Petykiewicz
|
03a359e446
|
add more dict-like methods
|
4 years ago |
Jan Petykiewicz
|
b873a5ddf3
|
make __getitem__ call get_primary rather than the other way around
this makes subclassing easier
|
4 years ago |
Jan Petykiewicz
|
682a99470f
|
Bump version to 2.1
|
4 years ago |
Jan Petykiewicz
|
aa5696d884
|
Add Library management functionality
|
4 years ago |
Jan Petykiewicz
|
7cad46fa46
|
add klamath-based gds read/write
|
4 years ago |
Jan Petykiewicz
|
c6684936cf
|
Improve docs, error messages, and type annotations
|
4 years ago |
Jan Petykiewicz
|
84f811e9d1
|
move clean_vertices functionality out into a common function
|
4 years ago |
Jan Petykiewicz
|
0e4b6828df
|
Disable height warning for DXF
|
4 years ago |
Jan Petykiewicz
|
a02dfdc982
|
remove dependency list from top-level comment
|
4 years ago |
Jan Petykiewicz
|
f51144ae6a
|
misc doc/import/typing fixes
|
4 years ago |
Jan Petykiewicz
|
3f59168cec
|
Use chain() instead of adding lists
|
4 years ago |
Jan Petykiewicz
|
5f72fe318f
|
Loosen requirements from List to Sequence
|
4 years ago |
Jan Petykiewicz
|
64fbd08cac
|
don't attempt to set structure properties
|
4 years ago |
Jan Petykiewicz
|
c4dfd06a42
|
improve type annotations
|
4 years ago |
Jan Petykiewicz
|
f996a1629f
|
limit number of arguments on more functions
|
4 years ago |
Jan Petykiewicz
|
0e04633f61
|
Force use of keyword args on most constructors
|
4 years ago |
Jan Petykiewicz
|
2a8e43cbcd
|
bump version to 2.0
|
4 years ago |
Jan Petykiewicz
|
49a3b4e322
|
add support for annotations
and other fixes
|
4 years ago |
Jan Petykiewicz
|
ea21353d2e
|
fix incorrect variable name
|
4 years ago |
Jan Petykiewicz
|
e330c34a0c
|
import layer_t at top level
|
4 years ago |
Jan Petykiewicz
|
92a3b9b72e
|
documentation fixes/updates
|
4 years ago |
Jan Petykiewicz
|
e7c8708f7f
|
prefer f-strings
|
4 years ago |
Jan Petykiewicz
|
3ec28d4720
|
typo fixes
|
4 years ago |
Jan Petykiewicz
|
b845b0f7bc
|
move shape conversions to their own functions, and use raw mode
|
4 years ago |
Jan Petykiewicz
|
352c03c0ae
|
remove use_dtype_as_dose arg
|
4 years ago |
Jan Petykiewicz
|
cbb5462fcb
|
spelling fix and wrong import
|
4 years ago |
Jan Petykiewicz
|
b4a19a3176
|
fix @abstractmethod on wrong function
|
4 years ago |
Jan Petykiewicz
|
d14182998b
|
various fixes
|
4 years ago |
Jan Petykiewicz
|
b98553a770
|
set repetition on subpattern
|
4 years ago |
Jan Petykiewicz
|
99ded5c113
|
Don't bother checking that dose is a scalar
|
4 years ago |
Jan Petykiewicz
|
f57ccc073d
|
add `raw` arg, which skips setter funcs
|
4 years ago |
Jan Petykiewicz
|
7ce601dc1d
|
Enable repeated shapes in gdsii and oasis
|
4 years ago |
Jan Petykiewicz
|
629a6a9ba2
|
enable per-shape repetitions
|
4 years ago |
Jan Petykiewicz
|
ad6fa88e53
|
Expect name to still be a string after disambiguation
Check that encode('ascii') doesn't make it zero-length, but don't
actually return the encoded form.
|
4 years ago |
Jan Petykiewicz
|
794ebb6b37
|
repetition related fixup
|
4 years ago |
Jan Petykiewicz
|
bab40474a0
|
Add repetitions and split up code into traits
|
4 years ago |
Jan Petykiewicz
|
d4fbdd8d27
|
add fast-path for 0-degree rotations
|
4 years ago |
Jan Petykiewicz
|
0fa073b488
|
Make sure linspace gets an integer number of points
|
4 years ago |
Jan Petykiewicz
|
89bd1e6abe
|
only add new_children (marginally faster)
|
4 years ago |
Jan Petykiewicz
|
a4b5776208
|
Don't return early, since we add patterns to memo before they've been checked
|
4 years ago |
Jan Petykiewicz
|
0589fbb1b8
|
bump version to v1.5
|
4 years ago |
Jan Petykiewicz
|
1ae9225130
|
add rename() method for Pattern
|
4 years ago |
Jan Petykiewicz
|
f3a1db30c5
|
Fix order of rotation/mirror/offset when calling as_pattern() on repetitions
|
4 years ago |
Jan Petykiewicz
|
53d2a9ca1a
|
Only swap between tuple/list if actually necessary
|
4 years ago |
Jan Petykiewicz
|
07ee25e735
|
add subpatterns_by_id()
|
4 years ago |
Jan Petykiewicz
|
1976c6e684
|
Add `recursive` arg to referenced_patterns_by_id
|
4 years ago |
Jan Petykiewicz
|
09615eaea6
|
use set() to remove any duplicates in patterns
|
4 years ago |
Jan Petykiewicz
|
e401f37993
|
Improve documentation on disambiguate_pattern_names
|
4 years ago |
Jan Petykiewicz
|
778e54c895
|
bump version to v1.4
|
4 years ago |
Jan Petykiewicz
|
f204d917c9
|
Add basic support for OASIS and update setup/docs for OASIS and DXF support
|
4 years ago |
Jan Petykiewicz
|
6e957d761a
|
newline
|
4 years ago |
Jan Petykiewicz
|
1bb4bd6bb7
|
add py.typed to enable type checking for downstream
|
4 years ago |
Jan Petykiewicz
|
8082743e17
|
move dose2dtype() into masque.file.utils, add dtype2dose(), and add a note that use_dtype_as_dose
|
4 years ago |
Jan Petykiewicz
|
1b0b056bf9
|
break out build() which returns the gdsii.library.Library object
|
4 years ago |
Jan Petykiewicz
|
d7a8bd7e0d
|
Allow b_count=None
|
4 years ago |
Jan Petykiewicz
|
22b2834d55
|
Documentation improvements
|
4 years ago |
Jan Petykiewicz
|
f9fb7ccad3
|
move gdsii import below standard packages
|
4 years ago |
Jan Petykiewicz
|
5bd1e85d89
|
add experimental support for dxf
|
4 years ago |
Jan Petykiewicz
|
f260fe1374
|
comment fixup
|
4 years ago |
Jan Petykiewicz
|
8a404a2602
|
Allow setting subpattern identifier in constructors
|
4 years ago |
Jan Petykiewicz
|
8302286a7a
|
allow using a string for the layer
Can't use it in gdsii, but no reason to forbit it in masque...
|
4 years ago |
Jan Petykiewicz
|
247b31a9d6
|
Don't include None in referenced_patterns_by_id() by default
|
4 years ago |
Jan Petykiewicz
|
5c6c10d2be
|
fix repetition __repr__
|
4 years ago |
Jan Petykiewicz
|
f312f50751
|
some typing clarifications
|
4 years ago |
Jan Petykiewicz
|
ee8f015172
|
add subpattern_t type (generalizattion of SubPattern and GridRepetition)
|
4 years ago |
Jan Petykiewicz
|
6b09fc0c20
|
make section comments more prominent
|
4 years ago |
Jan Petykiewicz
|
a440f2e256
|
add Shape.set_layer()
|
4 years ago |
Jan Petykiewicz
|
c236fdb81b
|
Add __repr__ methods to most objects`
These are closer to what __str__ should be and will likely change in the
future.
|
4 years ago |
Jan Petykiewicz
|
c79eee2a8c
|
Stricter locking (lock contained ndarrays and turn lists into tuples)
|
4 years ago |
Jan Petykiewicz
|
79990e3806
|
cosmetic changes
|
4 years ago |
Jan Petykiewicz
|
157df47884
|
Improve type annotations based on mypy errors
|
4 years ago |
Jan Petykiewicz
|
bd4085365f
|
Path should create a Path, not a Polygon
|
4 years ago |
Jan Petykiewicz
|
9bfb3bef9f
|
avoid unnecessarily nested classes
Still provide a class variable for convenience
|
4 years ago |
Jan Petykiewicz
|
d33afc2bfd
|
disambiguate some variable names
|
4 years ago |
Jan Petykiewicz
|
f8e347c997
|
fix scale -> scale_by
|
4 years ago |
Jan Petykiewicz
|
8493364e9c
|
Use a tuple for .identifier
|
4 years ago |
Jan Petykiewicz
|
00394a62f0
|
Formally allow instances to point to None (i.e. an 'empty' pattern)
|
4 years ago |
Jan Petykiewicz
|
f8c49cdb5e
|
Add setter/getter for .pattern to catch wrong types
|
4 years ago |
Jan Petykiewicz
|
fa8fc52dd6
|
Improve consistency of ndarray members
|
4 years ago |
Jan Petykiewicz
|
9fa527ea11
|
improve handling of patterns with no bounding box
|
4 years ago |
Jan Petykiewicz
|
334633662e
|
Remove extra __author__ declarations
|
4 years ago |
Jan Petykiewicz
|
df179c9233
|
Improve type annotations for layer
|
4 years ago |
Jan Petykiewicz
|
95ab0934b7
|
bump version to v1.3
|
4 years ago |
Jan Petykiewicz
|
e9244055c6
|
Add type check for SubPattern's pattern arg
|
4 years ago |
Jan Petykiewicz
|
a4f556c3b3
|
clarify docs for referenced_patterns_by_id()
|
4 years ago |
Jan Petykiewicz
|
e684bd0e40
|
add Pattern.find_toplevel()
Topological sort for lists of Pattern objects, useful for finding top
cell of gds
|
4 years ago |
Jan Petykiewicz
|
9f27a5093a
|
add Pattern.referenced_patterns_by_name()
|
4 years ago |