Skip to main content

Automate interactive CLI tools actions

Project description

pexpect-executor

Build Bugs Code Smells Coverage Lines of Code Quality Gate Status

Automate interactive CLI tools actions to create previews or tests in Python.


Preview

preview.svg


CLI examples

pexpect-executor --help
pexpect-executor --down --down --down --down --down --space --enter -- gitlabci-local -H -B
pexpect-executor --press a --press a --enter -- gitlabci-local
pexpect-executor --ctrl c -- gitlabci-local

Python examples

#!/usr/bin/env python3

# Modules libraries
from pexpect_executor import Executor

# Configure
Executor.configure(host='previews', tool='pexpect-executor')

# List
Executor('ls -la', workdir='/').\
    finish()

# More
Executor('ls -la | more -5', delay_press=0.5, workdir='/').\
    read().\
    press('s').\
    read().\
    press('s').\
    read().\
    press('b').\
    read().\
    press('b').\
    read().\
    press(' ').\
    read().\
    wait(1).\
    press(Executor.KEY_ENTER).\
    read().\
    wait(1).\
    press('q').\
    finish()

# Prompt
Executor('').\
    finish()

Usage

Command
pexpect-executor Automate interactive CLI tools actions
Internal arguments
-h, --help Show this help message
--version Show the current version
Configuration arguments
--delay-init SECS Delay the initial action execution (in s, default: 1.0)
--delay-press SECS Delay the press actions execution (in s, default: 0.5)
--delay-prompt SECS Delay the prompt actions execution (in s, default: 1.0)
--hold-prompt Hold the prompt execution without a new line
--host HOST Configure the host name (default: preview, env: EXECUTOR_HOST)
--tool TOOL Configure the tool name (default: executor, env: EXECUTOR_TOOL)
--workdir WORKDIR Use a specific working directory path
Actions arguments
--up Press the <UP> key
--down Press the <DOWN> key
--left Press the <LEFT> key
--right Press the <RIGHT> key
--enter Press the <ENTER> key
--space Press the <SPACE> key
--press KEY Press the specified <KEY>
--ctrl KEY Press the specified Ctrl+<KEY>
--read Read the buffered data output (forced)
--wait SECS Wait the specified time (in s, example: 1.0)
--finish Finish the execution (forced)
Positional arguments
command Command arguments to execute (use -- to separate)

Supported systems

Systems Supported
Linux (shell)
macOS (shell) ?
Windows (shell) ~
Android (Termux)

Dependencies

  • colored: Terminal colors and styles
  • pexpect: Interactive console applications controller
  • setuptools: Build and manage Python packages
  • wexpect: Windows alternative of pexpect

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pexpect_executor-2.1.1-py3-none-any.whl (19.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page