Skip to main content

Provides a clean way to express scripts such as shell or sql inside your python code..

Project description

Magic Run Command

This provide a clean way to express scripts inside your python code. The run engine will be shell by default. This will allow you to run shell scripts from your python code.

from magic_cmd.script import Script

cmd = Script('''
        ls
        touch test.py
        ls
        rm test.py
        ''')
restults:list[str] = cmd()

Installation:

pip

You can install it via pip:

pip install magic-run-cmd

poetry

To install this code, you will need to first install Poetry (https://python-poetry.org/docs/#installation). Poetry is a dependency manager for Python that will allow you to easily install this code and its dependencies.

Once you have Poetry installed, you can install this code by running the following command from the root directory of this code:

poetry add magic-run-cmd

This will install this code and all of its dependencies.

Usage:

To run a simple shell command you can use run_cmd. This is what the shell engine uses under the hood:

from magic_cmd.run_cmd import run_cmd

print(run_cmd('ls'))

output:
LICENSE  README.md  log/  poetry.lock  pyproject.toml  run_cmd/

Then, you can call the run_cmd function with a shell command as a string:

If an error thrown it caught, and logged before, erroring out.

You can also specify whether you want the output to be returned as a list or a string:

run_cmd('ls', split=True)

This will output the result as a list, with each element being one line of output.

Script

Scripts allow you express you script inside your python code inside triple quote. The extra white spaces are removed so format as needed. Scripts can be append using append(str). Or you can add str or other Scripts. Since the scripts are callable, to run a script just call its name followed by ().

        script = Scripts('''
        echo "This is a line"
        echo "The white space are ignored"
        ''')
        script()
        script += 'echo "you can add string"'
        script += Script('echo "or another Script"')
        script.append("And you can append too")
        script()
        #[
        # This is a line,
        #The white space are ignored,
        #you can add string,
        #or another Script
        #And you can append too,
        #]
        #Write to a file and return the path
        shell_script:Path = script.writefile(name="shell.sh")

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

magic_run_cmd-2.3.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

magic_run_cmd-2.3.2-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file magic_run_cmd-2.3.2.tar.gz.

File metadata

  • Download URL: magic_run_cmd-2.3.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.9 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for magic_run_cmd-2.3.2.tar.gz
Algorithm Hash digest
SHA256 ba07401934b1d7d6da0bb4f57e72c25c3cdbb3645d63f0561ec324113e1444cc
MD5 46588a3b41de310c9641685486b1a59c
BLAKE2b-256 cada0a4db52f8f0312f51f2cbc96337cf2381acdf6d688e1b65910a43fd23e07

See more details on using hashes here.

File details

Details for the file magic_run_cmd-2.3.2-py3-none-any.whl.

File metadata

  • Download URL: magic_run_cmd-2.3.2-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.9 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for magic_run_cmd-2.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c1df75cd818b5670a292e896d1dda43019bf79032384058090909b7eb5509a31
MD5 6aadc8475932b928b355d968316541e0
BLAKE2b-256 a451fd4ffbd0e16fabfdc34c82db6c34f55c4fffd0166c2477f89c909e248a40

See more details on using hashes here.

Supported by

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