%global _empty_manifest_terminate_build 0
Name:		python-PyXRD
Version:	0.8.4
Release:	1
Summary:	PyXRD is a python implementation of the matrix algorithm developed for the X-ray diffraction analysis of disordered lamellar structures
License:	BSD
URL:		http://github.org/mathijs-dumon/PyXRD
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/82/df/03984961d2af47c41f9d199230f0645f7131ca148e061f9870bf5606edfa/PyXRD-0.8.4.linux-x86_64.tar.gz
BuildArch:	noarch

Requires:	python3-setuptools
Requires:	python3-numpy
Requires:	python3-scipy
Requires:	python3-matplotlib
Requires:	python3-Pyro4
Requires:	python3-deap
Requires:	python3-cairocffi
Requires:	python3-pygobject

%description
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%package -n python3-PyXRD
Summary:	PyXRD is a python implementation of the matrix algorithm developed for the X-ray diffraction analysis of disordered lamellar structures
Provides:	python-PyXRD
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-PyXRD
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%package help
Summary:	Development documents and examples for PyXRD
Provides:	python3-PyXRD-doc
%description help
PyXRD is a python implementation of the matrix algorithm for computer modeling
of X-ray diffraction (XRD) patterns of disordered lamellar structures.
It's goals are to:
 - provide an easy user-interface for end-users
 - provide basic tools for displaying and manipulating XRD patterns
 - produce high-quality (publication-grade) figures
 - make modelling of XRD patterns for mixed-layer clay minerals 'easy'
 - be free and open-source (open box instead of closed box model)
PyXRD was written with the multi-specimen full-profile fitting method in mind. 
A direct result is the ability to 'share' parameters among similar phases.
This allows for instance to have an air-dry and a glycolated illite-smectite 
share their coherent scattering domain size, but still have different basal 
spacings and interlayer compositions for the smectite component. Or play with
the di/tri-octahedral composition of a chlorite with ease.
Other features are (incomplete list):
 - Import/export several common XRD formats (.RD, .RAW, .CPI, ASCII)
 - Simple background subtraction/addition (linear or custom patterns)
 - Smoothing patterns and adding noise to patterns
 - Peak finding and annotating (markers)
 - Peak stripping and peak area calculation tools
 - Custom line colors, line widths, pattern positions, ...
 - Goniometer settings (wavelengths, geometry settings, ...)
 - Specimen settings (sample length, absorption, ...)
 - Automatic parameter refinement using several algorithms, e.g.:
    - L BFGS B
    - Brute Force
    - Covariation Matrix Adapation Evolutionary Strategy (CMA-ES; using DEAP 1.0)
    - Multiple Particle Swarm Optimization (MPSO; using DEAP 1.0)
    - Particle-swarm CMA-ES (PS-CMA-ES; using DEAP 1.0)
 - Scripting support

%prep
%autosetup -n PyXRD-0.8.4

%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-PyXRD -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.4-1
- Package Spec generated