Skip to main content

Caltech Intermediate Form parser in pure Python

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cift-0.0.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

cift-0.0.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file cift-0.0.3.tar.gz.

File metadata

  • Download URL: cift-0.0.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cift-0.0.3.tar.gz
Algorithm Hash digest
SHA256 34311ba2f8d9e7ded41c691e35818070b8467b76e22d5c7179dd9a97fecad15e
MD5 2a3ebd4c16435e31b506d890bea2547f
BLAKE2b-256 b0124b9385638a27e27120806d6b52a1a18d9c41eb63b6cee9bf626fa1d00705

See more details on using hashes here.

File details

Details for the file cift-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: cift-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cift-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1ce9eb531aaebb489b97eb65cca6bd5f96f12f30e4e315545f5c1e60bbd97f8
MD5 1435be9b33c2c21b555f26edf8d79f6e
BLAKE2b-256 1b5648c608ca58fd5210c1be9e522b71cf0faa8fae0a6d0d8fc4e6b4befdd544

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page