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.1

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.1
File Size Uploaded
putty_es-0.3.1.tar.gz 40.3 kB Details

Built distribution (wheel)

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

Total release size: 82.7 kB

Release files / putty_es-0.3.1.tar.gz

Download URL putty_es-0.3.1.tar.gz
Size 40.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6c95deaf16fb33994ca92bd55d6a5fe493eb53bad4f0c62c257a392af14bd69a
BLAKE2b-256 checksum
How to use checksums
2132f7f464d3eff3c343b4b037e68d7bc66a29bee3946da025eab34e420864f6
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 18, 2026.

Transparency log

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

Download URL putty_es-0.3.1-py3-none-any.whl
Size 42.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
517130edd23aef259a6e6003d2cc4d7cfda79ea7f7cd7ab13b8501bffd78f220
BLAKE2b-256 checksum
How to use checksums
9a0101398a74e8c45a97ced69e057b0688be3dcde2fe33e78702de6b83ac463c
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 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

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