Crystallographic Information Framework



PyCifRW provides basic support for reading and writing CIF files using Python.


If you wish to install and use this software you should download the most up-to-date version from the above Web site. The links below are to copies which are suitable for browsing or for use if the primary Web site is not available. However, they may be out of date and lack the full functionality of the latest version.


PyCifRW provides support for reading and writing CIF (Crystallographic Information Format) files using Python, including validity testing against DDL dictionaries. It was developed at the Australian National Beamline Facility (ANBF), run by the Australian Synchrotron Research Program (ASRP), as part of a larger project to provide CIF input/output capabilities for data collection. It is currently under active development and testing.

Language and platform

The software is written in Python and should run on any platform with a suitable Python installation.


  • Installation:

    Python 2.3 or greater must already be installed.

    • (Windows minimal) Download and execute the file PyCifRW-3.2.exe.
    • (All operating systems)

      1. Download and unpack the file PyCifRW-3.2.tar.gz
      2. In directory PyCifRW-3.2, execute the command
       'python install'
      In Windows this can be accomplished by double-clicking the icon.
    For more details see the Installation notes
  • Overview
  • Programming with PyCIFRW and PySTARRW ( HTML | PDF )
  • Commented source code (CIF)
  • Commented source code (STAR)

Terms and conditions of use

Copyright in the software © Australian Synchrotron Research Program Inc.
Author: In order to implement the CIF grammar specification, PyCifRW uses the Yapps2 parser generator developed by Amit Patel and generously released to the wider community. The remainder of PyCifRW was written by James Hester.

Use of this software is governed by a royalty-free licence.


Hester, J. R. (2006). A validating CIF parser: PyCIFRW. J. Appl. Cryst. 39, 621-625. details