fatamorgana/fatamorgana
Jan Petykiewicz 968392a4a3 bump version number to v0.13
Main changes are numpy 2.0 compatibility and improved type annotations
2024-07-29 18:21:52 -07:00
..
test add missing asserts 2024-07-29 18:19:17 -07:00
__init__.py bump version number to v0.13 2024-07-29 18:21:52 -07:00
basic.py simplify a comparison 2024-07-29 18:19:17 -07:00
LICENSE.md move to hatch-based build 2022-08-18 23:44:20 -07:00
main.py improve error handling 2024-07-29 18:19:17 -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 improve type annotations 2024-07-29 18:19:17 -07:00

fatamorgana

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

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

Capabilities:

  • 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

Installation

Dependencies:

  • python >=3.11
  • (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

Documentation

Most functions and classes are documented inline.

To read the inline help,

import fatamorgana
help(fatamorgana.OasisLayout)

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

Examples

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:
        layout.write(f)