Hangi yöne hangi kütüphane?

Python3 egitimimi OOP disinda tamamladim. Ama hangi dal veya amacta ilerleyecegimi henüz bilmedigim icin hangi kütüphaneyi ögrensem bilemiyorum ve bu nedenle de temel bilgimi verimli kullanamiyorum. Hangi dal icin hangi kütüphaneyi ögrenmeli? Bu konuya deginilen bir kaynak vs. var mi?

1 Beğeni

Merhaba La Ahad;
Tahminimce yazılıma yeni başlamış gözüküyorsun. Başlangıçta Python gibi bir dil ile başlamak ne kadar doğru bilemiyorum. Çünkü Python dilini yeni başlayan birinin başlamasının doğru olduğunu düşünmediğim diller arasında. Başlangıçta OOP destekli dillerden birini seçseydin sana daha yararlı olurdu. Mesela C#, Delphi gibi.

Dönelim sorumuza;
Kütüphaneden önce sana tavsiyem Python dilini bir kenara bırakıp kendini Internet iletişimi(Protokoller arası iletişim, TCP/IP gibi.) alanında geliştirirsen daha iyi bir başarı elde edebilirsin. İkinci bir önerim veritabanına yönel. SQL bu dönemlerde zaten bir yazılımcı için vazgeçilemez bir nimet adeta.

Sonuç olarak;
Python’u şimdilik bir kenara bırakıp kendini ya internet ya da veritabanı en azından OOP desteği olan bir dil ile çalışman yararına olacaktır.

NOT: Python için OOP desteği zor da olsa var fakat C# veya Delphi gibi diller ile karşılaştırdığımızda esneklik yönü Pythonun ki daha bir zor.

Hayırlı çalışmalar
Saygılarımla

Öncelikle bir gui kütüphanesi öğrenmelisiniz. Bunun için önerilerim tkinter ve pygtk (Ayrıca wxpython var ama kullanıcısı çok az). Ardından bir framework ile uğraşmanızı tavsiye ediyorum. Bunun için önerim django (Google bile kullanıyorsa cardır bir hikmeti). Kivy öğrenecekseniz sadece symbian üzerinde kararlı çalıştığını bilin

1 Beğeni

Cevabin icin tesekkürler. Tkinter biliyorum zaten ama sanirim PyQt de ögrenecegim. Zira Drag&Drop var ise. Tkinter canima tak etti :unamused:

Framework ün ne oldugunu tam olarak bilmiyorum ama arastiracagim ve ögrenecegim. OOP den sonraki adimim bu olacak. Kenara yazdim :slight_smile:

Tekrardan Tesekkürler…

Framework’ü web altyapısı diye biliyorum. Ama emin değilim.

Bi ara şuradan böyle birşey çevirmiştim

B_u sayfanın amacı, programcılar (özellikle yeni başlayanlar) için yararlı öneriler sunmak umuduyla. En sık kullanılan Python modülleri bazı listelemek içindir. Aşağıdaki liste ek olarak, Python modülleri diğer dizinleri vardır unutmayın.PublishingPythonModules bkz. Kütüphane detayların başka bir derlemesi Kütüphane sayfasında bulunabilir._

Bu liste doğası gereği sübjektiftir - sadece faydalı bir rehber niteliğindedir.Unutmayın ki bunlar gibi birçok paketi https://pypi.python.org/pypi adresinde bulabilirsiniz

Standart Kütüphane
StandardLibraryBackports - Standart kütüphanenin önceki modulleri

Şifreleme(kriptografi)
Python and Cryptography

Veri Tabanı
SQLAlchemy yada SQLObject -birkaç farklı veritabanı sistemine Nesne yönelimli erişim

DatabaseInterfaces -

Ayrıca bakınız DatabaseProgramming

Yabancı Değişken Arabirimi(Foreign Function Interface)
CTypes -DLL / paylaşılan kütüphanelerin işlevleri çağırmak için bir paket.

Cython CPython veya cPython, yüksek seviyeli, dinamik ve nesne yönelimli bir dil olan Python’un tamamen C ile yazılmış bir derleyicisidir. Python kütüphaneleri ile birlikte C kütüphanelerinin kullanımına imkân vermektedir. Açık kaynak yazılımı olarak dağıtılmaktadır.

Oyun Geliştiricileri
PyGame - oyun geliştirmek isteyenlere

Ayrıca bakınız GameProgramming.Bu tür paketlerin hakkında daha kapsamlı bir liste bulunabilir
PythonGameLibraries sayfasında.

Coğrafi Bilgi Sistemi (Geographic Information System[GIS])
GIS Web services - Google maps Yahoo maps ve daha fazlasına erişmek için

Görsel Arayüz(GUI)
PyGtk - PyGTK Python programlama dilini kullanarak kolayca grafik kullanıcı arabirimleri oluşturmanıza olanak verir. GTK+ kütüphanesinin tüm olanaklarını istediğiniz gibi GNOME Desktop ta kullanmanızı sağlar.

