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
|
2 years 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 |
Jan Petykiewicz
|
ed9b0df057
|
fix scaling for objects with repetitions
|
2 years ago |
jan
|
a4aa50d814
|
fix another instance where numpy prohibits using `not bounds`
|
2 years ago |
jan
|
2b8195ad3e
|
move dev2pat and pat2dev into masque.builder.port_utils
|
2 years ago |
jan
|
36f6edac21
|
fix wrong var name
|
2 years ago |
jan
|
210f5c21bc
|
wrap_device can be used on DeviceLibrary
|
2 years ago |
jan
|
bfee560693
|
simplify type hints
|
2 years ago |
jan
|
f4c2357737
|
fix type hint
|
2 years ago |
jan
|
20be409341
|
fix numpy complaining about .any() / .all()
|
2 years ago |
jan
|
d8b60da827
|
use_ours & use_theirs should be passed verbatim to the underlying library
|
2 years ago |
jan
|
3b0ef1e08d
|
always couple LibDeviceLibrary keys to the underlying Library
See comment for why this is necessary
|
2 years ago |
jan
|
7603a7a1c8
|
fix typevar naming
|
2 years ago |
jan
|
0c1954c9d1
|
fix missing imports
|
2 years ago |
jan
|
30025ba081
|
fixup dxf read
|
2 years ago |
jan
|
5ef34794ff
|
keep ordering stable for same-y ports
|
2 years ago |
jan
|
c8b4075fcc
|
Avoid circular import
|
2 years ago |
jan
|
40b98b2511
|
add missing colon
|
2 years ago |
jan
|
0471addd65
|
add get_bounds_nonempty
|
2 years ago |
jan
|
780d1ca97f
|
export LibDeviceLibrary
|
2 years ago |
jan
|
fc7a6c6f4a
|
fix some unused code
|
2 years ago |
jan
|
81430fe632
|
add LibDeviceLibrary
|
2 years ago |
jan
|
6a1208bc33
|
add some helper functions to libraries
|
2 years ago |
jan
|
f36350ebee
|
Add some warnings around cache invalidation when mutating items
|
2 years ago |
jan
|
2e5d51b0af
|
resolve name conflicts rather than just giving up
this lets us merge libraries without having to mutate `other`, which
brings a bunch of problems around cache invalidation
|
2 years ago |
jan
|
566ba99f9c
|
set_const doesn't need to take in a separate key, can just use the pattern's name
might as well make the convenience function convenient
|
2 years ago |
jan
|
86315fc32b
|
improve DeviceLibrary docstring
|
2 years ago |
jan
|
f178e94d82
|
remove old overloads
|
2 years ago |
jan
|
7612a2660c
|
add DeviceLibraryError
|
2 years ago |
Jan Petykiewicz
|
7aa850a239
|
add todo note
|
2 years ago |
Jan Petykiewicz
|
9a9a05d1d7
|
add guillotine_bssf_sas
|
2 years ago |
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
|
4 years ago |
Jan Petykiewicz
|
88d42807be
|
label axes in visualization
|
4 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 |