2022-08-18 23:44:59 -07:00
test write "long zero" for END record padding padding 2021-08-11 00:35:14 -07:00
__init__.py bump version to v0.12 2022-08-18 23:44:59 -07:00
basic.py fix read_point_list when using numpy 2021-07-30 23:24:58 -07:00
LICENSE.md move to hatch-based build 2022-08-18 23:44:20 -07:00
main.py Fix error check to not include properties 2021-07-11 17:14:19 -07:00
py.typed enable type checking for downstream 2020-05-19 00:51:40 -07:00
README.md move to hatch-based build 2022-08-18 23:44:20 -07:00
records.py ignore missing numpy typing info 2021-07-30 22:47:28 -07:00


fatamorgana is a Python package for reading and writing OASIS format layout files.

Homepage: https://mpxd.net/code/jan/fatamorgana


  • This package is a work-in-progress and is largely untested -- it works for the tasks I usually use it for, but I can't guarantee I've even tried the features you happen to use! Use at your own risk!
  • Interfaces and datastructures are subject to change!
  • That said the following work for me:
    • polygons
    • layer info
    • cell names
    • compressed blocks
    • basic property I/O



  • python 3.5 or newer
  • (optional) numpy

Install with pip from PyPi (preferred):

pip3 install fatamorgana

Install directly from git repository:

pip3 install git+https://mpxd.net/code/jan/fatamorgana.git@release


Most functions and classes are documented inline.

To read the inline help,

import fatamorgana

The documentation is currently very sparse and I expect to improve it whenever possible!


Read an OASIS file and write it back out:

    import fatamorgana

    with open('test.oas', 'rb') as f:
        layout = fatamorgana.OasisLayout.read(f)

    with open('test_write.oas', 'wb') as f: