Package: epew
Generalepew (ExternalProgramExecutionWrapper) is a tool to wrap program-calls with some useful functions.Important: epew is not ready for usage yet.Featuresepew is a commandline-tool. There is no gui. The main-advantage of epew is to be used whenit is difficult to pass special characters (backslashs, quotes, etc.) from commandline to another program (use epew with the--ArgumentIsBase64Encoded-switch).it is difficult to get stdout, stderr or the exitcode of the program (use epew with the--StdOutFile- or--StdErrFile- or--ExitCodeFile-switch).you want to have a simple timeout when running a program (use epew with the--TimeoutInMilliseconds-switch).you want to print the output to the console but also log the output into a file when running a program. Both (console and logfile) can of course have timestamps and a distinction between stderr and stdout.Other features:epew is available for Linux and Windows.epew resolves environment-variables (e. g. you can setgitas program instead ofC:\Program Files\Git\cmd\git.exe(which would also be possible)).Get epewInstallation via pip (Linux and Windows)pip install epewpip requiresPython3.8.
See thepypi-site of epewfor more information.Download sourcecode using git (Linux and Windows)git clone https://github.com/anionDev/externalProgramExecutionWrapper
cd externalProgramExecutionWrapper
dotnet build  ExternalProgramExecutionWrapper.slnInstallation via winget (Windows, planned)Coming as soon as possible. winget is new for all of us, that's why epew is not instant available via winget.Usage>epew
  -p, --Program                     Required. Program which should be executed
  -a, --Argument                    Argument for the program which should be
                                    executed
  -b, --ArgumentIsBase64Encoded     (Default: false) Specifiy whether Argument
                                    is base64-encoded
  -w, --Workingdirectory            Workingdirectory for the program which
                                    should be executed
  -v, --Verbosity                   (Default: Normal) Verbosity of
                                    ExternalProgramExecutionWrapper
  -i, --PrintErrorsAsInformation    (Default: false) Treat errors as information
  -h, --AddLogOverhead              (Default: false) Add log overhead
  -l, --LogFile                     Logfile for ExternalProgramExecutionWrapper
  -o, --StdOutFile                  File for the stdout of the executed program
  -e, --StdErrFile                  File for the stderr of the executed program
  -x, --ExitCodeFile                File for the exitcode of the executed
                                    program
  -d, --TimeoutInMilliseconds       (Default: 2147483647) Maximal duration of
                                    the execution process before it will by
                                    aborted by ExternalProgramExecutionWrapper
  -t, --Title                       Title for the execution-process
  -n, --NotSynchronous              (Default: false) Run the program
                                    asynchronously
  --help                            Display this help screen.
  --version                         Display version information.Exitcodes:2147393801: If no program was executed
2147393802: If a fatal error occurred
2147393803: If the executed program was aborted due to the given timeout
2147393881: If executed on MacOS (applies only to the pip-package)
2147393882: If executed on an unknown OS (applies only to the pip-package)
2147393883: If an (unexpected) exception occurred (applies only to the pip-package)If the executed program terminated then its exitcode will be set as exitcode of epew.Technical detailsThe pip-packageInstalling epew via pip does really install epew. It does not install another implementation of epew with same behavior. The pip-package of epew takes the binary-files of epew (which are written in C# and compiled for theruntimeswin-x64andlinux-x64), wraps them to a bundle and simple calls the correct one dependent on your OS.Strong nameThe officially releasedepew.dll-file is always signed with the key with the short-id79cae7246084aa22. Do not trust anyepew.dll-file which are not signed with this key.
Onlyepew.dllwill be signed with this key. All other files contained in a binary-release of epew are not signed by this key.
You can verify the key usingsnwithsn -T epew.dll.Licenseepew is licensed under the terms of MIT. The concrete license-text can be foundhere.