Episode terakhir membahas sisi organisasi dan pemeliharaan: upgrade versi Python dengan aman, kebijakan deprecation dan compatibility testing, strategi monorepo versus polyrepo, package internal, dependency management di skala org, coding standards, dan contribution guidelines.

Kalian sudah membangun, menguji, men-deploy, dan memonitor aplikasi. Episode 22 menutup perjalanan dengan aspek yang menentukan kesuksesan jangka panjang: migrasi, scaling tim, dan governance. Ini tentang bagaimana project Python dikelola saat tim dan kode membesar.
Kita akan membahas upgrade versi Python yang aman, kebijakan deprecation, monorepo versus polyrepo, package internal, serta coding standards dan contribution guidelines. Inilah perspektif senior engineer yang membedakan tim amatir dari tim profesional.
Mengupgrade versi Python perlu perencanaan, bukan sekadar mengganti interpreter:
import warnings
def fungsi_lama():
warnings.warn(
"gunakan fungsi_baru sebagai gantinya",
DeprecationWarning,
)
return "hasil lama"
with warnings.catch_warnings():
warnings.simplefilter("error")
try:
fungsi_lama()
except DeprecationWarning:
print("deprecation terdeteksi")warnings.warn(..., DeprecationWarning) menandai fungsi yang akan dihapus. warnings.simplefilter("error") mengubah warning menjadi error saat pengujian — memaksa migrasi sebelum versi lama benar-benar dihapus. Strategi ini memperlunak transisi antar versi Python.
Deprecation memberi pengguna waktu bermigrasi. Kebijakan yang baik mengikuti siklus jelas:
Kebijakan ini melindungi pengguna library kalian dan menjaga kepercayaan. Contoh nyata adalah deprecation di library populer yang selalu diumumkan berbulan-bulan sebelumnya.
Compatibility testing memastikan library tetap berjalan di versi yang didukung:
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]matrix: python-version: [...] menguji library di semua versi yang dijanjikan. Hasilnya dipublikasikan di badge dan dokumentasi. Compatibility testing yang konsisten adalah fondasi kepercayaan pada library.
Organisasi kode memakai dua pendekatan utama:
Monorepo memudahkan perubahan lintas project dan versi yang konsisten, tapi bisa jadi besar dan lambat. Polyrepo mengisolasi project dan memudahkan permission granular, tapi menyulitkan koordinasi antar project.
Keputusan monorepo versus polyrepo bergantung pada:
Tidak ada jawaban universal — banyak perusahaan memakai keduanya secara hibrida. Yang penting konsisten dan sesuai kebutuhan tim.
Tim besar sering membangun package internal untuk berbagi kode:
mkdir belajar-internal
cd belajar-internal
python3 -m venv .venv
pip install -e .mkdir belajar-internal memulai package internal. Dengan pip index internal seperti Nexus atau Artifactory, package bisa dibagikan antar tim. Struktur ini memakai semua keterampilan packaging dari episode 19.
Di skala organisasi, dependency perlu dikelola secara terpusat:
Konsistensi versi di seluruh tim mengurangi konflik dan mempermudah migrasi. Tools seperti uv dan Poetry membantu memaksakan kebijakan ini secara otomatis.
Tim profesional menetapkan standar kode yang dijalankan otomatis:
[tool.ruff]
line-length = 100
[tool.black]
line-length = 100
[tool.pytest.ini_options]
addopts = "--strict-markers"[tool.ruff] dan [tool.black] menetapkan aturan format dan lint secara terpusat. Dengan alat ini, semua kontributor menghasilkan kode dengan gaya identik tanpa perdebatan. Standar dijalankan di CI, bukan hanya saran.
Contribution guidelines membuat kolaborasi jelas dan efisien:
Dokumen ini biasanya berada di CONTRIBUTING.md. Guideline yang baik menurunkan hambatan kontribusi sambil menjaga kualitas — keseimbangan yang membuat open source dan tim internal berkembang.
Dalam 23 episode, kalian telah menempuh perjalanan lengkap:
Ini kurikulum yang setara dengan pengalaman bertahun-tahun dalam industri. Yang membedakan kalian sekarang adalah kemampuan menyusunnya menjadi keputusan yang tepat saat membangun sistem nyata.
Teruslah praktik: bangun project pribadi, kontribusi ke open source, dan pelajari domain spesifik seperti data science atau web engineering. Dokumentasi resmi Python dan PEP adalah referensi utama. Perjalanan belajar tidak pernah berhenti — dan kalian sudah punya fondasi yang kuat untuk mengejarnya.
Inti yang harus dibawa pulang:
Inilah akhir dari series Belajar Python — 23 episode dari prerequis sampai governance. Kalian kini memiliki fondasi Python yang utuh dari level bahasa sampai skala organisasi. Teruslah menulis kode, teruslah belajar, dan terapkan semua yang kalian pelajari dalam project nyata!