Python Enhancement Proposal (PEP)

python software foundation

Dilimizdeki anlamıyla Python Geliştirme Önergesi anlamına gelen Python Enhancement Proposal, kısaca PEP, en özet tabiriyle Python'un mevzuatıdır.

Python, Python Software Foundation (PSF) adlı Python Yazılım Vakfı tarafından geliştirilmekte, bağışlarla finanse edilmektedir. Bu vakfın aynı zamanda Python Community adında özel bir topluluğu vardır. Bu topluluğun içerisindeki Core Developer'lar (Çekirdek Geliştiriciler) Python'un kurallarını belirlemektedir. Python kurucusu Guido van Rossum'un da içerisinde yer aldığı Python Community, Python Enhancement Proposal adında bazı özel standartlar belirlemiştir. Tüm bu özel standartlar ve kurallar PEP adıyla yayınlanmaktadır. Hiçbir geliştirici ve Python kullanıcısı bu kuralların ve standartların dışına çıkıp geliştirme yapamamaktadır.

PEP'ler ilk kez 2000 yılında yayınlanmış ve günümüze kadar gelmiştir. PEP0 - Index of Python Enhancement Proposals adresinden tüm PEP'lerin listesine ulaşabilirsiniz. PEP 0, PEP 8, PEP 13, PEP 594 şeklinde giden tüm PEP'ler Python'un kanunları ve yönetmelikleridir. Aralarında en meşhuru PEP 8'dir.

Eğer PEP 8 adresini ziyaret ederseniz içerik kısmında birçok "correct - wrong" yorumları içeren kod parçacıkları göreceksiniz. PEP 8 ile Python'da kodların nasıl yazılacağı, syntax (sözdizimi) kuralları ve diğer birçok Python standartı belirlenmiştir. Daha önce de belirtildiği gibi hiçbir kullanıcı, geliştiriciler bile bu yazım kurallarının dışına çıkıp geliştirme yapamaz. Python ile kod yazamaz. PEP'ler ile bu kurallar ve standartlar belirlenmektedir.


pep process
ResearchGate

PEP'ler Nasıl Oluşturulur?

Yukarıdaki görselden görülebileceği üzere PEP'ler geliştirilmeden önce bir fikir olarak topluluğa sunulmaktadır. Bu fikir Python geliştiricileri ve diğer bağımsız geliştiriciler tarafından forumlarda ve sitelerde tartışılmakta, herkes önerisini sunmaktadır. Geliştirme aşamasında mail yazışmaları dahi kullanılmaktadır. Eğer önerilen fikir kabul olursa Python Community tarafından özel bir numara ile (örneğin PEP 240) kabul edilen PEP yayınlanmaktadır.

Python Community, topluluk fikirlerine yüksek derecede önem veren bir topluluk olduğu için kullanıcıları tarafından tepkiyle karşılanacak geliştirmeler yapmamaktadır. Bu sebeple Python'un gelişiminde bağımsız geliştiricilerin PEP'ler ile katkısı büyüktür.


PEP'lerin Tipleri

Her PEP sayfasının başındaki künyede PEP'lerin tipi de belirtilmektedir. Genel olarak üç PEP tipi mevcuttur:

Informational, bilgi verme amaçlı yazılan pep'leri belirtir. Birçok PEP informational tipindedir. PEP 0 örnek gösterilebilir.

Process, Python programlama dilinin syntax yapısı gibi temel kurallarını belirleyen PEP'leri belirtir. En önemli PEP'ler bunlardır. Çünkü yeni bir güncellemede bile kodların nasıl yazılması gerektiği, hangi modüllerin kullanılacağı yayınlanan process pep'lerine bağlı olarak belirlenir. PEP 8 daha önce de belirtildiği gibi aralarında en ünlüleridir.

Standards Track ya da internet standart, Python kodlarının internet standartlarına uygun olarak çalışmasını belirleyen pep'leri içerir.
PEP 615 örnek gösterilebilir. PEP 615'te uluslararası saat standartının nasıl olması gerektiği anlatılmıştır.


Özet

PEP'i Python'un mevzuatı olarak tanımlamıştık. PEP 0, PEP 8, PEP 594 şeklinde giden PEP'ler ise bu mevzuatın kanunları ve yönetmelikleridir. PEP'ler Python'un kurallarını ve standartlarını belirlemekle birlikte birçok yararlı bilgiyi de içermektedir. Python öğreniminiz boyunca en az bir kez PEP tabiri ile karşılaşırsınız. Bu sebeple genel kültür amacıyla hakkında bilgi sahibi olunması gereken bir konudur.

Son olarak meşhur PEP 8'e ait şarkıyı buraya bırakıyorum. Keyifli dinlemeler!

Bir sonraki bölümde Python kodlarının bilgisayarlarımızda nasıl çalıştığı konusuna değineceğiz.

<<< Önceki Konu
Sonraki Konu >>>