Python packages DevOps dünyasında otomasyonun can damarı. Ansible, Jenkins ve Terraform gibi araçlar sahneye hakim olsa da, Python sessizce perde arkasındaki script’lerin, otomasyonların ve entegrasyonların çoğunu besliyor.

DevOps Engineer olarak CI/CD pipeline’ları kuruyor, monitoring sistemleri geliştiriyor ya da infrastructure yönetiyorsanız, Python’un zengin ecosystem’i hayatınızı kolaylaştıracak kütüphanelerle dolu. Bu makalede her DevOps engineer’ın bilmesi gereken 10 temel python packages paylaşacağım. Ya zaten kullanıyorsunuz ya da yakında bir çözüm bulduğunuzda kullanacaksınız.

python packages

Requests — HTTP için İsviçre Çakısı

Otomasyon script’lerinizin API’larla konuşması gerektiğinde, requests Python’daki en iyi arkadaşınız. Basit, insan dostu ve authentication, header’lar ve JSON’ı kolaylıkla hallediyor.

import requests

response = requests.get("https://api.github.com/repos/imshakil/pacli")
print(response.json()["description"])

Kullanım Alanları:

  • API’lardan build tetikleme
  • Monitoring metriklerini çekme
  • REST ile cloud resource’ları yönetme

Dokümantasyon: requests.readthedocs.io

Paramiko — Acısız SSH Otomasyonu

DevOps engineer’lar sık sık remote server’larda komut çalıştırması gerekiyor. paramiko SSH ile bağlanıp programatik olarak komut çalıştırmanızı sağlıyor.

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("n8n.fusionpulse.tech", username="user", password="skipass")

stdin, stdout, stderr = ssh.exec_command("uptime")
print(stdout.read().decode())
ssh.close()

Kullanım Alanları:

  • Birden fazla server’a update deploy etme
  • Remote log toplama
  • Server provisioning otomasyonu

Daha fazla bilgi: paramiko.org

Boto3 — AWS Otomasyonu Kolaylaştı

Infrastructure’ınız AWS’te yaşıyorsa, boto3 resource oluşturmak ve yönetmek için vazgeçilmez SDK.

import boto3

ec2 = boto3.client("ec2")
instances = ec2.describe_instances()
print(instances)

Kullanım Alanları:

  • EC2 instance’ları ayağa kaldırma
  • S3 bucket’ları yönetme
  • Backup otomasyonu

Dokümantasyon: boto3.amazonaws.com

Fabric — Remote Task Orkestrasyonu

fabric‘i SSH üzerinde daha üst seviye wrapper olarak düşünün. Birden fazla server’da komut çalıştırmayı kolaylaştırıyor.

from fabric import Connection

c = Connection('n8n.fusionpulse.tech', user='imshakil')
c.run('sudo systemctl restart nginx')

Kullanım Alanları:

  • Kod deploy etme
  • Service’leri restart etme
  • Configuration rollout

Daha fazla bilgi: fabfile.org

PyYAML — Configuration Management’ın Basit Hali

YAML DevOps’ta her yerde (Ansible, Docker Compose, Kubernetes, CI/CD config’ler). PyYAML Python’da YAML dosyalarını okuyup yazmanızı sağlıyor.

import yaml

with open("config.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Kullanım Alanları:

  • Kubernetes manifest’leri parse etme
  • CI/CD configuration’ları okuma
  • Dinamik config dosyaları üretme

Dokümantasyon: pyyaml.org

Docker SDK — Container’ları Python ile Yönet

Docker ile çalışıyorsanız, docker Python package’ı container yönetimini otomatikleştirmenizi sağlıyor.

import docker

client = docker.from_env()
print(client.containers.list())

Kullanım Alanları:

  • Container build’lerini otomatikleştirme
  • Container status monitoring
  • Kullanılmayan container/image’ları temizleme

Dokümantasyon: docker-py.readthedocs.io

Rich — Beauty CLI Output

Log’lar ve command-line araçları sıkıcı olmak zorunda değil. rich renkli, iyi formatlanmış output ve tablolar oluşturmanızı sağlıyor.

from rich.console import Console

console = Console()
console.print("[bold green]Deployment successful![/bold green]")

Kullanım Alanları:

  • Deployment script’lerini user-friendly yapma
  • Log’ları real time görselleştirme
  • CLI dashboard’ları oluşturma

Link: rich.readthedocs.io

Psutil — Sistem Monitoring Parmaklarınızın Ucunda

psutil CPU, memory, disk ve process’ler hakkında sistem seviyesi bilgi sağlıyor — health check yazma için mükemmel.

import psutil

print(f"CPU Usage: {psutil.cpu_percent()}%")
print(f"Memory Available: {psutil.virtual_memory().available / 1024**2} MB")

Kullanım Alanları:

  • Custom monitoring araçları kurma
  • Scaling kararlarını otomatikleştirme
  • Resource kullanım metriklerini toplama

Link: psutil.readthedocs.io

Kubernetes SDK — Cluster’larınızı Otomatikleştirin

Kubernetes Python SDK (kubernetes) Kubernetes cluster’larıyla programatik olarak etkileşim kurmanızı sağlıyor.

from kubernetes import client, config

config.load_kube_config()
v1 = client.CoreV1Api()

for pod in v1.list_pod_for_all_namespaces().items:
    print(f"{pod.metadata.namespace}:{pod.metadata.name}")

Kullanım Alanları:

  • Application’ları otomatik deploy etme
  • Script’lerden workload’ları scale etme
  • Cluster health bilgilerini toplama

Link: github.com/kubernetes-client/python

Ansible Runner — Python’dan Ansible Otomasyonu

Infrastructure otomasyonunuz zaten Ansible kullanıyorsa, ansible-runner playbook’ları doğrudan Python script’lerinden çalıştırmanızı sağlıyor.

import ansible_runner

r = ansible_runner.run(
    private_data_dir='/path/to/project',
    playbook='site.yml'
)
print(r.status)

Kullanım Alanları:

  • Ansible’ı CI/CD pipeline’larına entegre etme
  • API’lardan config değişikliklerini tetikleme
  • Monitoring alert’lerinden playbook execution otomasyonu

Link: ansible.readthedocs.io/projects/runner

Sonuç

Bu 10 Python paketiyle, sunucu erişiminden Kubernetes dağıtımlarına kadar pek çok işi tek akışta otomatikleştirebilirsiniz. Örneğin talimatları requests ile alın, sunucuyu Paramiko ile yapılandırın, container’ı Docker SDK ile başlatın. Doğru yerde kullandığınızda süreçler hızlanır, sistemler de daha güvenilir olur

Python’un gücünü DevOps dünyasında kesinlikle kullanmalısınız.

İlginizi çekerse aşağıdaki yazılarıma da göz atabilirsiniz;

SRE/DevOps Engineer’lar Neden Claude Code Kullanmalı?

Temiz Shell Script Yazmanın Yolları: 10 Etkili Bash Fonksiyonu

En İyi 17 Adet Linux Ağ ve Sorun Giderme Komutları