Metadata-Version: 2.1
Name: pydaffodil
Version: 1.0.2
Summary: A reusable deployment framework for Python.
Author: Mark Wayne Menorca
Author-email: marcuwynu23@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: paramiko
Requires-Dist: tqdm
Requires-Dist: colorama

# PyDaffodil

`pydaffodil` is a reusable deployment framework for Python, designed to simplify the process of deploying applications to remote vps servers.

## Features

- Check for admin privileges
- Run shell commands
- Transfer files using SCP
- Execute SSH commands
- Modular and reusable deployment steps

## Installation

```bash
pip install daffodil-cli

```

## Usage

```py
from pydaffodil import Daffodil

cli = Daffodil(remote_user="root", remote_host="123.221.11.243", remote_path="/root/prod/bccs")

steps = [
    {"step": "Build the project", "command": lambda: cli.run_command("npm run build")},
    {"step": "Stop backend process on remote server", "command": lambda: cli.ssh_command("sudo forever stop 1")},
    {"step": "Transfer files to remote server", "command": lambda: cli.transfer_files("build")},
    {"step": "Restart backend process on remote server", "command": lambda: cli.ssh_command("sudo forever restartall")}
]

cli.deploy(steps)
```
