You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
"""
|
|
`klamath` is a Python module for reading and writing to the GDSII file format.
|
|
|
|
The goal is to keep this library simple:
|
|
- Map data types directly wherever possible.
|
|
* Presents an accurate representation of what is saved to the file.
|
|
* Avoids excess copies / allocations for speed.
|
|
* No "automatic" error checking, except when casting datatypes.
|
|
If data integrity checks are provided at all, they must be
|
|
explicitly run by the caller.
|
|
- Low-level functionality is first-class.
|
|
* Meant for use-cases where the caller wants to read or write
|
|
individual GDS records.
|
|
* Offers complete control over the written file.
|
|
- Opinionated and limited high-level functionality.
|
|
* Discards or ignores rarely-encountered data types.
|
|
* Keeps functions simple and reusable.
|
|
* Only de/encodes the file format, doesn't provide tools to modify
|
|
the data itself.
|
|
* Still requires explicit values for most fields.
|
|
- No compilation
|
|
* Uses `numpy` for speed, since it's commonly available / pre-built.
|
|
* Building this library should not require a compiler.
|
|
|
|
`klamath` was built to provide a fast and versatile GDS interface for
|
|
[masque](https://mpxd.net/code/jan/masque), which provides higher-level
|
|
tools for working with hierarchical design data and supports multiple
|
|
file formats.
|
|
"""
|
|
from . import basic
|
|
from . import record
|
|
from . import records
|
|
from . import elements
|
|
from . import library
|
|
|
|
__author__ = 'Jan Petykiewicz'
|
|
__version__ = '1.3'
|
|
|