PyQt - PyQT, C++ ile geliştirilmekte olan QT isimli grafik arayüz kütüphanesinin python ile kullanılmasını sağlayan bir ara katmandır aslında.Teknik dilde buna “bağlayıcı” deniyor.

TkInter - Tkinter, Python programlama dili ile birlikte gelen grafiksel kullanıcı arayüzü (GUI) aracıdır. Python’la birlikte gelmesi ve basit bir yapıya sahip olması, Tkinter’in yaygın kullanımına neden olmuştur. Eleman (görsel nesne) eksikleri çeşitli paketlerle (ek kodlarla) kapatılmaya çalışılmaktadır

WxPython - wxWidgets Python için bir bağlayıcı PythonCard, Wax ve diğer yazılım iskeletlerini destekliyor.

PyjamasDesktop - Bağlayıcı ve çapraz-platform webkit için bir yazılım iskeleti.

Daha kapsamlı bir listeyi GuiProgramming sayfasında bulabilirsiniz.

Komut arayüzü(Console)
Ascii Table paketleri

Ses ve Müzik
Audio in Python

ID3 İşleme (Handling)
Mutagen - Mutajen ses meta verilerini işlemek için bir Python modülü

ID3Reader - "Id3reader.py MP3 dosyaları ID3 meta etiketlerini okuyan bir Python modülü. Bunun ile ID3v1, ID3v2.2, ID3v2.3 veya ID3v2.4 etiketleri okuyabilirsiniz.ID3Writer kullanılır.

PyID3 - “(inaktif gibi görünüyor)” MP3 ses dosyaları ID3 bilgi etiketleri işlemek için bir python modülü

pytagger -Etiket okuyucu ve yazıcı Python ile bütünüyle uygulamıştır. ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 ve ID3v2.4 destekler

eyeD3 - ID3 etiketlerini işlemek için bir Python modülüdür. Bu modül ID3 v1.0 / v1.1 ve v2.3 / v2.4 destekler zaman, bit hızı, örnek frekans vb. gibi bilgileri elde edebilirsiniz.

hsaudiotag - Py3k - hsaudiotag mp3, mp4, WMA, OGG, FLAC ve aiff dosyaları meta verilerini (bitrate, örnekleme oranı, süresi ve etiketleri) okumanızı sağlyan Python kütüphanesi. Yalnızca, etiketleri okumak onlara yazmak içindir,BSD lisansı ile dağıtılır.

pytaglib - Python 3.x ve 2.x destekler - C++ taglib kütüphanesi ile bir bağlayıcı, mp3, ogg, flac, mpc, speex, opus, WavPack, TrueAudio, wav, aiff, mp4 ve asf dosyalarını okur yazar.

Resim İşleme(Image Manipulation)
Python Imaging Library (PIL) - Birçok dosya biçimlerini destekler ve güçlü görüntü işleme ve grafik yetenekleri sağlar.

pyqtgraph - görüntü / video gösterimi, çok boyutlu görüntü dilimleme ve interaktif manipülasyon araçları ile bilimsel uygulamalar için Python grafik kütüphanesi.

Dizin oluşturma ve arama (Indexing and Searching)
InformationRetrieval

Java
Java scripting

Ağ(Networking)
asyncoro - Asenkron, eşzamanlı programlama çatısıdır

Gevent - Ağ kitaplığı

TwistedMatrix - Olaya dayalı ağ yazılım iskeleti

RPyC - Kümeleme ve dağıtılmış-işlem için şeffaf bir python kütüphanedir.

PyRO - güçlü bir OO RPC

HTTPLib2 - birçok özelliği destekleyen kapsamlı bir HTTP istemci kütüphanesi standart kütüphanedeki httplib gibidir.

Celery - band processing/RPC ve daha fazlası için dağıtılmaktadır.

Platforma Özgü(Platform-Specific)
Psyco - Psiko herhangi bir Python kod çalıştırılmasını hızlandırabilir (yalnızca x86)

PyInstaller - Windows, Linux and Irix.Sistemlerinde çalışan yürütülebilir dosyalar oluşturmak için

Mac
py2app - (Mac için py2exe gibi) bağımsız uygulamalar oluşturun

PyObjC - Python ve Objective-C arasında bir köprü

Windows
PyWin32 - Windows için Python uzantıları

Py2exe - Python scriptlerini alışabilir windows programına dönüştürür, Python yüklemeye ihtiyaç duymadan çalışabilirler

Grafik Çiziciler(Plotting)
Chaco - Etkileşimli grafikleri ve planlamaları oluşturur

gnuplot.py - gnuplot dayalı olarak

Matplotlib - Geniş bir biçim ve kalite yelpazesi vardır

Plotly - Etkileşimli web tabanlı grafikler

PyX - Postscript ve PDF çıkışlı, (La)TeX ile bütünleşir

ReportLab Bir grafik paketi içerir

Veusz - Postscript çıktısı PyQt ile başlangıç aşamasında

pyqtgraph - Python çizimi ve grafik kitaplığıdır ve PyQt ye numpy’e dayalı
SciPy topical software sayfası daha uzun bir dizelgeye(liste) sahip.

