Metadata-Version: 1.1
Name: cython-fortran-file
Version: 0.0.3
Summary: An efficient package to read fortran-record files in Python.
Home-page: https://github.com/cphyc/cython-fortran-file
Author: Corentin Cadiou
Author-email: contact@cphyc.me
License: See http://www.python.org/3.6/license.html
Description: # Cython fortran-file
        
        This package is a fast and easy reader for record-based binary format, as written by Fortran.
        
        ## Installation
        
        This packages requires a compiler to be installed on you system. If you're using Linux or MacOSX you should be fine. If you're using Windows, please get in touch with me or open an issue.
        ```
        pip install cython_fortran_file
        ```
        That's all!
        
        ## Using it
        Here is a simple demonstration:
        
        ```python
        from cython_fortran_file import FortranFile as FF
        
        f = FF('/path/to/my/fortran/file.dat')
        
        # Skip 5 records
        f.skip(5)
        
        # Read one record (an array of `double`)
        data = f.read_vector('d')
        assert data.dtype == np.float64
        
        # Read one record (an array of signed `int`)
        data = f.read_vector('i')
        assert data.dtype == np.int32
        
        # Read one *single* int. This will fail if there is more to read!
        v = f.read_int()
        
        # f _looks_ like a regular file descriptor
        f.tell()
        f.seek(0)
        f.close()
        ```
        
        ## Data types
        
        The argument of `read_vector` follows the convention of the python struct package (C convention). See https://docs.python.org/3.5/library/struct.html#format-characters for the full list. Here is a shorter version:
        
        Argument | Fortran type | C type     | Numpy dtype
        ---------|--------------|------------|--------------
        `d`      | `real(8)`    | `double`   | `np.float64`
        `f`      | `real(4)`    | `float`    | `np.float32`
        `i`      | `integer`    | `int`      | `np.int32`
        `l`      | `integer(8)` | `long`     | `np.int64`
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
