Package: pypirun
pypirunThepypiruncommand is a utility that allows running a python command line script from a python package, even if it is
not installed.Table of contentsBackgroundInstallUsageExamplesContributeLicenseBackgroundThis utility was written to allow CI/CD Pipeline templates to be able to function properly when run in docker containers that did not have the python utility needed already installed.This allows the templates to continue to work in different docker containers without requiring redundant steps to install the needed python packages.InstallThis package can be installed using the Python pip package manager.In order to install this package the python environment must have:Python 3.6 or newerpip version 8.1.1 or highersetuptools 40.0.0 or higher$pipinstallpypirunUsageusage: pypirun [-h] [--interpreter INTERPRETER] [--debug] [--always_install] package command ...

positional arguments:
  package                    Comma seperated list of packages to install, this list cannot contain spaces
  command                    Command to run

optional arguments:
  -h, --help                 show this help message and exit
  --interpreter INTERPRETER  Python interpreter to use
  --debug                    Enable debug output
  --always_install           Install the command even if it exists in the path
  --upgrade_pip              Upgrade the pip before installing packages
  --upgrade_setuptools       Upgrade setuptools before installing packages

Everything on the command line after the package name is executed in an environment with the package installed and on 
the PATH.  As a result, the package and command must come after the optional arguments.

By default pypirun will run the already installed command from the $PATH in the environment if it is found.  The
--always_install flag will force it to install and run the command.ExamplesRun the serviceping utility from the python serviceping packageThe following will run the commandserviceping -c 1 yahoo.comfrom theservicepingpackage:dhubbard@mac:~$pypirunservicepingserviceping-c1yahoo.comSERVICEPING yahoo.com:80 (72.30.35.10:80).from yahoo.com:80 (72.30.35.10:80): time=65.50 ms                                                                                                                                                                                                                 --- yahoo.com ping statistics ---1 packages transmitted, 1 received, 0.0% package loss, time 73.038msrtt min/avg/max/dev = 65.50/65.50/65.50/0.00 msScrewdriver V4 pypirun commandThe pypirun package publishes a screwdriver v4 shared command calledpython/pypirun.This command will set up python if it is not installed and install and run a thepypiruncommand line utility.The following will run the commandserviceping -c 1 yahoo.comfrom theservicepingpackage using the screwdriver sd-cmd:sd-cmd python/pypirun@latest serviceping serviceping -c 1 yahoo.comContributePlease refer tothe contributing.md filefor information about how to get involved. We welcome issues, questions, and pull requests. Pull Requests are welcome.MaintainersDwight Hubbard:dhubbard@verizonmedia.comLicenseThis project is licensed under the terms of theBSDopen source license. Please refer toLICENSEfor the full terms.