diff options
Diffstat (limited to 'python-pyfora.spec')
-rw-r--r-- | python-pyfora.spec | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/python-pyfora.spec b/python-pyfora.spec new file mode 100644 index 0000000..f0c5b03 --- /dev/null +++ b/python-pyfora.spec @@ -0,0 +1,129 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyfora +Version: 0.5.10 +Release: 1 +Summary: A library for parallel execution of Python code in the Ufora runtime +License: Apache +URL: http://www.ufora.com/ +Source0: https://mirrors.aliyun.com/pypi/web/packages/f6/c2/05ed3a730dcc4f815fba017c4d9158ec1e096e2432f1c431aabb0170446c/pyfora-0.5.10.tar.gz +BuildArch: noarch + + +%description +pyfora is the client package for Ufora_ - a compiled, automatically parallel Python for data science +and numerical computing. +Ufora achieves speed and scale by reasoning about your python code to compile +it to machine code (so it's fast) and find parallelism in it (so that it scales). The Ufora +runtime is fully fault tolerant, and handles all the details of data +management and task scheduling transparently to the user. +The Ufora runtime is invoked by enclosing code in a "ufora.remote" block. Code +and objects are shipped to a Ufora cluster and executed in parallel across +those machines. Results are then injected back into the host python +environment either as native python objects, or as handles (in case the +objects are very large). This allows you to pick the subset of your code that +will benefit from running in Ufora - the remainder can run in your regular +python environment. +For all of this to work properly, Ufora places one major restriction on +the code that it runs: it must be "pure", meaning that it cannot modify data +structures or have side effects. This restriction allows the Ufora runtime to +agressively reorder calculations, which is crucial for +parallelism, and allows it to perform compile-time +optimizations than would not be possible otherwise. For more on the subset of python +that Ufora supports, see `python restrictions`_. + +%package -n python3-pyfora +Summary: A library for parallel execution of Python code in the Ufora runtime +Provides: python-pyfora +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyfora +pyfora is the client package for Ufora_ - a compiled, automatically parallel Python for data science +and numerical computing. +Ufora achieves speed and scale by reasoning about your python code to compile +it to machine code (so it's fast) and find parallelism in it (so that it scales). The Ufora +runtime is fully fault tolerant, and handles all the details of data +management and task scheduling transparently to the user. +The Ufora runtime is invoked by enclosing code in a "ufora.remote" block. Code +and objects are shipped to a Ufora cluster and executed in parallel across +those machines. Results are then injected back into the host python +environment either as native python objects, or as handles (in case the +objects are very large). This allows you to pick the subset of your code that +will benefit from running in Ufora - the remainder can run in your regular +python environment. +For all of this to work properly, Ufora places one major restriction on +the code that it runs: it must be "pure", meaning that it cannot modify data +structures or have side effects. This restriction allows the Ufora runtime to +agressively reorder calculations, which is crucial for +parallelism, and allows it to perform compile-time +optimizations than would not be possible otherwise. For more on the subset of python +that Ufora supports, see `python restrictions`_. + +%package help +Summary: Development documents and examples for pyfora +Provides: python3-pyfora-doc +%description help +pyfora is the client package for Ufora_ - a compiled, automatically parallel Python for data science +and numerical computing. +Ufora achieves speed and scale by reasoning about your python code to compile +it to machine code (so it's fast) and find parallelism in it (so that it scales). The Ufora +runtime is fully fault tolerant, and handles all the details of data +management and task scheduling transparently to the user. +The Ufora runtime is invoked by enclosing code in a "ufora.remote" block. Code +and objects are shipped to a Ufora cluster and executed in parallel across +those machines. Results are then injected back into the host python +environment either as native python objects, or as handles (in case the +objects are very large). This allows you to pick the subset of your code that +will benefit from running in Ufora - the remainder can run in your regular +python environment. +For all of this to work properly, Ufora places one major restriction on +the code that it runs: it must be "pure", meaning that it cannot modify data +structures or have side effects. This restriction allows the Ufora runtime to +agressively reorder calculations, which is crucial for +parallelism, and allows it to perform compile-time +optimizations than would not be possible otherwise. For more on the subset of python +that Ufora supports, see `python restrictions`_. + +%prep +%autosetup -n pyfora-0.5.10 + +%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-pyfora -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.10-1 +- Package Spec generated |