Skip to main content

Putty-ES

██████╗ ██╗   ██╗████████╗████████╗██╗   ██╗      ███████╗███████╗
██╔══██╗██║   ██║╚══██╔══╝╚══██╔══╝╚██╗ ██╔╝      ██╔════╝██╔════╝
██████╔╝██║   ██║   ██║      ██║    ╚████╔╝ █████╗█████╗  ███████╗
██╔═══╝ ██║   ██║   ██║      ██║     ╚██╔╝  ╚════╝██╔══╝  ╚════██║
██║     ╚██████╔╝   ██║      ██║      ██║         ███████╗███████║
╚═╝      ╚═════╝    ╚═╝      ╚═╝      ╚═╝         ╚══════╝╚══════╝
                    Elite Server Setup & Management

Putty-ES is a modern open-source framework for automated server provisioning, configuration management, offline PyPI packaging (ppiRuler) and a polished GUI with animated startup.

Release License: MIT

Features

Server Management

  • Configuration-driven (YAML / TOML)
  • Smart modules (12+ built-in)
  • SSH-first, idempotent operations
  • Beautiful Rich CLI

ppiRuler

  • Download any PyPI package
  • Build offline artifacts: Windows EXE, Linux binary, HTML, INI, DLL notes
  • No runtime network calls to package servers

GUI

  • Animated splash screen on every start
  • Dark modern UI (CustomTkinter)
  • Tabs: Server Management · ppiRuler · About

Release pipeline

  • GitHub Actions builds Linux / Windows / macOS binaries with PyInstaller
  • Wheels + sdists
  • Automatic GitHub Releases on tags and manual workflow_dispatch

Installation

pip install putty-es

From source:

git clone https://github.com/SlabyLol/Putty-ES.git
cd Putty-ES
pip install -e ".[full]"
# or
bash scripts/install.sh

Windows:

.\scripts\install.ps1

Quick Start

# GUI (animated startup)
putty-es --gui
putty-es gui
putty-es-gui

# CLI
putty-es init
putty-es apply configs/example-webserver.yaml
putty-es modules

# ppiRuler – offline package
putty-es ppi build requests
putty-es ppi build rich -t exe -t html -t ini -o ./offline-rich

Smart Modules

Module Purpose
packages apt / dnf / yum / apk / pacman
pypi Python packages on remote hosts
docker Docker Engine + images + containers
firewall ufw / firewalld
system hostname, timezone, services, sysctl
ssh keys + hardening
nginx sites & reverse proxies
users users, groups, sudo, SSH keys
files directories & file content
cron idempotent cron jobs
certbot Let's Encrypt SSL
monitoring tools + health script

See docs/MODULES.md.

Example Configs

  • configs/example-minimal.yaml
  • configs/example-webserver.yaml
  • configs/example-full-stack.yaml
  • configs/example-database.yaml
  • configs/example-docker-host.yaml

Create a Release

git tag v0.3.0
git push origin v0.3.0

Option B – Manual workflow

  1. Go to Actions → Build & Release Putty-ES
  2. Click Run workflow
  3. Optionally enter a version (e.g. v0.3.0)
  4. The release job now runs on both tags and workflow_dispatch (no longer skipped)

Artifacts published:

  • putty-es-linux-x64
  • putty-es-windows-x64.exe
  • putty-es-macos-x64
  • GUI binaries (when available)
  • Python wheel + sdist

Project layout

Putty-ES/
├── .github/workflows/
│   ├── release.yml      # multi-OS build + GitHub Release
│   └── ci.yml
├── configs/             # example fleets
├── docs/                # MODULES, PPIRULER, GUI
├── scripts/             # install.sh, install.ps1, build_local.sh
├── src/putty_es/
│   ├── cli.py
│   ├── core/
│   ├── modules/         # 12 smart modules
│   ├── ppi_ruler/
│   └── gui/             # splash + main window
├── tests/
├── CHANGELOG.md
├── LICENSE
└── pyproject.toml

License

MIT – free for personal and commercial use.


Putty-ES – servers, offline packages, GUI and real releases.

Release files for putty-es 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for putty-es 0.3.0
File Size Uploaded
putty_es-0.3.0.tar.gz 37.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for putty-es 0.3.0
File Interpreter ABI Platform
putty_es-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 76.9 kB

Release files / putty_es-0.3.0.tar.gz

Download URL putty_es-0.3.0.tar.gz
Size 37.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c8add084502a318446370ce41f555a3dc08aaefc9b751cd15ec7b12519905552
BLAKE2b-256 checksum
How to use checksums
158b8cbe7461bb180e3db4c70901b9683fec4620f5417d2cc6f8847a349b7112
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / putty_es-0.3.0-py3-none-any.whl

Download URL putty_es-0.3.0-py3-none-any.whl
Size 39.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2bd3f01883d6493a430ad0a0b4ea407de3697c0b1b69d5aa2e699e498c8dc6c
BLAKE2b-256 checksum
How to use checksums
ae624695b04ea304f0d4688e9461e9f71cdbd1821e7124771916220ee49b63bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.1

2 release files

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page