Skip to content

Pr goendermek

Bu yazımda

PR Göndermek

CPython bugları https://bugs.python.org/ adresinde listelenir, tartışılır ve takip edilir sizlerde CLA kaydınızı yaptıktan sonra burada yapabileceğiniz bir issue bulup onun için çalışabilirsiniz.

Örnek PR

Bir örnek üzerinden nasıl PR atabiliriz bakalım.

Issue olarak https://bugs.python.org/issue29418 bunu seçiyorum, issue’yi açan kişi bazı built-in functionların inspect kütüphanesinde bulunan isroutine fonksiyonunun False dönderdiğini söylemiş ama verdiği örnekteki

>>> inspect.isroutine(object().__str__)
False
>>> object().__str__
<method-wrapper '__str__' of object object at 0x7fb92f30a0d0>

bu obje bir method-wrapper’dir bu yüzden eğer bug var ise düzeltmemiz gereken şey inspect.isroutine fonksiyonuna verilen obje method-wrapper olursada True göndermesini sağlamalıyız. Peki bu bulduğumuz bug, isroutine fonksiyonunun tanımına uyuyor mu onada bakalım.

Return True if the object is a user-defined or built-in function or method.

bu tanımda nesne eğer kullanıcı tanımlı veya built-in fonksiyonları veya method ise True döndermesi gerekmektedir demiş. Sanırım bu durumda objec method-wrapper ise de True göndermesi gerek.

CPython’u Forklamak

Ne yapacağımızı öğrendiğimize göre yapacağımız ilk iş CPython’u forklamak bunun için CPython reposuna gidip fork tuşuna basın ve kendi adınıza forklayın.

{% embed url=”https://github.com/python/cpython” %}

Şimdi bilgisayarınızda git konsolunuzu açın sırası ile aşağıdaki komutları çalıştırın.

>>> git clone https://github.com/{username}/cpython
>>> cd cpython
>>> ./configure
>>> make

Şuan CPython’u klonladık ve bilgisayarımıza en güncel CPython’u kurduk bunu görmek ve en güncel CPython’u denemek için konsolu açıp.

>>> cd cpython
>>> ./python.exe
Python 3.9.0a5+ (heads/master-dirty:0bae8d6f45, Apr 17 2020, 17:54:17)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ben bu yazıyı yazarken en güncel sürüm 3.9.0a5+ dür.


Last update: June 15, 2022
Created: June 15, 2022