Dokumentasi Bukan Pelengkap: Membangun Dokumentasi Proyek Python dengan MkDocs dan GitHub Pages

Selama beberapa minggu terakhir penulis mengembangkan BuckPow, sebuah platform open source untuk energy observability dan benchmarking perangkat IoT serta embedded system. Saat ini repository tidak hanya berisi aplikasi backend berbasis Python, tetapi juga firmware untuk ESP8266/ESP32, dashboard web, REST API, contoh implementasi, hingga dokumentasi perangkat keras. Pada awal pengembangan, seluruh informasi penulis tampilkan di dalam README.md. Cara tersebut cukup efektif ketika proyek masih sederhana. Namun, setelah setelah beta rilis pertama, README mulai terasa kurang untuk menampung semua informasi mengenai proyek. Sehingga penulis mulai kesulitan menjaga dokumentasi untuk tetap rapi, pada kondisi tersebut penulis menyadari bahwa dokumentasi tidak bisa lagi diperlakukan sebagai lampiran proyek. Dokumentasi harus menjadi bagian dari proses pengembangan. ...

18 Juli 2026 · 4 menit · 656 kata · Ari Effendi

Mengoptimalkan GitHub Actions: Testing FastAPI 86% Lebih Cepat

Salah satu keuntungan menggunakan Continuous Integration (CI) adalah setiap perubahan kode dapat langsung divalidasi melalui serangkaian automated tests. Namun, seiring bertambahnya unit dan feature tests, waktu eksekusi pipeline juga akan meningkat. Pada proyek FastAPI yang sedang penulis kembangkan, GitHub Actions membutuhkan sekitar 2 menit 6 detik untuk menjalankan 335 automated tests. Waktu tersebut memang tidak terlalu lama jika hanya dijalankan sekali, tetapi dalam aktivitas pengembangan, setiap push, pull request, atau merge, akumulasi waktu pengujian mulai terasa mengganggu. ...

12 Juli 2026 · 5 menit · 895 kata · Ari Effendi

Memaksimalkan Pengelolaan Lingkungan Python dengan Virtualenv

Python adalah bahasa pemrograman populer dengan ribuan paket dan library yang dapat memudahkan pengembangan perangkat lunak. Namun, ketika bekerja pada beberapa proyek Python yang berbeda, Anda mungkin menghadapi masalah terkait dependensi, konflik versi, atau kekacauan lingkungan Python. Solusi untuk masalah ini adalah menggunakan virtualenv, alat yang memungkinkan Anda membuat lingkungan Python terisolasi untuk setiap proyek, sehingga dapat mengelola dependensi secara lebih efisien. Mengenal Virtualenv virtualenv adalah sebuah alat yang memungkinkan Anda membuat lingkungan Python terisolasi di dalam sebuah direktori proyek. Dengan demikian, Anda dapat menginstal paket, library, dan dependensi yang spesifik untuk proyek tersebut tanpa mengganggu lingkungan Python global yang ada di sistem Anda. ...

3 November 2023 · 2 menit · 366 kata · Ari Effendi