summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 07:34:22 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 07:34:22 +0000
commit6ab5786f0380abdeecb71c67c140dbee82e56d6b (patch)
treef657fe427094cb56f895ef31f503a06745af1461
parent15512e3212d08a27a55ac410faa36b014b36d899 (diff)
automatic import of python-fortranformatopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-fortranformat.spec366
-rw-r--r--sources1
3 files changed, 368 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..86857ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/fortranformat-2.0.0.tar.gz
diff --git a/python-fortranformat.spec b/python-fortranformat.spec
new file mode 100644
index 0000000..0ea8ab2
--- /dev/null
+++ b/python-fortranformat.spec
@@ -0,0 +1,366 @@
+%global _empty_manifest_terminate_build 0
+Name: python-fortranformat
+Version: 2.0.0
+Release: 1
+Summary: Mimics Fortran textual IO in Python
+License: MIT License
+URL: https://github.com/brendanarnold/py-fortranformat
+Source0: https://mirrors.aliyun.com/pypi/web/packages/91/b8/12298bdd8516eb81d012267b270fd0c3850528204d3021af0ea72503b9db/fortranformat-2.0.0.tar.gz
+BuildArch: noarch
+
+
+%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 then run using
+
+`make runtests`
+
+Note that some of the F output edit descriptors fail due to limitations in floating point number representation
+
+To run a reduced test suite where time and resources are limited, use the following
+
+`make runminimaltests`
+
+To run a performance test, which currently only covers the reading and writing of floats, use the following
+
+`make runperformancetests`
+
+### 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
+
+%package -n python3-fortranformat
+Summary: Mimics Fortran textual IO in Python
+Provides: python-fortranformat
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-fortranformat
+# 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 then run using
+
+`make runtests`
+
+Note that some of the F output edit descriptors fail due to limitations in floating point number representation
+
+To run a reduced test suite where time and resources are limited, use the following
+
+`make runminimaltests`
+
+To run a performance test, which currently only covers the reading and writing of floats, use the following
+
+`make runperformancetests`
+
+### 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
+
+%package help
+Summary: Development documents and examples for fortranformat
+Provides: python3-fortranformat-doc
+%description help
+# 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 then run using
+
+`make runtests`
+
+Note that some of the F output edit descriptors fail due to limitations in floating point number representation
+
+To run a reduced test suite where time and resources are limited, use the following
+
+`make runminimaltests`
+
+To run a performance test, which currently only covers the reading and writing of floats, use the following
+
+`make runperformancetests`
+
+### 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
+
+%prep
+%autosetup -n fortranformat-2.0.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-fortranformat -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..7e6d82b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b4b2e1f1289f89dc686670cc6bbdcd8b fortranformat-2.0.0.tar.gz