Eğer bugüne kadar Python programlama dili ile biraz zamanınız geçtiyse bile, muhtemelen
Python’ın birbirinden güzel kütüphanelerinden en az 1-2 tanesini deneyimlemişsinizdir diye
düşünüyoruz. Geliştiricileri tarafından ne de güzel hazırlanmışlar, işlerimizi ne kadar
kolaylaştırıyorlar değil mi?
Peki siz niye bu kişilerden biri olmayasınız? Eğer bu fikir kulağınızı hoş geliyorsa, hadi bu işlemi
nasıl yapabileceğimizi konuşalım. Ama öncelikle alışverişe çıkmadan önce ihtiyaç listemizi
oluşturalım 🙂
1.PyPI Hesabı Oluşturma
2.GitHub Reposu Oluşturma
3.mycode.py Dosyası Oluşturma
Bu dosyada kütüphanemizde yer alan, bizim oluşturmuş olduğumuz fonksiyonlar yer alacak.
Bu dosya formatında birden fazla oluşturarak kütüphanenizin içeriğini çeşitlendirebilirsiniz.
Peki nasıl mı? Gelin basit bir örnek beraber yapalım 🙂
4.__init__.py Dosyası Oluşturma
Burada yazılan
–dataminds ifadesi kütüphanenin ismini (örn. sklearn)
–regression ve classification ifadeleri kodların olduğu python dosyalarını (örn. datasets)
–evaluate_model ifade ise kullanılacak fonksiyonun adını belirtir (örn. load_iris)
5.setup.py Dosyası Oluşturma
Bu dosyada ise kütüphanemizle ilgili son ayarlamaları yapalım. Bu ayarları yaparken de
setuptools kütüphanesinden yararlanıyoruz. Aşağıdaki görselde kütüphanenin ismi,
versiyonu, yazarı, açıklaması, sorunsuz çalışabilmesi için gerekli olan kütüphaneleri ve
tanımlanan anahtar kelimeleri görebilirsiniz.
NOT: Eğer bilgisayarınızda setuptools kütüphanesi kurulu değilse kurmayı unutmayın!
6.README.md Dosyası Oluşturma
Her projenin ve kütüphanenin üzerinde geliştirilme yapılmaya devam edilebilmesi için bir
GitHub adresi olması gerekir. Bu adres aracılığıyla, kütüphaneye kullanan insanlar
geliştiricelere geri bildirimde bulunabilir ve geliştirilen kütüphaneye kendileri de katkı
sunabilirler.
Oluşturulan bu GitHub sayfalarının en olmazsa olmaz özelliklerinden biri de README.md
dosyalarıdır. README dosyaları kullanıcılara o proje hakkında bilgi verir ve kütüphaneyi nasıl
yükleyeceklerinden nasıl kullanacaklarına kadar bir dizi bilgi sunar. Peki içeriği nasıl olmalı?
7.PyPI’ye Yüklenecek Dist Dosyası Oluşturma
Ana dosyalarımızı da hazırladığımıza göre artık halletmemiz gereken son birkaç işlemimiz kaldı.
İlk olarak oluşturduğumuz klasörün içerisinde sdist ve bdist_wheel dosyalarını oluşturmamız
gerekiyor. Bunun için yapmamız gereken oldukça basit, klasörümüzün bulunduğu dizinde bir
terminal ekranı açarak python3 setup.py sdist bdist_wheel
komutunu yazmamız tüm
isteklerimizi karşılayacak 🙂
NOT: sdist bir kaynak dağıtım biçimidir, bdist_wheel ise Python paketleri için yerleşik bir
dağıtım biçimidir. sdist paketleri, meta veri dosyaları ve bir kurulum betiği ile birlikte Python
paketinin kaynak kodunu içerir. bdist_wheel paketleri, paket tarafından kullanılan tüm C
uzantılarıyla birlikte derlenmiş Python bayt kodunu içerir.
8.Kütüphanenizi PyPI’de Yayımlama
Artık her şeyi hazırladık, son olarak sıra geldi oluşturduğumuz bu kütüphanemizi PyPI’da
yayımlamaya ve diğer kullanıcıların kullanımına sunmaya 🙂
NOT: Bu işlemi yapabilmek için PyPI sitesinde bir hesabınız olması gerektiğini unutmayın!
Eğer PyPI hesabımız da varsa artık kütüphanemizi tüm dünyanın kullanımına açabiliriz. Bu
yükleme işlemini yapmak için ise twice kütüphanesinden yararlanacağız.
NOT: Eğer bilgisayarınızda twice kütüphanesi kurulu değilse kurmayı unutmayın!
Eğer twice kütüphanesinin de bilgisayarımızda olduğundan artık eminsek, en başta
oluşturduğumuz klasörün dizininde bir terminal ekranı açalım ve twine upload dist/*
komutunu çalıştırarak bir önceki adımda oluşturulan dist klasörünü PyPI’ye gönderelim.
NOT: Bu adımda yükleme işleminin başarılı bir şekilde tamamlanması için sizden PyPI
hesabınızın kullanıcı adını ve şifresini isteyecek, onları da doğru bir şekilde girdikten sonra
işlem tamamdır 🙂
9.Kütüphaneyi Bilgisayara İndirerek Kullanmaya Başlama
Son olarak da kütüphanemiz gerçekten doğru ve istediğimiz bir şekilde çalışıyor mu onu test
edelim.
NOT: Kütüphaneyi kullanmaya başlamadan önce pip install dataminds
komutunu yazarak
kütüphaneyi bilgisayarınıza kurmayı unutmayın!