Ensiklopedia sumber daya Python versi Cina
awesome-python adalah daftar sumber daya Python yang dimulai dan dikelola oleh vinta, termasuk: kerangka web, perayap web, ekstraksi konten web, mesin templat, basis data, visualisasi data, pemrosesan gambar, pemrosesan teks, pemrosesan bahasa alami, pembelajaran mesin, pencatatan, analisis kode tunggu. Ini dikelola dan diperbarui oleh tim akun resmi WeChat "Open Source Outpost" dan "Python Developer".
Peserta dalam proyek ini
Pengelola: Tim akun resmi WeChat "Pos Luar Sumber Terbuka" dan "Pengembang Python". "Open Source Outpost" akan secara rutin membagikan proyek open source terbaru, menarik dan populer di kolom Zhihu. Setiap proyek memiliki pengenalan dan contoh mendetail. Portal: https://www.zhihu.com/column/c_1317124962785062912
Kontributor: Tang Youhua, qtvspa, Ai Lingfeng, Namco, Daetalus, Huang Limin, atupal, pelangi, kayu lbj, beyondwu, cissoid, Li Guangsheng, polival, Bingbin, Zhao Yeyu, л stalgia, shuoen, kuat, yuukilp, chenjiandongx, autopenguin, visonforcoding, Super Saiyan, Sejak masa depan, knktc, zhucebuliaopx, wardseptember, vmp65l3, JiaxingZhao, zhtyyx, Lynn Cao, Sungai, Kamu
Catatan: Daftar ini tidak diberi peringkat dan akan diperbarui dari waktu ke waktu.
Daftar sumber daya
pengelolaan lingkungan hidup
Alat untuk mengelola versi dan lingkungan Python
- p: Alat manajemen versi Python interaktif yang sangat sederhana.
- pyenv: Alat manajemen versi Python sederhana.
- Vex: Dapat menjalankan perintah di lingkungan virtual.
- virtualenv: Alat untuk membuat lingkungan Python independen.
- virtualenvwrapper: Satu set ekstensi untuk virtualenv.
- buildout: Gunakan manajemen konfigurasi deklaratif setelah inisialisasi lingkungan isolasi.
Manajemen paket
Alat untuk mengelola paket dan dependensi.
- pip: Paket Python dan alat manajemen ketergantungan.
- pip-tools: Seperangkat alat untuk memastikan bahwa dependensi paket Python diperbarui.
- PyPI: Repositori perangkat lunak paket pihak ketiga resmi Python.
- pipenv: alat manajemen paket generasi baru yang secara resmi direkomendasikan oleh Python.
- puisi: alat manajemen paket yang sepenuhnya dapat menggantikan setup.py.
- conda: Alat manajemen paket biner Python lintas platform.
- Curdling: Alat baris perintah untuk mengelola paket Python.
- wheel: Standar baru untuk distribusi Python, dimaksudkan untuk menggantikan telur.
Gudang paket
Layanan dan proxy repositori PyPI lokal.
- gudang: PyPI generasi berikutnya.
- bandersnatch: Alat cermin PyPI disediakan oleh PyPA.
- devpi: Layanan PyPI dan alat pengemasan/pengujian/distribusi.
- localshop: layanan PyPI lokal (paket yang disesuaikan dan PyPI yang dicerminkan secara otomatis).
distribusi
Dikemas sebagai file yang dapat dieksekusi untuk didistribusikan.
- PyInstaller: Mengonversi program Python menjadi file independen yang dapat dieksekusi (lintas platform).
- cx_Freeze: Ubah program python menjadi file yang dapat dieksekusi dengan pustaka tautan dinamis.
- dh-virtualenv: Membangun dan mempublikasikan lingkungan virtual virtualenv sebagai paket Debian.
- Nuitka: Kompilasi skrip, modul, dan paket ke dalam file yang dapat dieksekusi atau modul ekstensi.
- py2app: Ubah skrip Python menjadi paket mandiri (Mac OS X).
- py2exe: Ubah skrip Python menjadi paket mandiri (Windows).
- pynsist: Alat untuk membuat penginstal Windows yang mengemas Python itu sendiri di dalam penginstal.
- pyarmor: Alat untuk mengenkripsi skrip python. Ia juga dapat mengikat skrip terenkripsi ke firmware atau mengatur masa berlaku skrip terenkripsi.
- shiv: Alat baris perintah yang dapat digunakan untuk membangun aplikasi zip yang sepenuhnya mandiri (jenis yang dijelaskan dalam PEP 441), termasuk semua dependensi.
Membangun alat
Kompilasi kode sumber ke dalam perangkat lunak.
- buildout: Sistem build untuk membuat, merakit, dan menerapkan aplikasi dari berbagai komponen.
- BitBake: Alat pembuatan serupa untuk Linux tertanam.
- fabrikasi: Alat pembangunan yang secara otomatis menemukan ketergantungan untuk bahasa apa pun.
- PlatformIO: Alat pembuatan baris perintah multi-platform.
- PyBuilder: Alat pembangunan berkelanjutan yang diimplementasikan dengan Python murni.
- SCons: Alat konstruksi perangkat lunak.
pengurai interaktif
Pengurai Python interaktif.
- IPython: Alat kaya fitur untuk menggunakan Python interaktif dengan sangat efisien.
- bpython: Parser Python dengan antarmuka yang kaya.
- ptpython: Parser Python interaktif tingkat tinggi, dibangun di atas python-prompt-toolkit.
- Jupyter Notebook (IPython): Toolkit kaya yang memungkinkan Anda memaksimalkan penggunaan interaktif Python.
dokumen
Manajemen file dan deteksi tipe MIME (Multi Purpose Internet Mail Extensions).
- aiofiles: Berdasarkan asyncio, menyediakan operasi file asynchronous.
- imghdr: (Perpustakaan standar Python) Mendeteksi jenis gambar.
- mimetypes: (Perpustakaan standar Python) Memetakan nama file ke tipe MIME.
- path.py: modul yang merangkum os.path.
- pathlib: (perpustakaan standar Python3.4+) lintas platform, perpustakaan operasi jalur berorientasi objek.
- python-magic: Antarmuka Python dari perpustakaan pihak ketiga libmagic untuk deteksi jenis file.
- Unipath: Memanipulasi file dan direktori dengan cara berorientasi objek.
- pengawas: API dan alat shell untuk mengelola peristiwa sistem file.
- PyFilesystem2: Lapisan abstraksi sistem file untuk Python.
tanggal dan waktu
Perpustakaan kelas untuk memanipulasi tanggal dan waktu.
- panah: Pustaka manipulasi tanggal dan waktu Python yang lebih baik.
- Chronyk: Pustaka Python 3 untuk mengurai waktu dan tanggal tulisan tangan.
- dateutil: Ekstensi ke modul datetime Python.
- delorean: Perpustakaan yang memecahkan masalah sulit dengan pemrosesan tanggal dengan Python.
- maya: perpustakaan pemrosesan waktu yang ramah manusia.
- pendulum: Perpustakaan manipulasi waktu dengan perilaku yang lebih eksplisit dan dapat diprediksi daripada panah.
- PyTime: Modul Python sederhana dan mudah digunakan untuk memanipulasi tanggal/waktu dengan string.
- pytz: Versi modern dan historis dari definisi zona waktu dunia. Membawa database zona waktu ke Python.
- kapan.py: Menyediakan fungsi yang mudah digunakan untuk membantu pengguna melakukan operasi tanggal dan waktu yang umum.
- dateutil: Perpanjangan dari paket standar Python datetime.
- momen: Perpustakaan untuk bekerja dengan tanggal/waktu, terinspirasi oleh Moment.js.
- pytz: mendukung penghitungan zona waktu lintas platform dan memperkenalkan database tz ke dalam Python.
pemrosesan teks
Perpustakaan untuk mengurai dan memanipulasi teks.
- Universal
- chardet: Detektor pengkodean karakter, kompatibel dengan Python 2 dan Python 3.
- difflib: (Perpustakaan standar Python) membantu kita melakukan perbandingan diferensial.
- ftfy: Membuat teks Unicode lebih lengkap dan koheren.
- thefuzz: pencocokan string fuzzy.
- Levenshtein: Menghitung jarak edit dan kesamaan string dengan cepat.
- pangu.py: Tambahkan spasi antara karakter China, Jepang, dan Korea serta huruf numerik.
- pypinyin: Alat konversi pinyin Cina versi Python.
- shortuuid: Pustaka generator untuk menghasilkan UUID yang ringkas, jelas, dan aman untuk URL.
- simplejson: encoder dan decoder JSON untuk Python.
- unidecode: ASCII mengonversi bentuk teks Unicode.
- uniout: Cetak karakter yang dapat dibaca alih-alih string yang lolos.
- xpinyin: Perpustakaan untuk mengubah karakter Cina menjadi pinyin.
- pyfiglet: Implementasi Python dari figlet.
- flashtext: Pencarian teks dan perpustakaan pengganti yang efisien.
- textdistance: mendukung lebih dari 30 algoritma untuk menghitung jarak antar urutan.
- Slug-ifikasi
- awesome-slugify: Pustaka slugifikasi Python yang mempertahankan Unicode.
- python-slugify: Pustaka slugifikasi Python yang dapat mengubah unicode menjadi ASCII.
- unicode-slugify: Alat slug yang dapat menghasilkan slug unicode dan membutuhkan Django.
- pengurai
- nomor telepon: Mengurai, memformat, menyimpan, dan memverifikasi nomor telepon.
- python-phonenumbers: Mengurai, memformat, menyimpan, dan memverifikasi nomor telepon internasional.
- PLY: Implementasi Python pada alat parsing lex dan yacc.
- Pygments: Alat penyorotan sintaksis universal.
- pyparsing: Kerangka kerja untuk menghasilkan parser tujuan umum.
- python-nameparser: Menguraikan nama seseorang menjadi beberapa bagian yang independen.
- python-user-agents: Pengurai agen pengguna browser.
- sqlparse: Parser SQL bebas validasi.
Pemrosesan format teks khusus
Perpustakaan untuk menguraikan dan memanipulasi format teks khusus.
- Universal
- tablib: Modul untuk memproses data tabular.
- Kantor
- Marmir: Ubah struktur data masukan Python menjadi spreadsheet.
- openpyxl: Perpustakaan untuk membaca dan menulis file Excel 2010 xlsx/xlsm/xltx/xltm.
- pyexcel: Pustaka yang menyediakan API terpadu untuk membaca, menulis, dan mengoperasikan file Excel.
- python-docx: Membaca, menanyakan, dan memodifikasi file docx Microsoft Word 2007/2008.
- python-pptx: Pustaka Python yang dapat digunakan untuk membuat dan memodifikasi file ppt.
- relatorio: file OpenDocument dengan template.
- unoconv: Konversi antara format file apa pun yang didukung oleh LibreOffice/OpenOffice.
- XlsxWriter: Modul Python untuk membuat file Excel .xlsx.
- xlwings: Pustaka yang memudahkan untuk memanggil Python dari Excel (dan sebaliknya), berdasarkan lisensi BSD.
- xlwt/xlrd: Membaca dan menulis data dan memformat informasi file Excel.
- docxtpl: Mengedit dokumen docx melalui template jinja2.
- PDF
- PDFMiner: Alat untuk mengekstrak informasi dari dokumen PDF.
- PyPDF2: Perpustakaan yang dapat membagi, menggabungkan, dan mengonversi halaman PDF.
- ReportLab: Membuat dokumen PDF teks kaya dengan cepat.
- Penurunan harga
- Mistune: Parser Markdown yang cepat dan berfitur lengkap diimplementasikan dengan Python murni.
- Python-Markdown: Implementasi Python dari Markdown John Gruber.
- Python-Markdown2: Parser Markdown yang diimplementasikan dengan Python murni, yang lebih cepat, lebih akurat, dan terukur dibandingkan Python-Markdown.
- YAML
- PyYAML: Parser YAML versi Python.
- CSV
- csvkit: Alat untuk mengonversi dan memanipulasi CSV.
- Arsip
- unp: Alat baris perintah yang digunakan untuk memfasilitasi pembongkaran file arsip.
pemrosesan bahasa alami
Perpustakaan untuk memproses bahasa manusia.
- NLTK: Platform canggih untuk membuat program Python yang memproses data bahasa manusia.
- gensim: Perpustakaan pemodelan topik yang ramah manusia.
- jieba: alat segmentasi kata dalam bahasa Mandarin.
- langid.py: sistem pengenalan bahasa independen.
- Pola: Modul penambangan informasi jaringan Python.
- SnowNLP: Perpustakaan untuk memproses teks berbahasa Mandarin.
- TextBlob: Menyediakan API yang konsisten untuk tugas pemrosesan bahasa alami yang umum.
- TextGrocery: Alat klasifikasi teks pendek yang sederhana dan efisien, berdasarkan LibLinear dan Jieba.
- thulac: Perangkat analisis leksikal berbahasa Mandarin yang dikembangkan dan diluncurkan oleh Natural Language Processing dan Social and Humanities Computing Laboratory di Tsinghua University.
- polyglot: Saluran pemrosesan bahasa alami yang mendukung ratusan bahasa.
- pytext: Kerangka model bahasa alami berdasarkan PyTouch.
- PyTorch-NLP: Perangkat untuk mendukung penelitian prototipe NLP pembelajaran mendalam yang cepat.
- spacy: Perpustakaan untuk pemrosesan bahasa alami tingkat industri dengan Python dan Cython.
- Stanza: Perpustakaan Python resmi dari Stanford NLP Group, mendukung lebih dari 60 bahasa.
- funNLP: Alat dan kumpulan data untuk pemrosesan bahasa alami Tiongkok.
- pkuseg-python: Kotak alat yang mendukung segmentasi kata berbahasa Mandarin di berbagai bidang.
dokumen
Perpustakaan untuk menghasilkan dokumentasi proyek.
- Sphinx: Generator dokumentasi Python.
- MkDocs: Generator dokumentasi yang ramah penurunan harga.
- pdoc: Pustaka yang dapat menggantikan Epydoc dan secara otomatis dapat menghasilkan dokumentasi API untuk pustaka Python.
- Pycco: Generator dokumentasi gaya pemrograman melek huruf.
- readthedocs: Sistem hosting dokumen online berdasarkan Sphinx/MkDocs, gratis dan terbuka untuk proyek sumber terbuka.
Konfigurasi
Perpustakaan untuk menyimpan dan menguraikan konfigurasi.
- config: Modul konfigurasi hierarki yang ditulis oleh pembuat modul logging.
- ConfigObj: parser file INI dengan fungsi verifikasi.
- ConfigParser: (Perpustakaan standar Python) INI pengurai file.
- profig: Konfigurasi melalui berbagai format, dengan fungsi konversi numerik.
- python-decouple: Isolasi sepenuhnya pengaturan dan kode.
- hydra: Kerangka kerja untuk mengonfigurasi aplikasi kompleks secara elegan.
Alat baris perintah
Perpustakaan untuk membuat program baris perintah.
- Pengembangan program baris perintah
- semen: Kerangka pemrograman baris perintah untuk Python.
- klik: Paket untuk membuat antarmuka baris perintah yang indah melalui komposisi.
- cliff: Kerangka kerja untuk membuat program baris perintah dengan perintah berlapis-lapis.
- clint: Alat program baris perintah Python.
- docopt: pengurai argumen baris perintah bergaya Python.
- Gooey: Perintah yang mengubah program baris perintah menjadi program GUI.
- python-prompt-toolkit: Pustaka untuk membuat program baris perintah interaktif yang kuat.
- python-fire: Pustaka yang diproduksi oleh Google untuk membangun antarmuka baris perintah berdasarkan kelas Python.
- Pythonpy: Jalankan instruksi Python apa pun langsung dari baris perintah.
- Mode presentasi terminal
- asciimatics: Paket terminal layar penuh lintas platform (yaitu input mouse/keyboard dan output teks berwarna yang diposisikan), lengkap dengan API tingkat tinggi untuk animasi kompleks dan efek khusus.
- kemajuan hidup: Bilah kemajuan baru dengan informasi throughput waktu nyata dan animasi yang sangat keren.
- colorama: Teks terminal berwarna lintas platform.
- bashplotlib: Plot dasar di terminal.
- kaya: Pustaka Python yang mendukung teks kaya dan pemformatan di terminal, dan juga menyediakan penangan log
RichHandler
. - tqdm: Bilah kemajuan yang cepat dan terukur untuk digunakan dalam loop dan baris perintah.
- alat produktivitas
- aws-cli: Antarmuka baris perintah umum untuk Amazon Web Services.
- caniusepython3: Tentukan proyek mana yang mencegah Anda melakukan porting ke Python 3.
- cookiecutter: Alat baris perintah untuk membuat proyek dari cookiecutter (templat proyek).
- doitlive: Alat untuk presentasi langsung di terminal.
- pyftpdlib: Pustaka layanan Python FTP yang sangat cepat dan dapat diperluas.
- howdoi: Dapatkan jawaban instan atas pertanyaan pemrograman Anda melalui baris perintah.
- PathPicker: Pilih file dari keluaran bash.
- percol: Menambahkan kemampuan seleksi interaktif ke konsep pipa tradisional shell UNIX.
- thefuck: Perbaiki instruksi baris perintah Anda sebelumnya.
- coba: Alat baris perintah yang sangat sederhana untuk mencoba pustaka python.
- mesin fotokopi: Perpustakaan dan utilitas baris perintah untuk merender templat proyek.
- Invoke: Digunakan untuk mengelola sub-proses berorientasi shell, dan juga mendukung pengorganisasian kode Python yang dapat dieksekusi ke dalam keadaan yang dapat dipanggil dari baris perintah.
- tmuxp: manajer sesi tmux.
- CLI tingkat lanjut
- httpie: Klien HTTP baris perintah, pengganti cURL yang lebih mudah digunakan.
- iredis: Alat baris perintah redis yang mendukung pelengkapan otomatis dan penyorotan.
- kube-shell: alat shell terintegrasi baris perintah K8S.
- litecli: Alat baris perintah SQLite yang mendukung pelengkapan otomatis dan penyorotan sintaksis.
- mycli: Klien baris perintah MySQL yang mendukung pelengkapan otomatis dan penyorotan sintaksis
- pgcli: Alat baris perintah Postgres yang mendukung pelengkapan otomatis dan penyorotan sintaksis.
- SAWS: Versi baris perintah AWS yang disempurnakan.
- Kerang
- xonsh: Bahasa shell dan command prompt berorientasi Unix lintas platform berdasarkan python.
Pengunduh
Perpustakaan digunakan untuk mengunduh.
- s3cmd: Alat baris perintah untuk mengelola Amazon S3 dan CloudFront.
- s4cmd: Alat baris perintah Super S3 dengan kinerja lebih bertenaga.
- Anda mendapatkan: Pengunduh video YouTube/Youku/Niconico, ditulis dengan Python 3.
- youtube-dl: Program baris perintah kecil yang digunakan untuk mengunduh video YouTube.
- akshare: Perpustakaan antarmuka data keuangan yang dibuat untuk kenyamanan masyarakat.
pemrosesan gambar
Perpustakaan untuk memanipulasi gambar.
- bantal: Bantal adalah versi PIL yang lebih ramah pengguna.
- hmap: Pemetaan histogram gambar.
- imgSeek: Sebuah proyek yang menggunakan kesamaan visual untuk mencari kumpulan gambar.
- telanjang.py: Deteksi telanjang.
- python-barcode: Menghasilkan barcode dalam program Python tanpa menggunakan perpustakaan lain.
- pygram: filter gambar mirip Instagram.
- python-qrcode: Generator kode QR yang diimplementasikan dengan Python murni.
- Quads: Seni komputer berbasis Quadtree.
- scikit-image: Pustaka Python untuk pemrosesan gambar (ilmiah).
- thumbor: Layanan gambar kecil dengan kemampuan memotong, mengubah ukuran, dan membalik.
- tongkat: pengikatan Python untuk MagickWand. MagickWand adalah API C dari ImageMagick.
- face_recognition: Pustaka pengenalan wajah Python yang sederhana dan mudah digunakan.
- pagan: Alat pembuatan ikon (avatar) bergaya retro berdasarkan input dan hashing.
- PyMatting: Pustaka yang mendukung mattingan alfa.
- pywal: Alat untuk menghasilkan skema warna dari gambar.
- pyvips: Konsumsi memori rendah dan perpustakaan pemrosesan gambar cepat.
OCR
Perpustakaan pengenalan karakter optik.
- paddleocr: Memperkenalkan pengenalan tabel selain pengenalan karakter optik.
- pyocr: Pembungkus untuk Tesseract dan Cuneiform.
- pytesseract: Pembungkus untuk Google Tesseract OCR.
Audio
Perpustakaan untuk memanipulasi audio
- audiolazy: Paket pemrosesan sinyal digital untuk Python.
- audioread: decoding audio lintas perpustakaan (GStreamer + Core Audio + MAD + FFmpeg).
- bit: alat manajemen perpustakaan musik dan alat penambahan tag MusicBrainz.
- dejavu: Ekstraksi dan pengenalan sidik jari audio.
- django-elastic-transcoder: Django + Amazon Elastic Transcoder.
- eyeD3: Alat untuk memanipulasi file audio, khususnya file MP3 yang berisi informasi meta ID3.
- id3reader: Modul Python untuk membaca metadata MP3.
- m3u8: Modul yang digunakan untuk mengurai file m3u8.
- mutagen: Modul Python untuk memproses metadata audio.
- pydub: Memanipulasi file audio melalui antarmuka tingkat tinggi yang sederhana dan ringkas.
- pyehonest: Klien Python untuk Echo Nest API.
- talkbox: Pustaka Python untuk menangani ucapan/sinyal.
- TimeSide: kerangka pemrosesan audio web sumber terbuka.
- tinytag: Perpustakaan untuk membaca metadata musik dari file MP3, OGG, FLAC, dan Wave.
- mingus: Paket teori dan skor musik tingkat lanjut dengan dukungan untuk file MIDI dan kemampuan pemutaran.
- kapre: Prosesor audio keras.
- librosa: Perpustakaan Python analisis musik audio.
- pencocokan: Perpustakaan untuk mastering audio.
- pyAudioAnalysis: Ekstraksi fitur audio, klasifikasi, segmentasi, dan aplikasi.
- bit: pengelola perpustakaan musik dan pemberi tag MusicBrainz.
Video
Perpustakaan untuk memanipulasi video dan GIF.
- moviepy: Modul pengeditan video berbasis skrip untuk berbagai format, termasuk GIF animasi.
- scikit-video: Program umum pemrosesan video SciPy.
- vidgear: Kerangka pemrosesan video multi-utas yang kuat.
lokasi geografis
Alamat geocoding dan perpustakaan untuk bekerja dengan garis lintang dan garis bujur.
- GeoDjango: kerangka web geografis kelas dunia.
- GeoIP: API Python untuk database MaxMind GeoIP Legacy.
- geojson: Binding Python dan alat untuk GeoJSON.
- geopy: Kotak alat pengkodean alamat Python.
- GeoIP2: Klien layanan web GeoIP2 dan database Python API.
- django-countries: Aplikasi Django yang menyediakan fungsionalitas pemilihan negara untuk tabel, berkas statis ikon bendera, dan bidang negara dalam model.
- pygeoip: Antarmuka Python GeoIP.
HTTP
Perpustakaan untuk menggunakan HTTP.
- aiohttp: Pustaka jaringan HTTP asinkron berdasarkan asyncio.
- permintaan: Pustaka permintaan HTTP yang dimanusiakan.
- grequests: meminta perpustakaan + gevent untuk permintaan HTTP asinkron.
- httplib2: Pustaka klien HTTP yang komprehensif.
- treq: API Python seperti permintaan yang dibangun di atas klien HTTP Twisted.
- urllib3: Pustaka HTTP yang jelas dan ramah dengan kumpulan koneksi thread-safe, dukungan untuk posting file.
- httpx: Klien HTTP Python generasi berikutnya.
basis data
Basis data diimplementasikan dengan Python.
- PickleDB: Database penyimpanan nilai kunci yang sederhana dan ringan.
- PipelineDB: Streaming database SQL.
- TinyDB: Database kecil berorientasi dokumen.
- ZODB: Basis data objek asli Python. Database nilai kunci dan grafik objek.
Didorong oleh basis data
Perpustakaan untuk menghubungkan dan memanipulasi database.
- MySQL: seri mysql yang luar biasa
- aiomysql: perpustakaan operasi database MySQL asinkron berdasarkan asyncio.
- mysql-python: Konektor database MySQL untuk Python.
- ysqlclient: cabang mysql-python, mendukung Python 3.
- oursql: Konektor MySQL yang lebih baik dengan dukungan untuk arahan dan BLOB asli yang telah dikompilasi sebelumnya.
- PyMySQL: Driver Python MySQL murni, kompatibel dengan mysql-python.
- PostgreSQL
- psycopg2: Adaptor PostgreSQL paling populer untuk Python.
- query: Pembungkus perpustakaan psycopg2, digunakan untuk berinteraksi dengan PostgreSQL.
- txpostgres: Driver PostgreSQL asinkron berbasis twisted.
- Database relasional lainnya
- apsw: Pembungkus Python SQLite lainnya.
- dataset: menyimpan kamus Python di database
- pymssql: Antarmuka database Microsoft SQL Server yang sederhana.
- basis data NoSQL
- asyncio-redis: klien redis berdasarkan asyncio (PEP 3156).
- cassandra-python-driver: driver Python untuk Cassandra.
- HappyBase: Perpustakaan ramah pengembang yang dirancang untuk Apache HBase.
- Plyvel: Antarmuka Python yang cepat dan kaya fitur untuk LevelDB.
- py2neo: Klien pembungkus Python untuk antarmuka Neo4j yang tenang.
- pycassa: Driver Penghematan Python untuk Cassandra.
- PyMongo: Klien Python resmi untuk MongoDB.
- redis-py: Klien Python untuk Redis.
- telephus: Klien Cassandra berdasarkan Twisted.
- txRedis: Klien Redis berbasis twisted.
- kafka-python: klien Apache Kafka Python.
- klien asinkron
- motor: Driver Python asinkron yang mendukung MongoDB.
ORM
Perpustakaan yang menerapkan teknik pemetaan relasional objek atau pemetaan data.
- basis data relasional
- Model Django: Bagian dari Django.
- SQLAlchemy: Alat Python SQL dan alat pemetaan relasional objek.
- seri awesome-sqlalchemy
- Peewee: ORM kecil dan ekspresif.
- PonyORM: ORM yang menyediakan antarmuka SQL ke generator.
- python-sql: Tulis kueri SQL bergaya Python.
- dataset: Menyimpan kamus dalam database, mendukung SQLite, MySQL dan PostgreSQL.
- orator: Orator ORM, menyediakan implementasi ActiveRecord yang sederhana dan indah.
- orm: ORM asinkron.
- pony: ORM yang menyediakan antarmuka SQL ke generator.
- pydal: lapisan antarmuka abstraksi database Python murni.
- basis data NoSQL
- mesin-django-mongodb: ujung belakang Django MongoDB.
- PynamoDB: Antarmuka bergaya Python ke Amazon DynamoDB.
- flywheel: Alat pemetaan objek untuk Amazon DynamoDB.
- MongoEngine: Alat pemetaan dokumen objek Python untuk MongoDB.
- hot-redis: Menyediakan tipe data kaya Python untuk Redis.
- redisco: Pustaka Python yang menyediakan model dan container sederhana yang dapat disimpan di Redis.
- lainnya
- butterdb: Python ORM untuk spreadsheet Google Drive.
kerangka web
Kerangka web tumpukan penuh.
- Django: Kerangka web paling populer di dunia Python.
- seri awesome-django (oleh shahraizali).
- seri awesome-django(oleh wsvincent).
- Flask: Kerangka mikro Python.
- seri labu yang luar biasa
- Piramida: Kerangka web Python sumber terbuka yang kecil, cepat, dan sederhana.
- seri piramida mengagumkan
- Botol: Kerangka web mikro WSGI yang cepat, kecil, dan ringan.
- CherryPy: Kerangka web Python minimalis yang mematuhi protokol HTTP/1.1 dan memiliki kumpulan thread WSGI.
- TurboGears: Kerangka mikro yang dapat diperluas menjadi solusi full-stack.
- web.py: Kerangka web Python yang sederhana dan kuat.
- web2py: Kerangka kerja dan platform web lengkap yang berfokus pada kesederhanaan dan kemudahan penggunaan.
- Tornado: Kerangka web dan perpustakaan jaringan asinkron.
- sanic: kerangka jaringan asinkron berdasarkan Python3.5+.
- starlette: Kerangka kerja ASGI yang ringan dan berkinerja tinggi.
- Masonite: Kerangka web Python modern yang berfokus pada pengembang.
soket web
Perpustakaan terkait soket web.
- autobahn-python: Python WebSocket dan WAMP untuk Twisted dan asyncio.
- saluran: Alat asinkron yang ramah pengembang untuk Django.
- websockets: Pustaka untuk membangun server dan klien WebSocket dengan fokus pada kebenaran dan kesederhanaan.
Izin
Perpustakaan yang mengizinkan atau menolak akses pengguna ke data atau fungsionalitas.
- Carteblanche: Modul penyelarasan kode yang dikembangkan dari sudut pandang pengguna dan desainer, yang menangani navigasi kode dan izin dengan baik.
- django-guardian: Django 1.2+, mengimplementasikan izin objek tunggal.
- aturan-django: Aplikasi kecil namun kuat yang menyediakan manajemen izin tingkat objek tanpa menggunakan basis data.
CMS
Sistem manajemen konten.
- odoo-cms: CMS open source tingkat perusahaan berdasarkan odoo.
- django-cms: CMS sumber terbuka, tingkat perusahaan berdasarkan Django.
- djedi-cms: Django CMS yang ringan namun kuat yang dibuat dengan plugin, pengeditan sebaris, dan kinerja.
- FeinCMS: Salah satu sistem manajemen konten paling canggih yang dibangun di Django.
- Kotti: Kerangka kerja aplikasi web berbasis Python tingkat tinggi yang dibangun di atas Piramida.
- Mezzanine: Platform manajemen konten yang kuat, berkelanjutan, dan fleksibel.
- Opps: Platform CMS yang dirancang untuk majalah, situs surat kabar dan situs portal dengan lalu lintas tinggi, berdasarkan Django.
- Plone: CMS yang dibangun di server aplikasi open source Zope.
- Quokka: CMS kecil yang fleksibel dan dapat diskalakan berdasarkan Flask dan MongoDB.
- Wagtail: Sistem manajemen konten Django.
- Widgy: Kerangka kerja CMS terbaru, berdasarkan Django.
- indico: Sistem manajemen acara kaya fitur yang dikembangkan oleh @CERN.
perdagangan elektronik
Kerangka kerja dan perpustakaan untuk e-commerce dan pembayaran.
- django-oscar: Kerangka kerja e-niaga sumber terbuka untuk Django.
- django-shop: Sebuah sistem penyimpanan berdasarkan Django.
- Kartrid: Aplikasi keranjang belanja yang dibangun di Mezzanine.
- shoop: platform e-niaga sumber terbuka berdasarkan Django.
- alipay: API Python Alipay tidak resmi.
- pedagang: Aplikasi Django yang dapat menerima pembayaran dari beberapa platform pembayaran.
- uang: perpustakaan mata uang. Dilengkapi dengan format lokalisasi backend CLDR opsional, memberikan solusi pertukaran mata uang yang skalabel.
- mata uang python: Menampilkan format mata uang dan nilai numeriknya.
- forex-python: Nilai tukar mata uang asing, indeks harga Bitcoin dan konversi mata uang.
- saleor: platform e-niaga yang kompatibel dengan Django.
API yang tenang
Perpustakaan untuk mengembangkan RESTful API
- Django
- Django-rest-framework: Alat yang ampuh dan fleksibel untuk membangun API web.
- django-tastypie: Mengembangkan API untuk aplikasi Django.
- django-formapi: Membuat API JSON untuk validasi formulir Django.
- Labu
- flask-api: Dikembangkan untuk flask, Anda dapat menelusuri API Web.
- flask-restful: Buat REST API untuk flask dengan cepat.
- flask-restless: Membuat RESTful API untuk model database yang ditentukan oleh SQLAlchemy.
- flask-api-utils: Menangani representasi dan validasi API untuk Flask.
- malam: Kerangka kerja REST API, didorong oleh Flask, MongoDB, dll.
- Piramida
- cornice: Kerangka kerja REST untuk Piramida.
- bingkai-agnostik
- falcon: Kerangka kerja berkinerja tinggi untuk membangun API cloud dan backend aplikasi web.
- sandman: Secara otomatis membuat REST API untuk sistem berbasis database yang ada.
- gelisah: Kerangka kerja REST kerangka-agnostik berdasarkan pengetahuan yang dipelajari dari Tastypie.
- ripozo: Membuat REST/HATEOAS/Hypermedia API dengan cepat.
- apistar: Kerangka kerja API Web cerdas yang dirancang untuk Python 3.
- fastapi: Kerangka web modern dan cepat berdasarkan anotasi tipe Python standar, yang dapat menggunakan versi Python3.6+ untuk membangun API.
- pelukan: Kerangka kerja Python 3 yang dibuat untuk API publik yang bersih.
- sandman2: Secara otomatis menghasilkan REST API untuk sistem berbasis database.
- vibora: Kerangka web yang cepat, efisien, dan asinkron, terinspirasi oleh Flask.
memeriksa
Perpustakaan yang mengimplementasikan skema verifikasi.
- OAuth
- authlib: Pustaka Python yang kuat untuk membangun server OAuth dan OpenID. Termasuk: JWS, JWK, JWA, JWT.
- Otomatis: Kerangka kerja sederhana namun kuat untuk klien otentikasi/otorisasi.
- django-allauth: Aplikasi otentikasi untuk Django.
- django-oauth-toolkit: OAuth2 untuk pengguna Django.
- django-oauth2-provider: Menyediakan akses OAuth2 untuk aplikasi Django.
- Flask-OAuthlib: Implementasi klien OAuth 1.0/a, 2.0 untuk digunakan oleh Flask.
- OAuthLib: Implementasi logika tanda tangan permintaan OAuth yang umum dan lengkap.
- python-oauth2: Antarmuka abstrak yang teruji sepenuhnya. Digunakan untuk membuat klien dan server OAuth.
- python-social-auth: Metode autentikasi sosial yang mudah diatur.
- rauth: Pustaka Python untuk OAuth 1.0/a, 2.0, dan Ofly.
- sanksi: Implementasi klien OAuth2 yang super sederhana.
- lainnya
- PyJWT: Draf Token Web JSON 01.
- python-jws: Implementasi Draf Tanda Tangan Web JSON 02.
- python-jwt: Modul untuk menghasilkan dan memvalidasi token web JSON.
- python-jose: Implementasi JOSE versi Python.
mesin templat
Perpustakaan dan alat untuk pembuatan template dan penguraian leksikal.
- Jinja2: Mesin template modern dan ramah desainer.
- Bunglon: Mesin templat HTML/XML. Meniru ZPT (Zope Page Templates) dan mengoptimalkan kecepatan.
- Genshi: Alat templat Python untuk menghasilkan hasil yang sadar web.
- Mako: Templat ringan ultra-cepat untuk platform Python.
antre
Perpustakaan untuk menangani acara dan antrian tugas.
- seledri: antrian tugas/antrian pekerjaan asinkron berdasarkan pesan terdistribusi
- daramatiq: Pustaka pemrosesan tugas latar belakang yang cepat dan andal untuk Python 3.
- huey: antrian tugas multi-utas kecil.
- mrq: Antrean tugas pekerja terdistribusi Python, menggunakan Redis dan gevent.
- rq: Antrean pekerjaan Python sederhana.
- simpleq: Antrean sederhana dan dapat diskalakan tanpa batas berdasarkan Amazon SQS.
mencari
Perpustakaan dan perangkat lunak yang mengindeks data dan melakukan permintaan pencarian.
- django-haystack: Pencarian modular untuk Django.
- elasticsearch-py: Klien Python resmi yang mendasari Elasticsearch.
- elasticsearch-dsl-py: Klien Python tingkat tinggi resmi untuk Elasticsearch.
- solrpy: Klien Python untuk solr.
- pysolr: Dekorator Python ringan yang mendukung Apache Solr.
- Whoosh: Pustaka mesin pencari Python murni yang cepat.
umpan berita
Perpustakaan untuk membuat aktivitas pengguna.
- django-activity-stream: Menghasilkan aliran aktivitas universal dari tindakan situs Anda.
- Stream-Framework: Buat sistem pesan dan notifikasi dinamis menggunakan Cassandra dan Redis.
Manajemen sumber daya web
Alat untuk mengelola, mengompresi, dan mengecilkan sumber daya situs web.
- django-compressor: Kompres JavaScript atau CSS yang tertaut dan sebaris ke dalam satu berkas cache.
- django-pipeline: perpustakaan pengemasan sumber daya Django.
- django-storages: Kumpulan alat untuk backend penyimpanan khusus untuk Django.
- fanstatic: Mengemas, mengoptimalkan, dan menyediakan dependensi file statis sebagai paket Python.
- Konveyor File: Daemon yang menemukan dan menyinkronkan file ke CDN, S3, dan FTP.
- Flask-Assets: Membantu Anda mengintegrasikan sumber daya web ke dalam aplikasi Flask Anda.
- jinja-assets-compressor: Ekstensi Jinja untuk mengkompilasi dan mengompresi aset Anda.
- aset web: Hasilkan URL cache unik untuk mengemas, mengoptimalkan, dan mengelola aset statis Anda.
cache
Perpustakaan untuk menyimpan data dalam cache.
- Beaker: Perpustakaan caching dan sesi yang dapat digunakan dalam aplikasi web serta skrip dan aplikasi Python mandiri.
- django-cache-machine: Penyimpanan cache otomatis dan pembatalan model Django.
- django-cacheops: ORM dengan pembatalan validasi berdasarkan peristiwa granular otomatis.
- django-viewlet: Merender templat dengan kontrol cache tambahan.
- dogpile.cache: dogpile.cache adalah pengganti Beaker generasi berikutnya, yang dikembangkan oleh penulis yang sama.
- HermesCache: Pustaka caching Python dengan pembatalan berbasis tag dan perlindungan efek dogpile.
- johnny-cache: Kerangka kerja cache aplikasi Django.
- pylibmc: Pembungkus Python dari antarmuka libmemcached.
- python-diskcache: SQLite dan backend cache yang didukung file dengan pencarian lebih cepat daripada memcached dan redis.
e-mail
Perpustakaan untuk mengirim dan menguraikan email.
- django-celery-ses: backend email Django dengan AWS SES dan Celery.
- envelopes: Perpustakaan email untuk digunakan manusia.
- flanker: alamat email dan perpustakaan parsing Mime.
- kotak im: perpustakaan IMAP Python.
- kotak masuk.py: Server SMTP Python.
- kotak masuk: kotak peralatan email sumber terbuka.
- lamson: Server aplikasi SMTP gaya Python.
- mailjet: Implementasi Mailjet API, digunakan untuk menyediakan pengiriman email batch, statistik, dan fungsi lainnya.
- sumsum.mailer: Kerangka kerja distribusi email berskala dan berkinerja tinggi.
- modoboa: Platform hosting dan manajemen email dengan UI web modern dan minimalis.
- pyzmail: Membuat, mengirim, dan mengurai email.
- Talon: Perpustakaan Mailgun untuk mengekstraksi pesan dan tanda tangan.
- yagmail: yagmail adalah klien GMAIL/SMTP yang dirancang untuk membuat pengiriman email sesederhana mungkin.
- salmon: Server email Python.
- mailer: Kerangka kerja pengiriman email berkinerja tinggi dan terukur.
internasionalisasi
Perpustakaan untuk internasionalisasi.
- Babel: Perpustakaan internasionalisasi untuk Python.
- Korea: Perpustakaan leksikon Korea.
- PyICU: Ekstensi Python yang membungkus perpustakaan ICU C++.
Penanganan URL
Perpustakaan untuk mengurai URL
- furl: Pustaka Python kecil yang membuat pemrosesan URL lebih mudah.
- Purl: Kelas URL yang sederhana dan tidak berubah dengan API ringkas untuk interogasi dan pemrosesan.
- Pyshorteners: Perpustakaan Pemendekan URL Python murni.
- Shorturl: Implementasi Python untuk menghasilkan URL pendek dan tautan pendek yang mirip dengan bit.ly.
- WebArgs: Perpustakaan untuk parsing parameter permintaan HTTP, dengan dukungan bawaan untuk kerangka kerja web yang populer, termasuk Flask, Django, Botol, Tornado dan Pyramid.
Pemrosesan HTML
Perpustakaan untuk memproses HTML dan XML.
- Beautifulsoup: Iterasi, cari, dan modifikasi HTML atau XML dengan cara Pythonic.
- Bleach: Perpustakaan HTML Sanitisasi dan Teks Berbasis Putih.
- CSSUTILS: Perpustakaan CSS untuk Python.
- HTML5LIB: Dokumen HTML yang sesuai dengan standar dan perpustakaan parsing dan serialisasi fragmen.
- LXML: Perpustakaan yang sangat cepat, mudah digunakan, dan berfitur lengkap untuk memproses HTML dan XML.
- MarkupSafe: Implementasikan string aman XML/HTML/XHTML Markup untuk Python.
- Pyquery: Perpustakaan untuk parsing HTML, mirip dengan jQuery.
- Permintaan-HTML: Perpustakaan parsing html pythonic yang ramah pengguna.
- Untangle: Konversi dokumen XML menjadi objek Python sehingga mereka dapat dengan mudah diakses.
- xhtml2pdf: html/css ke alat pdf.
- XMLTODICT: Proses XML seperti JSON.
- Weasyprint: Mesin rendering visual untuk HTML dan CSS, dan dapat mengekspor ke PDF.
- xmldataSet: Parsing XML sederhana.
Perpustakaan untuk Situs Web Merangkak
- Scrapy: Kerangka kerja pengikis dan pengikis web yang cepat dan canggih.
- ScrapyDweb: Web UI berfitur lengkap untuk manajemen cluster ScrapyD, mendukung analisis dan visualisasi log scapy, pengemasan otomatis, tugas timer, pemberitahuan email dan fitur khusus lainnya.
- Cola: Kerangka crawler terdistribusi.
- Demiurge: Sebuah kerangka mikro crawler berdasarkan Pyquery.
- Feedparser: Parser pakan universal.
- Grab: Kerangka kerja pengikis situs.
- MechanicalSoup: Perpustakaan Python untuk mengotomatiskan interaksi dengan situs Web.
- Portia: Scrapy Visual Crawling.
- Pyspider: Sistem crawler yang kuat.
- RoboBrowser: Perpustakaan bergaya Python yang sederhana untuk menjelajahi situs web tanpa perlu browser yang diinstal secara terpisah.
Ekstraksi konten web
Perpustakaan untuk ekstraksi konten web.
- Haul: Alat pengikis gambar yang dapat diskalakan.
- HTML2TEXT: Konversi HTML ke Teks Format Markdown.
- Lassie: Perpustakaan pengambilan konten web yang ramah pengguna.
- Micawber: Perpustakaan ekstraksi konten web kecil yang digunakan untuk mengekstrak konten kaya dari URL.
- Surat Kabar: Gunakan Python untuk ekstraksi berita, ekstraksi artikel dan kurasi konten.
- OpenGraph: Modul Python yang digunakan untuk menguraikan protokol grafik terbuka.
- Python-Goose: Konten HTML/Artikel Extractor (Python2).
- Goose3: konten html/ekstraktor artikel (python3).
- Python-Readability: Port Python berkecepatan tinggi dari alat keterbacaan ARC90.
- Sanitasi: Membawa sanitasi ke dunia data yang berantakan.
- Sumy: Modul untuk peringkasan otomatis file teks dan halaman HTML.
- TExtract: Ekstrak teks dari dokumen dalam format apa pun, Word, PowerPoint, PDF dan banyak lagi.
membentuk
Perpustakaan untuk manipulasi formulir.
- DEFORM: Perpustakaan Generasi Bentuk HTML Python, terinspirasi oleh Perpustakaan Generasi Formish Formish.
- Django-Bootstrap3: Django terintegrasi dengan Bootstrap 3.
- Django-Bootstrap4: Django terintegrasi dengan Bootstrap 4.
- Django-Crispy-Forms: Aplikasi Django yang memungkinkan Anda membuat bentuk-bentuk indah dengan cara yang sangat elegan dan kering (jangan ulangi sendiri).
- Django-Remote-Forms: Alat serialisasi bentuk django platform-independen.
- WTFORMS: Perpustakaan validasi dan rendering formulir yang fleksibel.
- WTFORMS-JSON: Ekstensi WTforms untuk memproses data JSON.
Validasi data
Pustaka validasi data. Sebagian besar digunakan untuk validasi formulir.
- Cerberus: Validator pemetaan. Ini mendukung berbagai aturan, menyediakan fungsi normalisasi, dan dapat dengan mudah disesuaikan menjadi definisi skema gaya Python.
- Colander: Suatu sistem untuk memvalidasi dan deserialisasi data yang diperoleh dari XML, JSON, formulir HTML, atau data serial yang sama sederhana lainnya.
- KMatch: Bahasa untuk Kamus Python yang cocok/memvalidasi/memfilter.
- Skema: Perpustakaan untuk memvalidasi struktur data Python.
- Skema: Validasi Struktur Data.
- Valideer: Perpustakaan validasi dan adaptasi data yang ringan dan dapat diperluas.
- Voluptuous: Perpustakaan Validasi Data Python. Terutama untuk memverifikasi JSON, YAML dan data lainnya diteruskan ke Python.
- JSONSCHEMA: Implementasi Python dari skema JSON, digunakan untuk validasi data JSON.
serialisasi
Pustaka Terkait Serialisasi Jenis Data Kompleks.
- Marshmallow: Perpustakaan ringan untuk mengonversi objek kompleks ke dan dari tipe data Python sederhana.
- Pysimdjson: Binding Simdjson untuk Python.
- Python-Rapidjson: Pembungkus Python untuk Rapidjson.
- Ultrajson: Decoder dan encoder JSON cepat yang ditulis dalam C menggunakan binding Python.
Teknologi anti-spam
Perpustakaan untuk membantu Anda melawan e-waste.
- Django-Simple-Captcha: Aplikasi Django yang sederhana dan sangat dapat disesuaikan yang dapat menambahkan captcha ke formulir Django apa pun.
- Django-Simple-Spam-Blocker: Alat pemblokiran spam sederhana untuk Django.
tanda
Perpustakaan untuk penandaan.
- Django-taggit: Alat penandaan Django sederhana.
Panel Admin
Perpustakaan Antarmuka Manajemen.
- Ajenti: Panel manajemen yang layak Anda dapatkan.
- Django-suit: Penggantian untuk antarmuka admin Django (gratis hanya untuk penggunaan non-komersial).
- Django-Xadmin: Penggantian Admin Django dengan banyak fitur bagus.
- Flask-Admin: Kerangka kerja antarmuka manajemen yang sederhana dan dapat diperluas untuk Flask.
- Bunga: Alat untuk pemantauan real-time dari kelompok seledri dan antarmuka manajemen web.
- Grappelli: Kulit yang indah untuk antarmuka admin Django.
- Wooey: Aplikasi Django yang membuat antarmuka pengguna web untuk skrip Python.
- Django-Grappelli: Antarmuka Admin Django dengan tampilan yang indah.
- Django-jet: Template antarmuka admin Django responsif modern dengan fungsionalitas yang ditingkatkan.
- Jet-Bridge: Kerangka Panel Admin, cocok untuk aplikasi apa pun dengan UI yang baik (seperti Django).
Kerangka kerja tanpa server
Gunakan Python untuk mengembangkan pustaka yang terkait dengan model tanpa server.
- Python-Lambda: Toolkit untuk mengembangkan dan menggunakan kode Python di AWS Lambda.
- Zappa: Alat untuk menggunakan aplikasi WSGI di AWS Lambda dan API Gateway.
Generator Situs Statis
Generator situs statis adalah perangkat lunak yang mengambil teks dan templat sebagai input dan output file HTML.
- Pelican: Gunakan penurunan harga atau istirahat untuk konten dan jinja 2 untuk tema. Dukung DVC, Disqus .. Lisensi AGPL.
- Cactus: Generator situs statis untuk desainer.
- Hyde: Generator Situs Statis Berbasis Jinja2.
- Nikola: Situs web statis dan generator blog.
- Tinkerer: Tinkerer adalah mesin blog/generator situs statis yang ditenagai oleh Sphinx.
- Lektor: CMS statis dan mesin blog yang mudah digunakan.
- Madeite: Generator situs/blog sederhana dan ringan (kurang dari 130 baris kode).
proses
Startup proses sistem operasi dan perpustakaan komunikasi.
- Utusan: Lebih ramah pengguna daripada modul subproses Python.
- Sarge: Enkapsulasi lain dari modul subproses.
- SH: Perpustakaan penggantian subproses lengkap.
- delegator.py: Versi subproses 2.0 yang ramah pengguna.
Konkurensi dan paralelisme
Perpustakaan untuk operasi bersamaan dan paralel.
- Multiprocessing: (Python Standard Library) Berbasis proses "Threading".
- Threading: (pustaka Python Standard) Antarmuka Threading Tingkat Tinggi.
- Eventlet: Kerangka kerja asinkron yang mendukung WSGI.
- GEVENT: Perpustakaan Jaringan Python berdasarkan coroutine, menggunakan greenlets.
- Besok: Implementasi Sintaks Dekorator Ajaib untuk menghasilkan kode asinkron.
- UVLOOP: Implementasi Lingkaran Acara Asyncio yang sangat cepat di atas Libuv.
- Concurrent.futures: (Python Standard Library) Antarmuka tingkat tinggi untuk eksekusi asinkron dari objek yang dapat dipanggil.
- Gevent: Perpustakaan jaringan Python berdasarkan greenlets dan coroutine.
- SCOOP: Dukungan untuk operasi paralel yang dapat diskalakan di Python.
jaringan
Perpustakaan untuk Pemrograman Jaringan.
- ASYNCIO: (Perpustakaan Python Standard) Asynchronous I/O, Loop Event, Coroutine, dan Tugas.
- TRIO: Konkurensi Asinkron dan Perpustakaan Ramah I/O.
- Twisted: Mesin jaringan yang digerakkan oleh acara.
- Pulsar: Kerangka Konkurensi yang Digerakkan Acara.
- Diesel: Kerangka I/O Event Berbasis Greenlet.
- Pyzmq: Pembungkus Python untuk Perpustakaan Pesan ZeroMQ.
- TOAPI: Perpustakaan Fast Flask yang ringan, sederhana, dan cepat didedikasikan untuk menyediakan layanan API untuk semua situs web.
- TXZMQ: Pembungkus Python dari Pustaka Pesan Zeromq berdasarkan Twisted.
Websockets
Perpustakaan untuk membantu menggunakan WebSocket.
- Autobahnpython: Untuk Python, menggunakan Websocket & Wamp berdasarkan Twisted dan Asyncio.
- Crossbar: Open Source Unified Application Routing (WebSocket & Wamp untuk Python di Autobahn).
- Django-Socketio: Websockets untuk Django.
- WebSocket-for-python: Perpustakaan klien dan server WebSocket ditulis untuk python2/3 dan pypy.
Server WSGI
Server web yang kompatibel dengan WSGI
- Gunicorn: Pra-berpasangan, sebagian ditulis dalam bahasa C.
- UWSGI: Tujuan dari proyek UWSGI adalah untuk mengembangkan serangkaian alat tumpukan penuh untuk membangun layanan yang di-host, yang ditulis dalam bahasa C.
- Bjoern: Asynchronous, sangat cepat, ditulis dalam bahasa C.
- FAPWS3: Asynchronous (hanya untuk sisi jaringan), ditulis dalam bahasa C.
- Meinheld: Asynchronous, sebagian ditulis dalam C.
- Netius: Asynchronous, sangat cepat.
- Tempel: Multi-threaded, stabil, dan terbukti.
- Roket: Multi-threaded.
- Pelayan: Multi-threading, yang menggerakkan kerangka piramida.
- Werkzeug: Perpustakaan alat WSGI yang menggerakkan Flask dan dapat dengan mudah tertanam ke dalam proyek Anda.
Server asgi
Server web yang kompatibel dengan ASGI.
- Daphne: Server untuk ASGI dan ASGI-HTTP yang mendukung protokol HTTP, HTTP2 dan WebSocket.
- Uvicorn: Server ASGI yang cepat menggunakan Uvloop dan httptools.
Server RPC
Server yang kompatibel dengan RPC.
- SimpleJsonRPCServer: Perpustakaan ini adalah implementasi spesifikasi JSON-RPC.
- SimplexmlrpcServer: (Pustaka Standar Python) Implementasi server XML-RPC sederhana, satu utusan.
- ZerorPC: ZerorPC adalah implementasi RPC yang fleksibel berdasarkan ZeromQ dan MessagePack.
- RPYC (panggilan Python jarak jauh): Perpustakaan RPC transparan dan simetris untuk Python.
kriptografi
- Cryptography: Paket ini dimaksudkan untuk menyediakan konten dan metode kriptografi dasar kepada pengembang Python.
- Hashids: Menerapkan hashids di Python.
- Paramiko: Python (2.6+, 3.3+) untuk protokol SSHV2, menyediakan fungsi klien dan server.
- Passlib: Perpustakaan Penyimpanan Kata Sandi/Hashing yang Aman.
- Pycrypto: Python Cryptography Toolbox.
- PYNACL: Binding Python untuk Perpustakaan Jaringan dan Kriptografi (NACL).
Antarmuka pengguna grafis
Perpustakaan untuk membuat program antarmuka pengguna grafis.
- Kutukan: Pembungkus ncurses bawaan untuk membuat terminal antarmuka pengguna grafis.
- ENAML: Gunakan sintaks deklaratik seperti QML untuk membuat antarmuka pengguna yang indah.
- KIVY: Perpustakaan untuk membuat aplikasi Natural User Interaction (NUI) yang berjalan di platform Windows, Linux, Mac OS X, Android dan iOS.
- Pyglet: Perpustakaan Windowing Cross-Platform dan Multimedia untuk Python.
- PYQT: Binding Python untuk Kerangka Kerja Antarmuka Pengguna Cross-Platform, Mendukung QT V4 dan QT V5.
- Pyside: Binding Python untuk Kerangka Kerja Antarmuka Pengguna Cross-Platform, Mendukung QT V4.
- Tkinter: Tkinter adalah perpustakaan standar de facto untuk Python GUI.
- TOGA: Toolkit GUI asli Python-asli, sistem operasi.
- URWID: Perpustakaan yang digunakan untuk membuat aplikasi GUI terminal, komponen pendukung, acara, warna yang kaya, dll.
- wxpython: WXPython adalah campuran dari perpustakaan kelas WXWidgets C ++ dan bahasa Python.
- Pygobject: Binding Python untuk glib/gobject/gio/gtk+ (GTK+ 3).
- FlexX: FlexX adalah set alat yang ditulis dalam bahasa Python murni untuk membuat program GUI.
- EEL: Perpustakaan untuk membuat aplikasi HTML/JS GUI offline sederhana.
- PysimpleGui: Pembungkus untuk Tkinter, Qt, Wxpython dan Remi.
- PyWebView: Pembungkus asli lintas platform di sekitar komponen tampilan web.
- Dearpygui: Kerangka kerja Python GUI yang dipercepat GPU.
pengembangan permainan
Perpustakaan Pengembangan Game yang Luar Biasa.
- COCOS2D: COCOS2D adalah kerangka kerja untuk mengembangkan game 2D, demo, dan aplikasi grafis/interaktif lainnya. Berdasarkan Pyglet.
- Panda3D: Mesin permainan 3D yang dikembangkan oleh Disney dan dikelola oleh Carnegie Mellon Entertainment Technology Center. Ditulis dalam C ++, sepenuhnya dienkapsulasi untuk Python.
- Pygame: Pygame adalah satu set modul Python untuk menulis game.
- Pyogre: Ikatan Python untuk mesin rendering 3D OGRE, yang dapat digunakan untuk mengembangkan aplikasi 3D seperti game dan program simulasi.
- Pyopengl: Binding Python untuk OpenGL dan API Terkaitnya.
- Pysdl2: pembungkus untuk perpustakaan SDL2, berdasarkan CTYPE.
- Renpy: mesin novel visual.
- Arcade: Kerangka Python modern untuk membuat game dengan grafik dan suara yang menarik.
- Harfang3D: Kerangka Python yang mendukung pengembangan 3D, VR dan game.
mencatat
Perpustakaan untuk menghasilkan dan memanipulasi log.
- Logging: (Perpustakaan Python Standard) menyediakan fungsionalitas logging untuk Python.
- Buku Buku: Penggantian untuk Perpustakaan Logging.
- Eliot: Membuat log untuk sistem yang kompleks dan terdistribusi.
- Raven: Klien Python untuk Sentry.
- Sentry: Server yang merekam dan mengumpulkan log secara real time.
- Sentry-Python: Versi Python dari Sentry SDK.
- Loguru: Perpustakaan logging Python yang dirancang untuk membawa pengalaman yang menyenangkan.
- Structlog: Log terstruktur, membuat logging sederhana.
tes
Perpustakaan untuk menguji basis kode dan menghasilkan data uji.
- Kerangka Pengujian
- Unittest: (Perpustakaan Standar Python) Kerangka Pengujian Unit.
- Hidung: Hidung memperluas fungsionalitas Unittest.
- Hidung2 Penerus
nose
, berdasarkan unittest2
. - Konteks: Kerangka kerja BDD untuk Python 3.3+. Terinspirasi oleh C# Machine.specifications.
- Hipotesis: Hipotesis adalah perpustakaan pengujian berdasarkan fitur gaya canggih canggih.
- Mamba: Alat pengujian utama untuk Python, merangkul BDD.
- Pyshould: Pernyataan gaya harus, berdasarkan Pyhamcrest.
- Pytest: Alat pengujian Python yang matang, berfitur lengkap.
- Hijau: Alat pengujian yang bersih dan berwarna -warni.
- Pyvows: Alat pengujian bergaya BDD, terinspirasi oleh Vows.js.
- Kerangka kerja robot: Kerangka pengujian otomatis umum.
- TOX: Alat untuk pengujian dan penerbitan otomatis, mendukung beberapa versi Python.
- Pengujian GUI/Web
- Selenium: Binding Python untuk Selenium Webdriver.
- Pyautogui: Pyautogui adalah modul pengujian otomatis Cross-Platform yang dimanusiakan.
- Locust: Alat pengujian beban pengguna yang dapat diperluas yang ditulis dalam Python.
- SixPack: Kerangka kerja pengujian A/B bahasa-agnostik.
- Splinter: Alat Pengujian Aplikasi Web Open Source.
- Skematesis: Alat pengujian berbasis properti otomatis untuk menguji aplikasi web yang dibangun menggunakan spesifikasi Open API/Swagger.
- Tes tiruan
- Mock: (Perpustakaan Python Standard) Perpustakaan untuk Mocking Tes.
- Doublex: Kerangka kerja pengujian ganda yang kuat untuk Python.
- Freezegun: Hasilkan waktu yang berbeda dengan memalsukan modul tanggal.
- HTTMOCK: Perpustakaan untuk menghasilkan permintaan palsu untuk Python 2.6+ dan 3.2+.
- HTTPRETTY: Alat mock permintaan HTTP Python.
- Tanggapan: Perpustakaan tujuan umum yang memalsukan perpustakaan permintaan di Python.
- Vcr.py: Rekam dan ulangi interaksi HTTP dalam tes Anda.
- Mocket: Kerangka Mock Soket didukung oleh Gevent/Asyncio/SSL.
- pabrik objek
- FactoryBoy: Perpustakaan penggantian perlengkapan tes untuk Python.
- Mixer: Perpustakaan alternatif lain untuk perlengkapan uji, django pendukung, labu, sqlalchemy, peewee, dll.
- ModelMommy: Buat firmware acak untuk pengujian Django.
- cakupan kode
- Cakupan: Pengukuran Cakupan Kode.
- CODECOV: Alat pengujian cakupan kode yang menyediakan layanan pengujian cakupan kode gratis untuk proyek open source.
- data tiruan
- Faker: Perpustakaan Python untuk menghasilkan data palsu.
- Fake2DB: Generator Database Palsu.
- Mimesis: Perpustakaan Python yang membantu Anda menghasilkan data palsu.
- Radar: menghasilkan tanggal/waktu acak.
- Penanganan kesalahan
- Fuckit.py: Gunakan teknologi canggih untuk memastikan kode python Anda terus berjalan terlepas dari apakah itu benar atau salah.
Pengujian Penetrasi
Pengujian Penetrasi Kerangka kerja dan alat terkait.
- Fsociety: Kerangka kerja pengujian penetrasi.
- Setoolkit: Toolkit Teknik Sosial.
- SQLMAP: Alat pengambilalihan injeksi SQL dan database otomatis.
Analisis kode dan alat serat
Perpustakaan dan alat untuk analisis kode, penguraian, dan memanipulasi basis kode.
Analisis Kode
- COALA: Aplikasi analisis kode yang tidak dapat diperluas dan mudah diperluas.
- Code2Flow: Konversi kode Python dan JavaScript Anda menjadi diagram alur.
- Pycallgraph: Perpustakaan ini dapat memvisualisasikan aliran (grafik panggilan) dari aplikasi Python Anda.
- Pysonar2: Inferensi Jenis Python dan Alat Pengambilan.
- Prospector: Alat untuk menganalisis kode Python.
- Hering: Alat untuk menemukan dan menganalisis kode Python yang tidak valid.
Alat serat
Flake8: Alat Pemeriksaan Kode Sumber Modular, menyediakan dekorator yang terkait dengan pycodestyle
, pyflakes
, dan McCabe.
- Luar biasa-flake8-ekstensi
Pylint: Penganalisa kode sumber yang sepenuhnya dapat disesuaikan.
YAPF: Alat pemformatan kode Python Google.
Pylama: Alat ulasan kode untuk Python dan JavaScript.
Wemake-Python-Styleguide: Alat ulasan kode python paling ketat yang pernah ada.
Pemformatan kode
- AUTOPEP8: Secara otomatis memformat kode python agar sesuai dengan spesifikasi PEP8.
- Hitam: Alat pemformatan kode Python yang berkomitmen.
- ISORT: Perpustakaan Python untuk mengoreksi pesanan impor paket.
Untuk pengecekan tipe statis, Anda juga dapat merujuk pada pengetik-python yang mengagumkan
- Mypy: Periksa jenis variabel selama kompilasi.
- Pemeriksaan Pyre: Pemeriksaan Jenis Kinerja.
- Dipotak: Koleksi Stubs Python dengan tipe statis.
generator anotasi tipe statis
- MonkeyType: Suatu sistem untuk menghasilkan anotasi jenis statis untuk python dengan mengumpulkan jenis runtime.
- Pyannotate: Secara otomatis menghasilkan anotasi yang sesuai dengan PEP-484.
- PyType: Periksa dan menyimpulkan jenis dalam kode Python tanpa menambahkan anotasi.
Alat debugging
Perpustakaan untuk debugging kode.
debugger
- IPDB: Ipython diaktifkan PDB.
- PUDB: Debugger Python layar penuh berbasis konsol.
- PDB ++: Alternatif lain untuk PDB.
- Pyringe: Debugger yang dapat melampirkan dan menyuntikkan kode ke dalam proses Python.
- WDB: Debugger web mewah yang berfungsi di atas websockets.
- WinPDB: Debugger Python dengan antarmuka pengguna grafis yang memungkinkan debugging jarak jauh, berdasarkan RPDB2.
pelacak
- LPTRACE: Strace Dibangun untuk Program Python.
- Manhole: Debug koneksi soket unix dan tampilan jejak tumpukan dan petunjuk interaktif untuk semua utas.
- Pyringe: Debugger yang mampu menempel dan menyuntikkan kode ke dalam proses Python.
- Python-Hunter: Toolkit pelacakan kode yang fleksibel.
Penganalisa Kinerja
- Lineprofiler: Analisis Kinerja Line-By-Line.
- Profiler memori, memori: Pantau penggunaan memori kode Python.
- Profil: Alat profil kinerja Python interaktif.
- PY-SPY: PYTHON PROGRAM MENEKALZER CHAMPLING, DILAKUKAN DALAM RUST.
- Pyflame: Trace Analyzer untuk Python.
- VPROF: Profiler Python Visual.
lainnya
- Pyelftools: Parse dan analisis file ELF dan informasi debugging kurcaci.
- Python-statsd: Python Client for Statsd Server.
- Django-Debug-Toolbar: Menampilkan berbagai informasi debugging untuk Django.
- Django-DevServer: Penggantian untuk server runtime Django.
- Flask-debugtoolbar: Versi Flask dari Django-DeBug-Toolbar.
- Icecream: Periksa variabel, ekspresi dan eksekusi program dengan panggilan fungsi sederhana.
Komputasi ilmiah dan analisis data
Perpustakaan untuk Komputasi Ilmiah dan Analisis Data.
- Astropy: Perpustakaan Python Astronomi.
- BCBIO-NEXTGEN: Toolbox ini menyediakan alur kerja praktik terbaik untuk analisis sekuensing throughput tinggi yang sepenuhnya otomatis.
- BCCB: Kumpulan kode terkait bioanalisis.
- Biopython: Biopython adalah seperangkat alat gratis untuk komputasi biologis.
- Blaze: Antarmuka data besar untuk numpy dan panda.
- CCLIB: Perpustakaan untuk parsing dan menafsirkan output dari paket kimia komputasi.
- NetworkX: Perangkat lunak berkinerja tinggi yang dirancang untuk jaringan yang kompleks.
- Neupy: Jalankan dan uji berbagai algoritma jaringan saraf buatan yang berbeda.
- Numpy: Paket dasar untuk komputasi ilmiah menggunakan Python.
- Open Babel: Kotak alat kimia untuk menggambarkan berbagai data kimia.
- Open Mining: Mining Business Intelligence (BI) menggunakan Python (antarmuka web PANDAS).
- Orange: Penambangan Data, Visualisasi Data, Analisis, dan Pembelajaran Mesin melalui Pemrograman Visual atau Scripting Python.
- PANDAS: Menyediakan struktur data berkinerja tinggi dan mudah digunakan dan alat analisis data.
- Pydy: Pydy adalah singkatan dari dinamika Python, yang digunakan untuk membantu alur kerja pemodelan gerakan dinamis, berdasarkan pada Numpy, Scipy, Ipython dan Matplotlib.
- PYMC: Alat pengambilan sampel Markov Chain Carlo.
- RDKIT: Perangkat lunak ChemiNformatics dan Machine Learning.
- SCIPY: Ekosistem perangkat lunak open source untuk matematika, sains, dan teknik berdasarkan Python.
- Statsmodels: Pemodelan Statistik dan Ekonometrik.
- Sympy: Perpustakaan Python untuk Matematika Simbolik.
- Zipline: Perpustakaan Perdagangan Algoritmik Python.
- Bayesian-Belief-Networks: Kerangka Jaringan Belief Bayesian yang elegan.
- AWS Data Wrangler: Panda yang digunakan pada platform AWS.
- Optimus: Membuat alur kerja sains data gesit mudah saat menggunakan pyspark.
- Warna: Implementasi berbagai transformasi dan algoritma teori warna.
- Karate Club: Kotak alat pembelajaran mesin yang tidak diawasi untuk data terstruktur grafik.
- NIPY: Koleksi kotak peralatan neuroinfluence.
- Obspy: kotak alat Python untuk seismologi.
- QUTIP: Kotak Alat Quantum untuk Python.
- SIMPY: Kerangka simulasi acara diskrit berbasis proses.
visualisasi data
Perpustakaan untuk visualisasi data. Lihat: Awesome-Javascript.
- Matplotlib: Perpustakaan Plotting Python 2D.
- Bokeh: Menggambar web interaktif di Python.
- GGPLOT: Versi Python dari API yang disediakan oleh GGPLOT2 untuk R.
- Plotly: Perpustakaan plot web yang berfungsi dengan Python dan Matplotlib.
- Pyecharts: Perpustakaan visualisasi data berdasarkan Baidu Echarts.
- Pygal: Alat Pembuatan Bagan SVG Python.
- Pygraphviz: Antarmuka Python ke GraphViz.
- Pyqtgraph: Rendering interaktif 2D/3D/gambar interaktif dan komponen ilmiah/teknik.
- Snakeviz: Alat berbasis browser untuk melihat output modul CProfile Python.
- Vincent: Alat konversi untuk mengonversi sintaks Python menjadi Vega.
- Vispy: Alat visualisasi ilmiah berkinerja tinggi berdasarkan OpenGL.
- Altair: Perpustakaan Visualisasi Statistik Deklaratif untuk Python.
- BQPLOT: Perpustakaan plot interaktif untuk Jupyter Notebook.
- Cartopy: Perpustakaan Grafis Python dengan Dukungan Matplotlib.
- Dash: Dibangun di atas labu, bereaksi, dan plot, dirancang untuk menganalisis aplikasi web.
- Diagram: Gunakan diagram sebagai kode.
- PlotNine: Sintaks Grafis Python Berdasarkan GGPlot2.
- Pygraphviz: Antarmuka Python ke GraphViz.
- Seaborn: Visualisasi Data Statistik Menggunakan Matplotlib.
visi komputer
Perpustakaan Terkait Visi Komputer.
- OpenCV: Perpustakaan Visi Komputer Open Source.
- Pyocr: Perpustakaan pembungkus untuk Tesseract dan Cuneiform.
- PyTesseract: Perpustakaan pembungkus lain untuk Google Tesseract OCR.
- SimpleCV: Kerangka kerja sumber terbuka untuk membuat aplikasi visi komputer.
- Easyocr: OCR siap pakai dalam lebih dari 40 bahasa.
- Pengenalan Wajah: Perpustakaan Pengenalan Wajah Sederhana.
- Kornia: Perpustakaan Visi Komputer Terbeda Sumber Terbuka untuk Pytorch.
- Tesserocr: Dekorator API
tesseract-ocr
sederhana yang kompatibel dengan bantal yang dapat digunakan untuk OCR.
pembelajaran mendalam
Jaringan saraf dan kerangka kerja terkait pembelajaran mendalam. Juga lihat learning-deep-learning yang luar biasa.
- Caffe: Antarmuka Python ke Caffe.
- Caffe2: Kerangka kerja pembelajaran yang ringan, modular, dan dapat diperluas.
- Keras: Perpustakaan paket pembelajaran yang mendalam dengan TensorFlow/Theano/CNTK sebagai backend untuk dengan cepat memulai dengan jaringan saraf.
- MXNET: Kerangka kerja pembelajaran mendalam yang efisien dan fleksibel.
- Pytorch: Kerangka kerja pembelajaran yang mendalam dengan tenunan dan jaringan saraf yang dinamis dan kemampuan akselerasi GPU yang kuat.
- Serpentai: Kerangka kerja agen game yang menggunakan video game apa pun sebagai kotak pasir pembelajaran yang mendalam.
- Theano: Perpustakaan Komputasi Numerik Cepat.
- TensorFlow: Kerangka pembelajaran mendalam yang paling populer bersumber terbuka oleh Google.
- SKFLOW: Antarmuka yang disederhanakan ke TensorFlow (meniru scikit-learn).
- Hebel: Perpustakaan pembelajaran mendalam yang dipercepat GPU.
- Pydeep: Perpustakaan Pembelajaran Deep Python.
pembelajaran mesin
Untuk perpustakaan yang terkait dengan pembelajaran mesin, Anda juga dapat merujuk pada pembelajaran mesin yang mengagumkan.
- Kepiting: Mesin rekomendasi yang fleksibel dan cepat.
- NUPIC: Platform Numenta untuk Komputasi Cerdas.
- Pola: Modul Penambangan Jaringan Python.
- Pybrain: Perpustakaan Pembelajaran Mesin Python lainnya.
- Pylearn2: Perpustakaan Pembelajaran Mesin Berbasis Theano.
- Python-Recsys: Perpustakaan Python untuk mengimplementasikan sistem rekomendasi.
- Scikit-Learn: Modul Python Pembelajaran Mesin Dibangun di atas Scipy.
- VowPalporpoise: Pembungkus Python untuk wabbit vowpal ringan.
- Gym: Perangkat untuk mengembangkan dan membandingkan algoritma pembelajaran penguatan.
- H2O: Platform pembelajaran mesin yang cepat dan terukur sumber terbuka.
- Metrik: Evaluasi Metrik untuk Pembelajaran Mesin.
- vowpal_porpoise: versi python dari dekorator vowpal wabbit.
- XGBoost: Perpustakaan meningkatkan gradien yang dapat diskalakan, portabel dan terdistribusi.
- MindSDB: MindSDB adalah lapisan AI open source untuk database yang ada, membuatnya mudah untuk dikembangkan, melatih dan menggunakan model pembelajaran mesin terbaru menggunakan kueri standar.
Sistem rekomendasi
Perpustakaan terkait untuk membangun sistem rekomendasi.
- gangguan: Optimalisasi memori dari perkiraan algoritma tetangga terdekat yang diimplementasikan dalam C ++/Python.
- FastFM: Perpustakaan terkait mesin faktorisasi.
- Implisit: Implementasi Python cepat dari penyaringan kolaboratif pada dataset implisit.
- LIBFFM: Library terkait faktor-factors-factorisasi (FFM).
- LightFM: Implementasi Python dari banyak algoritma rekomendasi populer.
- Spotlight: Model rekomendasi mendalam yang diimplementasikan menggunakan pytorch.
- Kejutan: Alat ilmiah untuk membangun dan menganalisis sistem rekomendasi.
- Tensorrec: Kerangka mesin rekomendasi untuk TensorFlow.
komputasi terdistribusi
Kerangka kerja dan perpustakaan terkait komputasi terdistribusi.
- DPark: Klon Python dari Spark, kerangka kerja seperti MapReduce.
- DUMBO: Modul Python ini memudahkan untuk menulis dan menjalankan program Hadoop.
- Luigi: Modul ini membantu Anda membangun jaringan pipa yang kompleks untuk pekerjaan pemrosesan batch.
- MRJOB: Jalankan pekerjaan MapReduce di Hadoop atau Amazon Web Services.
- Dask: Perpustakaan komputasi paralel yang fleksibel untuk komputasi analitik.
- Pyspark: Python API untuk Spark.
- Ray: Suatu sistem untuk python paralel dan terdistribusi yang menyatukan ekosistem pembelajaran mesin.
- Faust: Perpustakaan pemrosesan aliran Python, ide inti berasal dari aliran Kafka.
- StreamParse: Jalankan kode Python terhadap aliran data fakta. Terintegrasi dengan Apache Storm.
- Mars: Ini adalah kerangka kerja komputasi terpadu berdasarkan tensor untuk perhitungan data skala besar.
pemrograman fungsional
Pemrograman fungsional dengan python.
- Cytoolz: Implementasi Cython dari ToolZ: Alat fungsional berkinerja tinggi.
- fn.py: Pemrograman fungsional di Python: mengimplementasikan beberapa fitur yang hilang dari menikmati pemrograman fungsional.
- FUNCY: Alat fungsional yang keren dan praktis.
- Toolz: Satu set alat pemrograman fungsional untuk iterator, fungsi dan kamus.
- Kelapa: Varian Python yang dibangun untuk pemrograman fungsional yang sederhana, elegan, dan lebih pythonic.
- Lebih banyak-irion: Memiliki lebih banyak metode pengoperasian objek yang dapat diulang daripada
itertools
. - Pengembalian: Koleksi unit, konverter, dan alat komposisi yang aman.
API pihak ketiga
Perpustakaan untuk mengakses API pihak ketiga. Lihat: Daftar Pembungkus dan Perpustakaan API Python.
- Apache-Libcloud: Perpustakaan Python yang dirancang untuk berbagai awan.
- Boto3: Antarmuka Python ke Amazon Web Services.
- Django-WordPress: Model dan tampilan WordPress untuk Django.
- Facebook-SDK: Python SDK untuk platform Facebook.
- Facepy: Facepy membuat interaksi dengan grafik Facebook API lebih mudah.
- Gmail: Antarmuka Python ke Gmail.
- Google-API-Python-Client: Perpustakaan Klien Google APIS untuk Python.
- GSPread: Python API untuk spreadsheet Google.
- Twython: Pembungkus untuk API Twitter.
Alat DevOps
Perangkat Lunak dan Perpustakaan untuk DevOps.
- Ansible: Platform otomatisasi IT yang sangat sederhana.
- SaltStack: Otomasi Infrastruktur dan Sistem Manajemen.
- OpenStack: Perangkat lunak open source untuk membangun awan pribadi dan publik.
- Docker Compose: Lingkungan pengembangan yang cepat dan dipisahkan menggunakan Docker.
- Fabric: Alat sederhana, gaya Python untuk eksekusi dan penyebaran jarak jauh.
- Masakan: Menyediakan serangkaian fungsi canggih untuk kain.
- Fabtools: Alat untuk menulis file kain yang luar biasa.
- Gitapi: API Python murni Git.
- HGAPI: API Python murni Mercurial.
- Honcho: Klon Python Foreman, digunakan untuk mengelola aplikasi berbasis procfile.
- Pexpect: Kontrol program interaktif di terminal semu, seperti yang diharapkan GNU.
- PSUTIL: Proses lintas platform dan modul utilitas sistem.
- Pengawas: Sistem Kontrol Proses UNIX.
- CloudInit: Paket multi-distribusi yang menangani inisialisasi awal instance cloud.
- Pyinfra: Perpustakaan CLI tujuan umum dan perpustakaan Python untuk infrastruktur otomatis.
- Honcho: Klon Python Foreman, digunakan untuk mengelola aplikasi berbasis procfile.
- Borgbackup: Pengarsipan Deduplikasi dengan Kompresi dan Enkripsi.
- Docker-Compose: Lingkungan pengembangan yang cepat dan independen menggunakan Docker.
Penjadwalan tugas
Perpustakaan Penjadwalan Tugas.
- APSCHEDURER: Penjadwal tugas dalam proses ringan namun kuat yang memungkinkan Anda menjadwalkan fungsi.
- Jadwal Django: Aplikasi Penjadwalan Django.
- DOIT: Alat Eksekusi dan Bangun Tugas.
- Gunnery: Alat eksekusi tugas multi-guna yang digunakan dalam sistem terdistribusi, dengan antarmuka interaktif web.
- JOBLIB: Satu set alat yang menyediakan jaringan pipa pekerjaan ringan untuk Python.
- Rencana: Tulis file crontab dengan bantuan ilahi.
- Jadwal: Perpustakaan Penjadwalan Tugas Python yang dimanusiakan.
- Spiff: Mesin alur kerja yang kuat diimplementasikan dalam ular python murni.
- TaskFlow: Perpustakaan Python yang memungkinkan Anda melakukan tugas dengan mudah, konsisten dan andal.
- Airflow: Ini adalah sistem manajemen distribusi alur kerja yang mengelola proses tugas melalui grafik asiklik terarah, mengatur ketergantungan tugas dan penjadwalan waktu.
- Prefek: Kerangka kerja orkestrasi alur kerja modern yang membuatnya mudah untuk membangun, merencanakan, dan memantau pipa data yang kuat.
antarmuka fungsi asing
Perpustakaan yang menggunakan antarmuka fungsi asing.
- CFFI: Antarmuka fungsi asing yang digunakan untuk memanggil kode C.
- CTYPE: (Pustaka Standar Python) Antarmuka fungsi asing yang digunakan untuk memanggil kode C.
- Pycuda: Pembungkus di sekitar NVIDIA CUDA API.
- Swig: Pengemasan Sederhana dan Generator Antarmuka.
Refactor
Python refactoring perpustakaan dan alat terkait.
- Pria Perbaikan Sepeda: Alat refactoring untuk Python.
- Bowler: Kode aman refactoring untuk Python modern.
- Tali: Perpustakaan refactoring untuk Python.
kinerja tinggi
Perpustakaan membuat Python lebih cepat.
- Cython: Kompiler statis yang mengoptimalkan untuk Python. Gunakan pencampuran tipe untuk mendapatkan python dikompilasi ke dalam modul C atau C ++ untuk mendapatkan peningkatan kinerja yang sangat besar.
- Clpython: Implementasi bahasa pemrograman Python yang ditulis dalam Lisp umum.
- Grumpy: Penggantian CPYTHON2.7 dengan kompiler yang lebih kuat daripada Interpreter (Alpha).
- IronPython: Implementasi bahasa pemrograman Python yang ditulis dalam C#.
- Jython: Implementasi bahasa pemrograman Python yang ditulis dalam Java untuk JVM.
- Micropython: Implementasi bahasa pemrograman Python yang efisien dan efisien.
- Pyjion: Python Jit berdasarkan Coreclr.
- Numba: Kompiler Python Jit (tepat waktu) untuk Python ilmiah, dikembangkan oleh pengembang Cython dan Numpy.
- Peachpy: x86-64 assembler tertanam dalam python. Dapat digunakan sebagai assembler inline Python atau sebagai perakit mandiri untuk Windows, Linux, OS X, klien asli atau GO.
- PYPY: Python diimplementasikan dalam Python. Interpreter menggunakan sihir gelap untuk membuat python berjalan lebih cepat tanpa menambahkan informasi jenis tambahan.
- Pyston: Implementasi Python yang dibangun menggunakan LLVM dan teknik JIT modern, yang bertujuan untuk kinerja yang hebat.
- Stackless Python: Versi Python yang disempurnakan.
Platform Microsoft Windows
Pemrograman Python di platform Windows.
- Python (X, Y): Distribusi Python untuk aplikasi ilmiah, berdasarkan QT dan Spyder.
- Pythonlibs: Paket biner ekstensi Python tidak resmi untuk platform Windows.
- Pythonnet: Integrasi Python dengan .NET Common Language Runtime (CLR).
- Pywin32: Ekstensi Python untuk Windows.
- WinPython: Lingkungan pengembangan portabel di bawah sistem Windows 7/8.
Visualisasi Jaringan dan SDN
用来进行网络可视化和SDN(软件定义网络)的工具和库。
- Mininet:一款流行的网络模拟器以及用Python 编写的API。
- POX:一个针对基于Python 的软件定义网络应用(例如OpenFlow SDN 控制器)的开源开发平台。
- Pyretic:火热的SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。
- SDX Platform:基于SDN 的IXP 实现,影响了Mininet, POX 和Pyretic。
- NRU:一个基于组件的软件定义网络框架。
- napalm:可跨供应商API 来操纵网络设备。
perangkat keras
用来对硬件进行编程的库。
- ino:操作Arduino 的命令行工具。
- Pyro:Python 机器人编程库。
- PyUserInput:跨平台的,控制鼠标和键盘的模块。
- scapy:一个非常棒的操作数据包的库。
- wifi:一个Python 库和命令行工具用来在Linux 平台上操作WiFi。
- Pingo:Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的API 用以编程。
- keyboard:在Windows 和Linux 上挂钩并模拟全局键盘事件。
- mouse:在Windows 和Linux 上挂钩并模拟全局鼠标事件。
kesesuaian
帮助从Python 2 向Python 3 迁移的库。
- Python-Future:这就是Python 2 和Python 3 之间丢失的那个兼容性层。
- Six:Python 2 和3 的兼容性工具。
- modernize:使Python 代码更加现代化以便最终迁移到Python 3。
算法和设计模式
数据结构、算法和设计模式的Python 实现。也可以参考awesome-algorithms 。
- algoritma
- algorithms:数据结构和算法的简单示例。
- python-ds:用于面试的数据结构和算法的集合。
- sortedcontainers:排序集合的快速的纯Python 实现。
- TheAlgorithms:所有算法的Python 实现。
- pola desain
- PyPattyrn:一个简单而有效的库,用于实现常见的设计模式。
- python-patterns:一个Python 设计模式集合。
- transitions:轻量级的,面向对象的有限状态机实现。
内置类的增强版实现
一些Python 内置类的增强版实现库。
- attrs:一个在类定义时可替换
__init__
, __eq__
, __repr__
等方法的样板。 - bidict:高效的Pythonic 的双向映射数据结构和相关功能。
- Box:具有高级点符号访问权限的Python 字典。
- dataclasses:(Python 标准库) 数据类。
- DottedDict:提供一种使用点路径符号访问列表和字典的方法的库。
robot
机器人相关库。
- PythonRobotics:各种具有可视化效果的机器人算法的汇总。
- rospy:ROS (Robot Operating System) 库。
聊天工具
聊天机器人开发相关的库。
- errbot:实现ChatOps 的最简单最受欢迎的聊天机器人。
编辑器插件和IDE
- Emacs
- Sublime Text
- anaconda:Anaconda 可将功能齐全的Python 开发IDE 转换为Sublime Text 3。
- SublimeJEDI:一个很棒的自动补全库Jedi 的Sublime Text 插件。
- vim
- jedi-vim:用于Python 的Jedi 自动补全库的Vim 绑定。
- python-mode:一个将Vim 转换为Python IDE 的多合一插件。
- YouCompleteMe:包含Jedi 补全的Python 引擎。
- Visual Studio
- PTVS:Visual Studio Python 工具。
- Kode Visual Studio
- Python:对Python 有丰富支持的官方VSCode 扩展。
- IDE
- PyCharm:JetBrains 提供的商业Python IDE,也有免费的社区版。
- spyder: 开源Python IDE。
企业级应用集成
企业级环境中用于集成的平台与工具。
- Zato:ESB, SOA, REST, APIs 以及云的Python 整合。
GrafikQL
GraphQL 相关库。
- graphene:Python GraphQL 框架。
- tartiflette-aiohttp:Tartiflette 的基于aiohttp 的装饰器,用于通过HTTP 公开GraphQL API。
- tartiflette-asgi:Tartiflette GraphQL 引擎的ASGI 支持。
- tartiflette:支持Python 3.6+ 和asyncio 的SDL 优先的GraphQL 引擎实现。
股票金融
- QUANTAXIS:支持任务调度,分布式部署的股票/期货/期权/港股/虚拟货币的数据/回测/模拟/交易/可视化/多账户纯本地量化解决方案
- abu: 基于python的开源量化交易,量化投资架构
- Hikyuu Quant:基于C++/Python的开源量化交易研究框架,用于策略分析及回测(仅受限于数据,如有数据也可用于期货等)
- vnpy:基于Python的开源量化交易系统开发框架,整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,用于快速构建交易员所需的量化交易应用
Aneka ragam
不属于上面任何一个类别,但是非常有用的库。
- blinker:快速的Python 运行时信号/事件分配系统。
- boltons:一组纯Python 实用工具。
- itsdangerous:将受信任的数据传递到不受信任的环境的帮助工具。
- magenta:使用人工智能生成音乐与艺术的工具。
- pluginbase:一个简单但灵活的Python 插件系统。
- tryton:一个通用业务框架。