Skip to main content

Execute commands on local machine and on remote machine via ssh, and a wrapper for paramikos scp.

shell command

Wrapper around subprocess.call with shell=True

shell(cmd)

Background Unix command running

Runs a blocking unix command and returns the result

cmd_run(cmd, pr=False, streamoutput=True, returnoutput=True, cwd=None, prefix=None)

# example
cmd_run('date "+%Y-%m-%d% %H:%M"', pr=False, streamoutput=False, returnoutput=True)

# more params
call_command(command, cmdfolder=os.getcwd(), verbose=False, streamoutput=True,\
             returnoutput=False, prefix=None, ret_and_code=False)

Parameters:

  • command: unix command

  • cmdfolder=os.getcwd() -> working folder command

  • verbose=False -> prints the command

  • streamoutput=True -> prints output to stdout (keeps buffering)

  • returnoutput=False -> return the buffered output

  • prefix=None -> string to place before streaming output

  • ret_and_code=False -> return exit code also (code, val)

Variant background unix command

Common usecase scenario, run a command and get the result, possibly print to the console using an optional filter.

# example filter:
def onlyerrors(data):
    if "ERROR" in data:
        return data

cmd_exec(cmd, cmdtoprint=None, display=True, myfilter=onlyerrors)
  • cmdtoprint: unix command

  • display: print to console

  • myfilter: function used to print

SSH: run command on remote machine

Uses ssh and key authentication to logon to a remote ssh server and execute a command there.

def remote_cmd(server, cmd, username=None, timeout=60, keypath=None):

#example
remote_cmd("localhost", "rm -Rf ~/Desktop/foobar")

Parameters:

  • server: ip or domain name of server

  • cmd: unix command to execute

  • username: username used to login

  • timeout: try time to connect to server

  • keypath: path to the public key of username

tuplebased interface:

remote_cmd_map(servercmd)
  • servercmd: tuple with ( server, cmd, username, keypath )

SSH: Secure Copy Protocol

scp_get(server, fp1, fp2, username=None, keypath=None)
scp_put(server, fp1, fp2, username=None, keypath=None)

Parameters:

  • server: ip or domain name of server

  • fp1: source filepath

  • fp2: target filepath

  • username: username used to login

  • keypath: path to the public key of username

SSH: Shell

Invoke a shell on a machine

invoke_shell(server, username, keypath)

Parameters:

  • server: ip or domain name of server

  • username: username used to login

  • keypath: path to the public key of username

Download file

Wrapper around the requests library. Downloads a file with a progress bar.

download(url, mypath):

parameters:

  • url: url to download

  • mypath: filepath where to create the downloaded file

example output:

download: http://download.thinkbroadband.com/5MB.zip
00:00:02|███████████████████████         | 3.7Mi/5.0Mi

Metadata

Release files for cmdssh 53

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cmdssh 53
File Size Uploaded
cmdssh-53.tar.gz 9.7 kB Details

Release files / cmdssh-53.tar.gz

Download URL cmdssh-53.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
54233e2dd96ba30040bbe7560f6a5f87f901ec337742093a4096d8b0faf42d30
BLAKE2b-256 checksum
How to use checksums
5951eeaa5caf6f1389074bf67f581a95c2e7ea4643e89c3dc0657dff77732975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

54

1 release file

This release

53 This release

1 release file

50

1 release file

49

1 release file

48

1 release file

47

1 release file

46

1 release file

45

1 release file

44

1 release file

43

1 release file

41

1 release file

40

1 release file

39

1 release file

38

1 release file

37

1 release file

36

1 release file

34

1 release file

33

1 release file

32

1 release file

31

1 release file

30

1 release file

29

1 release file

28

1 release file

27

1 release file

26

1 release file

25

1 release file

24

1 release file

23

1 release file

22

1 release file

21

1 release file

20

1 release file

19

1 release file

18

1 release file

16

1 release file

15

1 release file

14

1 release file

13

1 release file

12

1 release file

11

1 release file

10

1 release file

9

1 release file

8

1 release file

7

1 release file

6

1 release file

5

1 release file

4

1 release file

3

1 release file

1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page