From ca7ddf4f552cfdf9038fb83723a8ddca784c7dd8 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 10 May 2023 04:48:14 +0000 Subject: automatic import of python-ducc0 --- python-ducc0.spec | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 python-ducc0.spec (limited to 'python-ducc0.spec') diff --git a/python-ducc0.spec b/python-ducc0.spec new file mode 100644 index 0000000..0dcb35f --- /dev/null +++ b/python-ducc0.spec @@ -0,0 +1,216 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ducc0 +Version: 0.30.0 +Release: 1 +Summary: Distinctly useful code collection: contains efficient algorithms for Fast Fourier (and related) transforms, spherical harmonic transforms involving very general spherical grids, gridding/degridding tools for radio interferometry, 4pi spherical convolution operators and much more. +License: GPLv2+ +URL: https://gitlab.mpcdf.mpg.de/mtr/ducc +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1b/fe/74f92eaf5d19d9e7f49aa3f0ec0c8436ec461df4808975e17470045670cc/ducc0-0.30.0.tar.gz + +Requires: python3-numpy + +%description +This is a collection of basic programming tools for numerical computation, +including Fast Fourier Transforms, Spherical Harmonic Transforms, non-equispaced +Fourier transforms, as well as some concrete applications like 4pi convolution +on the sphere and gridding/degridding of radio interferometry data. +The code is written in C++17, but provides a simple and comprehensive Python +interface. +### Requirements +- [Python >= 3.7](https://www.python.org/) +- only when compiling from source: [pybind11](https://github.com/pybind/pybind11) +- only when compiling from source: a C++17-capable compiler, e.g. + - `g++` 7 or later + - `clang++` + - MSVC 2019 or later + - Intel `icpx` (oneAPI compiler series). (Note that the older `icpc` compilers + are not supported.) +### Sources +The latest version of DUCC can be obtained by cloning the repository via + git clone https://gitlab.mpcdf.mpg.de/mtr/ducc.git +### Licensing terms +- All source code in this package is released under the terms of the GNU + General Public License v2 or later. +- Some files (those constituting the FFT component and its internal + dependencies) are also licensed under the 3-clause BSD license. These files + contain two sets of licensing headers; the user is free to choose under which + of those terms they want to use these sources. +### Documentation +Online documentation of the most recent Python interface is available at +https://mtr.pages.mpcdf.de/ducc. +The C++ interface is documented at https://mtr.pages.mpcdf.de/ducc/cpp. +Please note that this interface is not as well documented as the Python one, +and that it should not be considered stable. +### Installation +For best performance, it is recommended to compile DUCC from source, optimizing +for the specific CPU on the system. This can be done using the command + pip3 install --no-binary ducc0 --user ducc0 +NOTE: compilation requires the appropriate compilers to be installed (see above) +and can take a significant amount of time (several minutes). +Alternatively, a simple + pip3 install --user ducc0 +will install a pre-compiled binary package, which makes the installation process +much quicker and does not require any compilers to be installed on the system. +However, the code will most likely perform significantly worse (by a factor of +two to three for some functions) than a custom built version. +Additionally, pre-compiled binaries are distributed for the following systems: + +Packaging status + +