Sunum(Presentation)
http://docutils.sourceforge.net/docs/user/tools.html#rst2s5-py - .rst dosyalarından HTML slaytı oluşturmak

http://seld.be/notes/introducing-slippy-html-presentations - Python tarayıcıda sunumlara gözatma

RDF İşleme (Processing)
Burada RdfLibraries RDF işlemleri çözümlerine yönelik bir liste

Bilimsel(Scientific)
Visual Python - Gerçek zamanlı 3D çıkışı sunuyor.Acemi programcılar tarafından kullanılabilecek basit yapısı mükemmel.

SciPy - grafik ve çizimi, optimizasyon, entegrasyon, özel fonksiyonlar, sinyal ve görüntü işleme, genetik algoritmalar, ODE çözen, ve diğerleri için modülleri içerir

Python Bindings for R - R iyi bilinen, açık kaynak kodlu (GPL 2) istatistiki pakettir

numpy

PyIMSL - IMSL C Sayısal Kütüphanesi matematiksel ve istatistiksel algoritmalar için kullanılabilir

Standart Kütüphane Geliştirmeleri(Standard Library Enhancements)
Python Path - os.path modülünün işlevselliğini arttırır ve daha rahat bir şeyler sunar.

Requests - HTTP isteklerini göndermek için urllib üzerine bir paket.(misal bununla bir siteye giriş yapabilirsiniz veya bir formu otamatik doldurabilirsiniz)

Dateutil - datetime modülüne güçlü ve kullanışlı uzantıları sağlar.

sh - bir işlevi sanki harici bir program gibi çalıştırılabilir

DocOpt - Komut satırı argümanları ayrıştırıcısı.

PyLibrary - Python geliştiricileri için yararlı kütüphaneler koleksiyonu.

İş Parçacığı(Threading)
ThreadPool - işlem havuzu gibi aynı anda iki işlem birden yapmak için

Bunun gibi çifteişlem(multiprocessing) ve paralelişlem(paralellelprocessing) işlemlerini ParallelProcessing bu sayfada bulabilirsiniz

Sistem Yönetimi(System administration)
psutil - Python süreçleri ve sistem kullanımı (CPU, bellek, disk, ağ) çalışan hakkında bilgi almak için çapraz platform kütüphanesi.

Ağ Geliştirme(Web Development)
Django - Django, Python programlama dili ile yazılmış MTV mimari desenini kullanan, yüksek seviyeli ve açık kaynak bir ağ yazılım iskeletidir.

Pyramid - Piramit ağ yazılım iskeletidir. Bu Pylons Projesinin bir parçası olarak geliştirilmiştir. BSD-like lisansı altında lisanslanmıştır.
TurboGears - Hızlı ağ geliştirme için bir yazılım iskeleti(megafremework).

Pylons - Hafif bir ağ yazılım iskeleti esneklik ve hızlı gelişmesi ile vurgulanıyor.
web2py - Çevik geliştirme için yüksek düzey yazılım iskeleti.

Flask - Werkzeug, jinja2 dayalı Python için yazılım iskeleti(microfremework). (BSD ile dağıtılıyor)

Bu konuların tam bir listesine bakın WebProgramming ve diğer yazılım isketleri için de buraya WebFrameworks bakın.

HTML formları
ClientForm - "ClientForm , HTML formları ayrıştırma onları doldurmak ve sunucuya tamamlanmış formlar göndermek için için yararlı istemci.

FormEncode

lxml.html HTML belgeleri formları ile başa çıkmak için sağlam bir kütüphane

Ayrıca bakınız WebProgramming ve WebFrameworks sayfalarına.

HTML Ayrıştırıcı (parser)
Beautiful Soup - HTML/XML ayrıştırma düzenlemek için tasarlanmıştır

PyQuery -Python jQuery uygulaması;Görünüşe göre, BeautifulSoup daha hızlı.(emin değilim)

mxTidy - HTML temizleme ve düzenleme aracı

lxml.html Çok hızlı, kolay kullanımlı ve çok yönlü bir kütüphane HTML

Daha fazlası için PythonXml’e bakabilirsiniz.

İş Akışı(Workflow)
openflow - Zope 2 için bir iş akışı motoru.
Goflow - openflow ile aynı tasarıma sahip Django için bir iş akışı motoru.
XML İşleme (Processing)
ElementTree - XML Bilgi Kümeleri olarak hiyerarşik veri yapıları, saklamak için tasarlanmış basit ama esnekbir kütüphane.–Not:2.5 ten sonra artık ElementTree Standard Kütüphanenin içinde–

lxml Çok hızlı çoğunlukla uyumlu XML işleme için, kolay kullanımlı ve çok yönlü bir kütüphane ama ElementTree çok daha fazlo özellik ve zenginliğe sahip.(emin değilim)

Amara - Amara XML standartlarına uymak üzere güvenebileceğiniz araçları sağlar. (ayrıca bakınız 1.x version)

PythonXml Mevcut XML işleme çözümleri için bir dizelge sağlar.

Tabanlı Programlama(Flow Based Programming)
Python and Flow Based Programming (pipelines)

4 Beğeni

Isaretledim okuyacagim. Tesekkürler…