## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 7; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global _description %{expand: The pathos package provides a few basic tools to make parallel and distributed computing more accessible to the end user. The goal of pathos is to enable the user to extend their own code to parallel and distributed computing with minimal refactoring. pathos provides methods for configuring, launching, monitoring, and controlling a service on a remote host. One of the most basic features of pathos is the ability to configure and launch a RPC-based service on a remote host. pathos seeds the remote host with the portpicker script, which allows the remote host to inform the localhost of a port that is available for communication. Beyond the ability to establish a RPC service, and then post requests, is the ability to launch code in parallel. Unlike parallel computing performed at the node level (typically with MPI), pathos enables the user to launch jobs in parallel across heterogeneous distributed resources. pathos provides distributed map and pipe algorithms, where a mix of local processors and distributed workers can be selected. pathos also provides a very basic automated load balancing service, as well as the ability for the user to directly select the resources. The high-level pool.map interface, yields a map implementation that hides the RPC internals from the user. With pool.map, the user can launch their code in parallel, and as a distributed service, using standard python and without writing a line of server or parallel batch code. RPC servers and communication in general is known to be insecure. However, instead of attempting to make the RPC communication itself secure, pathos provides the ability to automatically wrap any distributed service or communication in a ssh-tunnel. Ssh is a universally trusted method. Using ssh-tunnels, pathos has launched several distributed calculations on national lab clusters, and to date has performed test calculations that utilize node-to-node communication between several national lab clusters and a user's laptop. pathos allows the user to configure and launch at a very atomic level, through raw access to ssh and scp. pathos is the core of a python framework for heterogeneous computing. pathos is in active development, so any user feedback, bug reports, comments, or suggestions are highly appreciated. A list of issues is located at https://github.com/uqfoundation/pathos/issues, with a legacy list maintained at https://uqfoundation.github.io/project/pathos/query.} Name: python-pathos Version: 0.2.8 Release: %autorelease Summary: Parallel graph management and execution in heterogeneous computing License: BSD URL: https://pypi.org/pypi/pathos Source0: %{pypi_source pathos %{version} zip} BuildArch: noarch %description %_description %package -n python3-pathos Summary: %{summary} BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros %description -n python3-pathos %_description %package doc Summary: Documentation for %{name} %description doc This package includes examples for %{name}. %prep %autosetup -n pathos-%{version} # remove shebang find . -name "*.py" -exec sed -i '/^#![ ]*\/usr\/bin\/env.*$/ d' '{}' \; # Remove executable bit chmod -x examples/*.py chmod -x examples2/*.py %generate_buildrequires %pyproject_buildrequires -t %build %pyproject_wheel %install %pyproject_install %pyproject_save_files pathos %check export PYTHONPATH="%{buildroot}/%{python3_sitearch}:%{buildroot}/%{python3_sitelib}" # https://github.com/uqfoundation/pathos/blob/master/.travis.yml for test in tests/__init__.py; do echo $test ; %{python3} $test ; done for test in tests/test_*.py; do echo $test ; %{python3} $test ; done %files -n python3-pathos -f %{pyproject_files} %license LICENSE %{_bindir}/portpicker %{_bindir}/pathos_connect %doc README.md README %files doc %license LICENSE %doc README.md README %doc examples/ %doc examples2/ %changelog * Fri Jan 20 2023 Fedora Release Engineering 0.2.8-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Jul 22 2022 Fedora Release Engineering 0.2.8-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jul 05 2022 Ankur Sinha (Ankur Sinha Gmail) 0.2.8-5 - feat: drop sphinx docs * Fri Jan 21 2022 Fedora Release Engineering - 0.2.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Sep 03 2021 Ankur Sinha - 0.2.8-1 - Correct typos - Remove unneded egg removal command - Correct PYTHONPATH setter command - Use python3 over __python3 * Thu Sep 02 2021 Ankur Sinha - 0.2.8-1 - Initial build - Do not use unversioned python command