diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-10 05:38:59 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 05:38:59 +0000 |
commit | c56c9d3c3d2fbb13f856c454647ac3d2ce16d3cc (patch) | |
tree | 4bcc942dc2de1b577cab2a40bd98a4994c654662 | |
parent | 7673c970e55b419dbdd309c4d23268f1531185f9 (diff) |
automatic import of python-filediffsopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-filediffs.spec | 314 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 316 insertions, 0 deletions
@@ -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 +[](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 +[](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 +[](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 @@ -0,0 +1 @@ +778761a6a6a769de45e231877cbe0b08 filediffs-0.1.12.tar.gz |