Command Spawner
Project description
Command Spawner
Command Spawner is a non-blocking command runner library for Python.
Command Spawner runs commands at background and provides live output, error and finish data through the provided callback functions.
Installing
Install and update using pip:
$ pip install command-spawner
Example usage
# Triggered when received new stdout
def on_output(data):
print(f"Received data: {data}")
# Triggered when received new stderr
def on_error(data):
print(f"Received error: {data}")
# Triggered when the command execution has finished
def on_finished(data):
print(f"Finished with return code: {data}")
# Triggered when an exception has been thrown from the process module
def on_exception(exception):
print(f"Received exception: {exception}")
# or
raise exception
command_spawner = CommandSpawner(command="ping google.com",
on_output_callback=on_output, # Suppress output when it is not provided
on_error_callback=on_error, # Suppress error when it is not provided
on_finished_callback=on_finished, # Suppress return code when it is not provided
on_exception_callback=on_exception, # Raise exception on runtime when it is not provided
shell=False, # If True, the command will be executed through the shell (not recommended)
daemon=False # If True, current runtime will not wait for commands to be executed
)
# The method to run the process
command_spawner.run()
# The method to kill the current process
command_spawner.kill()
# The method to wait for the process to be finished
command_spawner.wait()
Enjoy!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
command_spawner-1.1.3.tar.gz
(3.4 kB
view hashes)
Built Distribution
Close
Hashes for command_spawner-1.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2996f7e9ca35e8ee78279fef18b22810175652a0984c0a6cb46b7cab045bbc2f |
|
MD5 | 66ba07f84d097119dac2d06be10ec12a |
|
BLAKE2b-256 | 2f8e494374ef33cb59a340a026f941d45c7d31f1a8d11cfb01a7a7b476c3e8dd |