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
andDF
) - 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
Built Distribution
File details
Details for the file cift-0.0.1.tar.gz
.
File metadata
- Download URL: cift-0.0.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0e088fa0a439fa36ad49549768db6466e8a5d712f6ade8e1f4830dc69bc41e7 |
|
MD5 | 54709543ce7f56e84528fe7cbc504845 |
|
BLAKE2b-256 | adbba5586b2e6832249938d822f423938b97e1c554ee1d04f43ae2005a12c5ee |
File details
Details for the file cift-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: cift-0.0.1-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8191d2dd479984502d03c334e319161a3b87d0311453cfe22d05c9dab9f096f |
|
MD5 | 19b958f0d280f250d14f78049093ff6e |
|
BLAKE2b-256 | 7255d59df5fa22083427a7ff94f0dd5cc199155bb375d6af457c4992e9bba4b1 |