Normalize environment variables before launching a subprocess.None means “omit this key” for subprocess launch paths. Downstream APIs
like subprocess, anyio.open_process, and os.environ.update(...) all
expect concrete string values.
Serialize a command list to a platform-neutral string.We use POSIX shell quoting so stored commands round-trip across platforms
when paired with command_from_string.
Parse a command string back into argv tokens.Prefect-owned command strings use POSIX shell quoting. Other command
strings keep native parsing so existing Windows configuration still works.
Use of our open_process utility to ensure resources are cleaned up
Simple stream_output support to connect the subprocess to the parent stdout/err
Support for submission with TaskGroup.start marking as ‘started’ after the
process has been created. When used, the PID is returned to the task status.