o
    þÎ3gü  ã                   @  s¨   d Z ddlmZ ddlZddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZmZmZmZ ddlmZmZmZ ddlmZ dZeZd	Zd
dlmZ dd„ Z dS )a  
Plumbum Shell Combinators
-------------------------
A wrist-handy library for writing shell-like scripts in Python, that can serve
as a ``Popen`` replacement, and much more::

    >>> from plumbum.cmd import ls, grep, wc, cat
    >>> ls()
    'build.py\ndist\ndocs\nLICENSE\nplumbum\nREADME.rst\nsetup.py\ntests\ntodo.txt\n'
    >>> chain = ls["-a"] | grep["-v", "py"] | wc["-l"]
    >>> print(chain)
    /bin/ls -a | /bin/grep -v py | /usr/bin/wc -l
    >>> chain()
    '12\n'
    >>> ((ls["-a"] | grep["-v", "py"]) > "/tmp/foo.txt")()
    ''
    >>> ((cat < "/tmp/foo.txt") | wc["-l"])()
    '12\n'
    >>> from plumbum import local, FG, BG
    >>> with local.cwd("/tmp"):
    ...     (ls | wc["-l"]) & FG
    ...
    13              # printed directly to the interpreter's stdout
    >>> (ls | wc["-l"]) & BG
    <Future ['/usr/bin/wc', '-l'] (running)>
    >>> f = _
    >>> f.stdout    # will wait for the process to terminate
    '9\n'

Plumbum includes local/remote path abstraction, working directory and environment
manipulation, process execution, remote process execution over SSH, tunneling,
SCP-based upload/download, and a {arg|opt}parse replacement for the easy creation
of command-line interface (CLI) programs.

See https://plumbum.readthedocs.io for full details
é    )ÚannotationsN)ÚBGÚERROUTÚFGÚNOHUPÚRETCODEÚTEEÚTFÚCommandNotFoundÚProcessExecutionErrorÚProcessLineTimedOutÚProcessTimedOut)ÚBaseRemoteMachineÚPuttyMachineÚ
SshMachineÚlocal)Ú	LocalPathÚPathÚ
RemotePath)Úversionz$Tomer Filiba (tomerfiliba@gmail.com))r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Ú
__author__Ú__version__Úcmdé   )r   c                   C  s   t S )zSupport nice tab completion)Ú__all__© r   r   úH/home/garg/my-data/venv/lib/python3.10/site-packages/plumbum/__init__.pyÚ__dir__Y   s   r   )!Ú__doc__Ú
__future__r   Úplumbum.pathÚplumbumÚplumbum.commandsr   r   r   r   r   r   r	   r
   r   r   r   Úplumbum.machinesr   r   r   r   r   r   r   Úplumbum.versionr   r   r   r   Ú r   r   r   r   r   r   Ú<module>   s    %4