Python geliştiricileri için kod yürütme süreci hiç bu kadar basit olmamıştı. Jhansi, altı hafta önce sadece HTTP istekleri ve manuel temizlikle çalışan bir ortamdan, bugün sadece birkaç satır kodla izole Docker ortamlarında kod çalıştırmanın kapılarını aralıyor. Yeni Python SDK’sı, geliştiricilerin karmaşık altyapı yönetiminden kurtulmasını sağlayarak, odaklarını kod yazmaya odaklamalarına imkan tanıyor.
Jhansi SDK’sının Devreye Girmesiyle Yaşanan Dönüşüm
Altı hafta öncesine kadar, jhansi.io üzerinde kod çalıştırmak için geliştiricilerin elle HTTP istekleri göndermek, sandbox kimliklerini yönetmek ve kullanım sonrasında ortamları temizlemek zorunda kalmaları gerekiyordu. Bu süreç, kaynak sızıntılarına yol açabiliyor ve özellikle yapay zeka ajanları tarafından programatik olarak sandbox oluşturulan senaryolarda ciddi sorunlara neden olabiliyordu.
Bugün ise durum tamamen değişti. Jhansi’nin yeni Python SDK’sı ile geliştiriciler, sadece birkaç satır kod yazarak kodlarını izole ortamlarda çalıştırabiliyor ve otomatik olarak temizlik yapılmasını sağlayabiliyor. Bu yenilik, altyapı yönetiminin karmaşıklığını ortadan kaldırırken, geliştirme sürecini de hızlandırıyor.
from jhansi import Sandbox
with Sandbox(language="python") as sb:
sb.upload_file("main.py")
result = sb.exec("python main.py")
print(result["output"])Yukarıdaki basit kod bloğu, geliştiricilerin artık sandbox oluşturma, dosya yükleme ve kod çalıştırma gibi işlemleri elle yönetmek zorunda kalmadan, sadece Python kodu yazarak hedeflerine ulaşmalarını sağlıyor.
Kaynak Sızıntılarını Önleyen Bağlam Yöneticisi
Sandbox’ların elle yönetilmesi, özellikle unutulan temizlik işlemleri nedeniyle kaynak sızıntılarına yol açabiliyordu. Jhansi’nin sunduğu bağlam yöneticisi (context manager) sayesinde, sandbox’lar otomatik olarak oluşturulup, kullanım sonrasında dağıtılıyor. Bu özellik, hem kaynakların verimli kullanılmasını sağlıyor hem de geliştiricilerin altyapı yönetimiyle uğraşmasını gereksiz kılıyor.
with Sandbox(language="python") as sb:
# Sandbox burada oluşturuluyor
sb.upload_file("main.py")
result = sb.exec("python main.py")
# Sandbox burada otomatik olarak siliniyor — exec fonksiyonu hata verse bileBu otomatik temizlik mekanizması, özellikle yapay zeka ajanları tarafından sandbox oluşturulan senaryolarda kritik önem taşıyor. Kullanıcılar artık kaynak yönetimiyle ilgili endişeler yaşamadan, kodlarını çalıştırabiliyor.
Docker-in-Docker Sorununa Pratik Çözüm
Jhansi’nin arkasındaki yürütme motoru olan Petri, Docker konteynerleri içinde kod çalıştırıyor. Ancak, Petri’nin kendi Docker konteynerinde çalışması nedeniyle ortaya çıkan bir sorun vardı: Petri, Docker konteynerlerini çalıştırmak için Docker’a erişime ihtiyaç duyuyordu. Bu durum, Docker socket’inin nasıl paylaşılacağına dair karmaşık bir yapılandırma gerektiriyordu.
Geliştiriciler, bu sorunu çözmek için Docker socket’ini ve çalışma alanlarını doğru şekilde paylaşmak zorundaydılar. Aşağıdaki Docker Compose yapılandırması, bu sorunu çözmeye yardımcı oluyor:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/petri-workspaces:/tmp/petri-workspaces
environment:
- PETRI_WORKSPACE_ROOT=/tmp/petri-workspacesBu yapılandırma sayesinde, Petri’nin Docker konteynerleri hem ana makinedeki Docker’a erişebiliyor hem de çalışma alanlarını doğru şekilde paylaşabiliyor. Böylece, hem kaynak sızıntıları önleniyor hem de kod yürütme süreci sorunsuz bir şekilde devam ediyor.
Jhansi SDK’sını Kullanmaya Başlama
Jhansi SDK’sını kullanmaya başlamak oldukça basit. İlk adım olarak, Petri’nin kaynak kodlarını klonlamak ve Docker Compose ile çalıştırmak gerekiyor:
# Petri’yi klonla
git clone
cd petri
# Petri’yi başlat
docker compose up
# Jhansi SDK’sını yükle
pip install jhansiTüm dokümantasyona docs.jhansi.io adresinden ulaşabilirsiniz. Bu dokümanlar, SDK’nın tüm özelliklerini ve kullanım örneklerini detaylı bir şekilde açıklıyor.
Gelecekteki Geliştirmeler ve Yenilikler
Jhansi ekibi, SDK’nın gelecekteki sürümlerinde birkaç önemli yeniliği hayata geçirmeyi planlıyor. Bunlardan ilki, v0.6 sürümünde gelmesi beklenen kalıcı kayıt sistemi. Bu özellik sayesinde, sandbox’lar Petri yeniden başlatıldığında bile hayatta kalabilecek ve geliştiricilerin süreçlerini daha da basitleştirecek.
Bir diğer önemli yenilik ise v0.7 sürümünde gelmesi planlanan akışkan kod yürütmesi (streaming exec). Bu özellik sayesinde, geliştiriciler kodlarını çalıştırırken gerçek zamanlı çıktı alabilecek ve hata ayıklama sürecini daha verimli hale getirebilecekler.
En heyecan verici gelişme ise MCP sunucusu olacak. Bu sunucu sayesinde, Cursor ve Claude Code gibi gelişmiş kod editörleri, kendi bulut altyapılarına ihtiyaç duymadan doğrudan Petri’yi kullanabilecek. Bu özellik, hem geliştirici deneyimini iyileştirecek hem de altyapı maliyetlerini düşürecek.
Jhansi’nin açık kaynak kodlu deposunu takip etmek ve gelişmelerden haberdar olmak için github.com/jhansi-io/jhansi adresini ziyaret edebilir ve depoyu yıldızlayabilirsiniz.
Yapay zeka özeti
Python geliştiricileri için yeni SDK olan Jhansi, karmaşık Docker yönetimini otomatikleştiriyor. Kaynak sızıntılarını önleyen bağlam yöneticisi ve gelecek yenilikler hakkında bilgi edinin.