![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Parallel SSH jobs manager CLI (alternative to parallel-ssh)
Take a look at run-para if you need to run parallel jobs parameterized
pip install ssh-para
By default, ssh-para
uses Nerd Fonts glyphs, modern terminals can now render the glyphs without installing specific font (the symbols can be overridden with SSHP_SYM_* environment variables, see below)
Run command on multiple hosts:
$ ssh-para -H host1 host2 host3 -- echo connection ok
Review last run results:
$ ssh-para -l
Review hosts statuses for last run:
$ ssh-para -L *.status
View failed hosts list:
$ ssh-para -L failed.status
Show output of command on all hosts:
$ ssh-para -L *.out
Show output of command for failed hosts:
$ ssh-para -L *.failed
Show output of command for host1:
$ ssh-para -L host1.out
ssh-para -h
usage: ssh-para [-h] [-V] [-j JOB] [-d DIRLOG] [-m MAXDOTS] [-p PARALLEL] [-t TIMEOUT] [-r] [-v] [-D DELAY]
[-f HOSTSFILE | -H HOSTS [HOSTS ...] | -C {bash,zsh,powershell} | -l | -L LOGS [LOGS ...]] [-s SCRIPT]
[-a ARGS [ARGS ...]]
[ssh_args ...]
ssh-para v1.ssh-para.dev
positional arguments:
ssh_args
options:
-h, --help show this help message and exit
-V, --version ssh-para version
-j JOB, --job JOB Job name added subdir to dirlog
-d DIRLOG, --dirlog DIRLOG
directory for ouput log files (default: ~/.ssh-para)
-m MAXDOTS, --maxdots MAXDOTS
hostname domain displaylevel (default:1 => short hostname, -1 => fqdn)
-p PARALLEL, --parallel PARALLEL
parallelism (default 4)
-t TIMEOUT, --timeout TIMEOUT
timeout of each job
-r, --resolve resolve fqdn in SSHP_DOMAINS
-v, --verbose verbose display (fqdn + line for last output)
-D DELAY, --delay DELAY
initial delay in seconds between ssh commands (default=0.3s)
-f HOSTSFILE, --hostsfile HOSTSFILE
hosts list file
-H HOSTS [HOSTS ...], --hosts HOSTS [HOSTS ...]
hosts list
-C {bash,zsh,powershell}, --completion {bash,zsh,powershell}
autocompletion shell code to source
-l, --list list ssh-para results/log directories
-L LOGS [LOGS ...], --logs LOGS [LOGS ...]
get latest/current ssh-para run logs
-L[<runid>/]*.out : all hosts outputs
-L[<runid>/]<host>.out : command output of host
-L[<runid>/]*.<status> : command output of hosts <status>
-L[<runid>/]*.status : hosts lists with status
-L[<runid>/]<status>.status: <status> hosts list
-L[<runid>/]hosts.list : list of hosts used to connect (resolved if -r)
default <runid> is latest ssh-para run (use -j <job> -d <dir> to access logs if used for run)
<status>: [success,failed,timeout,killed,aborted]
-s SCRIPT, --script SCRIPT
script to execute
-a ARGS [ARGS ...], --args ARGS [ARGS ...]
script arguments
During run, use :
Environment variables:
Activate autocompletion:
. <(ssh-para -C bash)
ssh-para -C powershell | Out-String | Invoke-Expression
Patch redhat family hosts:
ssh-para -p 20 -f hostlist.txt -- 'sudo yum update -y;sudo shutdown -r +1'
Use specific ssh options / config (everything after --
will be passed to ssh command as is):
ssh-para -p 20 -H host1 host2 -- -F ~/.ssh/myconfig echo connect ok
Launch local script with argument on remote hosts:
ssh-para -p 20 -f hosts.txt -s ./myscript -a status
Extend limited resolv.conf search domains (try to resolve host in each domain, first resolved in the domain list is used as fqdn):
SSHP_DOMAINS="domain1.com domain2.com" ssh-para -r -H host1 host2 -- echo connect ok
screen
to launch ssh-para, as if you lose your connection, ssh-para will be still running and you can re-attach to screen
to continue follow-up.FAQs
Interactive Parallel SSH jobs manager
We found that ssh-para demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.