Commit Graph

424 Commits (783953bb736f09473977020a534f15b0aa5a1b4d)

Author SHA1 Message Date
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