Memulai paket

Mengembangkan Paket Python

James Fulton

Climate informatics researcher

Mengapa membuat paket?

  • Agar kode lebih mudah digunakan ulang
  • Menghindari banyak salin-tempel
  • Menjaga fungsi tetap mutakhir
  • Membagikan kode ke orang lain
Mengembangkan Paket Python

Isi kursus

Anda akan membangun paket lengkap dan membahas:

  • Tata letak berkas
  • Struktur impor
  • Membuat paket dapat diinstal
  • Menambahkan lisensi dan README
  • Gaya dan unit test untuk kualitas tinggi
  • Mendaftarkan dan merilis ke PyPI
  • Menggunakan templat paket
Mengembangkan Paket Python

Skrip, modul, dan paket

  • Skrip - Berkas Python yang dijalankan seperti python myscript.py

  • Paket - Direktori berisi kode Python untuk diimpor

    • mis. numpy
  • Subpaket - Paket kecil di dalam paket

    • mis. numpy.random dan numpy.linalg
  • Modul - Berkas Python di dalam paket yang menyimpan kode paket.

    • mis. contoh di 2 slide berikutnya
  • Pustaka - Paket atau kumpulan paket

    • mis., pustaka standar Python (math, os, datetime,...)
Mengembangkan Paket Python

Struktur direktori paket

Pohon direktori untuk paket sederhana

mysimplepackage/
|-- simplemodule.py
|-- __init__.py
  • Direktori bernama mysimplepackage adalah Paket Python
  • simplemodule.py menyimpan semua kode paket
  • __init__.py menandai direktori ini sebagai paket Python
Mengembangkan Paket Python

Isi paket sederhana

__init__.py

Berkas kosong

simplemodule.py
def cool_function():
    ...
    return cool_result

...

def another_cool_function():
    ...
    return another_cool_result

Berkas dengan fungsi dan kode generik.

Mengembangkan Paket Python

Subpaket

Pohon direktori untuk paket dengan subpaket

mysklearn/
|-- __init__.py
|-- preprocessing
|   |-- __init__.py
|   |-- normalize.py
|   |-- standardize.py
|-- regression
|   |-- __init__.py
|   |-- regression.py
|-- utils.py
Mengembangkan Paket Python

Ayo berlatih!

Mengembangkan Paket Python

Preparing Video For Download...