summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 05:38:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 05:38:59 +0000
commitc56c9d3c3d2fbb13f856c454647ac3d2ce16d3cc (patch)
tree4bcc942dc2de1b577cab2a40bd98a4994c654662
parent7673c970e55b419dbdd309c4d23268f1531185f9 (diff)
automatic import of python-filediffsopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-filediffs.spec314
-rw-r--r--sources1
3 files changed, 316 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..2d494e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/filediffs-0.1.12.tar.gz
diff --git a/python-filediffs.spec b/python-filediffs.spec
new file mode 100644
index 0000000..46a8d24
--- /dev/null
+++ b/python-filediffs.spec
@@ -0,0 +1,314 @@
+%global _empty_manifest_terminate_build 0
+Name: python-filediffs
+Version: 0.1.12
+Release: 1
+Summary: Separate two files into three files, each containing lines observed in both files/first file only/second file only. Programmed using Cython.
+License: MIT
+URL: https://github.com/INWTlab/filediffs
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3c/da/7f762433c668d87aa4f9814a51ec8c4846da3d99049f546f8937e3ee113b/filediffs-0.1.12.tar.gz
+
+
+%description
+# The `filediffs` package
+[![Build Status](https://travis-ci.org/INWTlab/filediffs.svg?branch=master)](https://travis-ci.org/INWTlab/filediffs)
+
+`filediffs` takes two files and separates them into
+1. lines found in both files
+2. lines found only in file 1
+3. lines found only in file 2
+
+Code inspired by https://www.splinter.com.au/reconcilingcomparing-huge-data-sets-with-c/
+and implemented using [Cython](https://cython.readthedocs.io/en/latest/)
+
+Lines found in both files are not kept in memory but written to
+ disk every 5.000.000 lines to preserve memory.
+
+This way, even very large files can be separated.
+Only the diff has to fit in memory.
+
+
+# 1. Installation
+## 1.1 Pypi:
+filediffs is available on [pypi](https://pypi.org/project/filediffs/) and can therefore be installed via pip
+```
+pip install filediffs
+```
+Currently, **only wheels for Linux** are build using [manylinux](https://github.com/pypa/manylinux).
+
+On other OS, please install the package as described in the following section.
+
+## 1.2 Github:
+You can clone the package from Github and transpile the Cython code to C++ on
+your machine.
+
+For Dependency management, [Pipenv](https://github.com/pypa/pipenv) is used.
+
+The Pipfile defines the python version and package requirements.
+
+You can create a virtual environment for the package with
+Pipenv by
+1. installing pipenv `pip install pipenv`
+2. calling `pipenv install` to install from Pipfile.lock
+
+The file `setup.py` defines the cython build process.
+
+The cpp files can be build using `pipenv run python setup.py build_ext --inplace`.
+
+
+ # 2. Usage:
+ ## 2.1 Interactive in Python
+The `file_diffs` function requires two arguments, `filename_1` and `filename_2`, with the path to the files you wish to compare.
+
+In addition, three optional output arguments can be passed to the functions, defining the output
+files.
+
+If the output arguments are not passed to the function, the output will be saved into
+the working directory.
+
+```python
+from filediffs.filediffs_python.filediffs import file_diffs
+file_diffs(
+ filename_1='path/to/file1.txt',
+ filename_2='path/to/file2.txt',
+ outpath_lines_present_in_both_files='output_path/to/lines_in_both.txt',
+ outpath_lines_present_only_in_file1='output_path/to/lines_only_in_file1.txt',
+ outpath_lines_present_only_in_file2='output_path/to/lines_only_in_file2.txt',
+)
+```
+
+## 2.2 From the terminal
+The `filediffs` package comes with a build in command line interface. This way it can be used to separate files from the terminal:
+```shell script
+# To separate two files, simply install the package with pip
+pip install filediffs
+# and call
+filediffs path/to/file1.txt path/to/file2.txt
+
+# If you want to define the filenames of the separated ouput files, optional arguments are provided for the script.
+filediffs path/to/file1.txt path/to/file2.txt --out_filename_both both_files.txt --out_filename_only_in_file1 file1_only.txt --out_filename_only_in_file2 file2_only.txt
+```
+
+
+
+
+%package -n python3-filediffs
+Summary: Separate two files into three files, each containing lines observed in both files/first file only/second file only. Programmed using Cython.
+Provides: python-filediffs
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-filediffs
+# The `filediffs` package
+[![Build Status](https://travis-ci.org/INWTlab/filediffs.svg?branch=master)](https://travis-ci.org/INWTlab/filediffs)
+
+`filediffs` takes two files and separates them into
+1. lines found in both files
+2. lines found only in file 1
+3. lines found only in file 2
+
+Code inspired by https://www.splinter.com.au/reconcilingcomparing-huge-data-sets-with-c/
+and implemented using [Cython](https://cython.readthedocs.io/en/latest/)
+
+Lines found in both files are not kept in memory but written to
+ disk every 5.000.000 lines to preserve memory.
+
+This way, even very large files can be separated.
+Only the diff has to fit in memory.
+
+
+# 1. Installation
+## 1.1 Pypi:
+filediffs is available on [pypi](https://pypi.org/project/filediffs/) and can therefore be installed via pip
+```
+pip install filediffs
+```
+Currently, **only wheels for Linux** are build using [manylinux](https://github.com/pypa/manylinux).
+
+On other OS, please install the package as described in the following section.
+
+## 1.2 Github:
+You can clone the package from Github and transpile the Cython code to C++ on
+your machine.
+
+For Dependency management, [Pipenv](https://github.com/pypa/pipenv) is used.
+
+The Pipfile defines the python version and package requirements.
+
+You can create a virtual environment for the package with
+Pipenv by
+1. installing pipenv `pip install pipenv`
+2. calling `pipenv install` to install from Pipfile.lock
+
+The file `setup.py` defines the cython build process.
+
+The cpp files can be build using `pipenv run python setup.py build_ext --inplace`.
+
+
+ # 2. Usage:
+ ## 2.1 Interactive in Python
+The `file_diffs` function requires two arguments, `filename_1` and `filename_2`, with the path to the files you wish to compare.
+
+In addition, three optional output arguments can be passed to the functions, defining the output
+files.
+
+If the output arguments are not passed to the function, the output will be saved into
+the working directory.
+
+```python
+from filediffs.filediffs_python.filediffs import file_diffs
+file_diffs(
+ filename_1='path/to/file1.txt',
+ filename_2='path/to/file2.txt',
+ outpath_lines_present_in_both_files='output_path/to/lines_in_both.txt',
+ outpath_lines_present_only_in_file1='output_path/to/lines_only_in_file1.txt',
+ outpath_lines_present_only_in_file2='output_path/to/lines_only_in_file2.txt',
+)
+```
+
+## 2.2 From the terminal
+The `filediffs` package comes with a build in command line interface. This way it can be used to separate files from the terminal:
+```shell script
+# To separate two files, simply install the package with pip
+pip install filediffs
+# and call
+filediffs path/to/file1.txt path/to/file2.txt
+
+# If you want to define the filenames of the separated ouput files, optional arguments are provided for the script.
+filediffs path/to/file1.txt path/to/file2.txt --out_filename_both both_files.txt --out_filename_only_in_file1 file1_only.txt --out_filename_only_in_file2 file2_only.txt
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for filediffs
+Provides: python3-filediffs-doc
+%description help
+# The `filediffs` package
+[![Build Status](https://travis-ci.org/INWTlab/filediffs.svg?branch=master)](https://travis-ci.org/INWTlab/filediffs)
+
+`filediffs` takes two files and separates them into
+1. lines found in both files
+2. lines found only in file 1
+3. lines found only in file 2
+
+Code inspired by https://www.splinter.com.au/reconcilingcomparing-huge-data-sets-with-c/
+and implemented using [Cython](https://cython.readthedocs.io/en/latest/)
+
+Lines found in both files are not kept in memory but written to
+ disk every 5.000.000 lines to preserve memory.
+
+This way, even very large files can be separated.
+Only the diff has to fit in memory.
+
+
+# 1. Installation
+## 1.1 Pypi:
+filediffs is available on [pypi](https://pypi.org/project/filediffs/) and can therefore be installed via pip
+```
+pip install filediffs
+```
+Currently, **only wheels for Linux** are build using [manylinux](https://github.com/pypa/manylinux).
+
+On other OS, please install the package as described in the following section.
+
+## 1.2 Github:
+You can clone the package from Github and transpile the Cython code to C++ on
+your machine.
+
+For Dependency management, [Pipenv](https://github.com/pypa/pipenv) is used.
+
+The Pipfile defines the python version and package requirements.
+
+You can create a virtual environment for the package with
+Pipenv by
+1. installing pipenv `pip install pipenv`
+2. calling `pipenv install` to install from Pipfile.lock
+
+The file `setup.py` defines the cython build process.
+
+The cpp files can be build using `pipenv run python setup.py build_ext --inplace`.
+
+
+ # 2. Usage:
+ ## 2.1 Interactive in Python
+The `file_diffs` function requires two arguments, `filename_1` and `filename_2`, with the path to the files you wish to compare.
+
+In addition, three optional output arguments can be passed to the functions, defining the output
+files.
+
+If the output arguments are not passed to the function, the output will be saved into
+the working directory.
+
+```python
+from filediffs.filediffs_python.filediffs import file_diffs
+file_diffs(
+ filename_1='path/to/file1.txt',
+ filename_2='path/to/file2.txt',
+ outpath_lines_present_in_both_files='output_path/to/lines_in_both.txt',
+ outpath_lines_present_only_in_file1='output_path/to/lines_only_in_file1.txt',
+ outpath_lines_present_only_in_file2='output_path/to/lines_only_in_file2.txt',
+)
+```
+
+## 2.2 From the terminal
+The `filediffs` package comes with a build in command line interface. This way it can be used to separate files from the terminal:
+```shell script
+# To separate two files, simply install the package with pip
+pip install filediffs
+# and call
+filediffs path/to/file1.txt path/to/file2.txt
+
+# If you want to define the filenames of the separated ouput files, optional arguments are provided for the script.
+filediffs path/to/file1.txt path/to/file2.txt --out_filename_both both_files.txt --out_filename_only_in_file1 file1_only.txt --out_filename_only_in_file2 file2_only.txt
+```
+
+
+
+
+%prep
+%autosetup -n filediffs-0.1.12
+
+%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-filediffs -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.12-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..6c95dac
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+778761a6a6a769de45e231877cbe0b08 filediffs-0.1.12.tar.gz