Skip to content

maybeetree/cift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f31774d · Nov 18, 2024

History

17 Commits
Nov 18, 2024
Aug 9, 2024
May 13, 2024
Nov 18, 2024
May 11, 2024
Nov 18, 2024
May 25, 2024
Aug 9, 2024
May 11, 2024

Repository files navigation

CIFT banner

CIFT

Caltech Intermediate Form parser in pure Python

Under construction

Currently, CIFT is a utility for use in unit tests of RAIMAD, a different project I am working on. As such, it is only guaranteed to support CIF files that RAIMAD produces, and not all CIF files in general.

Turning CIFT into a general-purpose CIF parser is a long-term future goal.

Roadmap

  • Basic parsing
    • P (polygons)
    • B (box)
      • rotation
    • Comments
    • Subroutines (DS and DF)
    • Translation and rotation (subroutines)
  • Inspection
    • Get CIF file as a list of geometries on each layer
    • Get CIF file as a tree representing subroutine calls

Overall Goals

  • Pure Python, no dependencies
  • easy to understand code
  • mypy --strict has no complaints
  • in abscence of a CIF spec, emulate KLayout's CIF parser as closely as possible.

Name

  • "CIFT", pronounced like "sift". Think of putting a CIF file into a sieve and letting the syntax crystallize into grains of sand that fall away to reveal the geometries it represents.

License

You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see http://creativecommons.org/publicdomain/zero/1.0/.

Future versions may switch to a difference license.

About

Python Caltech Intermediate Form parser

Resources

Stars

Watchers

Forks

Packages

No packages published