Metadata-Version: 2.1
Name: fortranformat
Version: 1.2.0
Summary: Mimics Fortran textual IO in Python
Home-page: https://github.com/brendanarnold/py-fortranformat
Author: Brendan Arnold
Author-email: brendanarnold@gmail.com
License: UNKNOWN
Description: # FORTRAN format interpreter for Python
        
        Generates text from a Python list of variables or will read a line of text into Python variables according to the FORTRAN format statement passed.
        
        To read Fortran records,
        
        ```
        import fortranformat as ff
        header_line = FortranRecordReader('(A15, A15, A15)')
        header_line.read('              x              y              z')
        ['              x', '              y', '              z']
        line = FortranRecordReader('(3F15.3)')
        line.read('          1.000          0.000          0.500')
        # Returns [1.0, 0.0, 0.5]
        line.read('          1.100          0.100          0.600')
        # Returns [1.1, 0.1, 0.6]
        ```
        
        To write Fortran records,
        
        ```
        import fortranformat as ff
        header_line = FortranRecordWriter('(A15, A15, A15)')
        header_line.write(['x', 'y', 'z'])
        # Results in '              x              y              z'
        line = FortranRecordWriter('(3F15.3)')
        line.write([1.0, 0.0, 0.5])
        # Results in '          1.000          0.000          0.500'
        line.write([1.1, 0.1, 0.6])
        # Results in '          1.100          0.100          0.600'
        ```
        
        For more detailed usage, see [the guide](https://github.com/brendanarnold/py-fortranformat/blob/master/docs/wiki/guide.md).
        
        ## Notes
        
        - At present the library mimics the IO of the Intel FORTRAN compiler
          v.9.1 run on a Linux system. Differences to other FORTRAN compilers
          and platforms are generally minor.
        - The library should run on Python versions from at least 2.7
        
        ## Development
        
        ### Generating the tests for a FORTRAN compiler
        
        Characterisations for a selection of FORTRAN compilers already exists, but if you want to characterise a new compiler, do the following ...
        
        1. Configure the compile string under `compilertests` target for your particular FORTRAN compiler e.g. `gfortran %s -o %s` where `%s` is the input and output file placeholders respectively
        2. Configure the compiler tag under `compilertests` e.g. `gfortran_10_2_0_osx_intel` this is just used for naming although would advise to sticking to alphanumerics and underscores
        3. Run `make compilertests`. This generates, compiles and executes hundreds of combinations of edit descriptor in the FORTRAN compiler under test and saves the results in the `.test` files under the build directories.
        4. Move the `.test` files to an appropriate new location under `tests/autogen/[input/output]` into directories named `raw`
        5. Run `make buildtests` to generate Python test files based on the generated `.test` files
        
        ### Running tests
        
        Build the tests using
        
        `make buildtests`
        
        Make sure that pytest is installed and run using
        
        `make runtests`
        
        Note that some of the F output edit descriptors fail due to limitations in floating point number representation
        
        ### Deploying a new package version
        
        Update versions in `setup.py` and `__init__.py`
        
        Update `CHANGELOG.md`
        
        To create a local build to test run ...
        
        `python setup.py build sdist --formats=gztar`
        
        To upload a version to PyPI run ...
        
        ```
        python setup.py sdist
        twine upload dist/<new version>
        ```
        
        ## Bugs
        
        Although the library has a large body of automatically generated test
        code behind it, it has not been extensively user tested. Bug reports are
        welcome!
        
        Please report bugs to,
        
        https://github.com/brendanarnold/py-fortranformat/issues
        
Keywords: fortran,io,interface,format
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Fortran
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Software Development :: Interpreters
Classifier: Topic :: Scientific/Engineering
Description-Content-Type: text/markdown
