Oleh David Bieber, Software Engineer di Google Brain

Pertama kali ditulis di Blog Open Source Google


Hari ini kami gembira dapat mengumumkan Python Fire yang open source. Python Fire menghasilkan command line interface (CLI) dari setiap kode Python. Cukup panggil fungsi Fire dari setiap program Python untuk mengubah program ke dalam CLI secara otomatis. Library tersedia dari pypi lewat `pip install fire`, dan sumbernya tersedia di GitHub.

Python Fire akan otomatis mengubah kode Anda ke dalam CLI tanpa perlu melakukan pekerjaan tambahan apapun. Anda tidak perlu menentukan argumen, menyiapkan informasi bantuan, atau menulis fungsi utama yang menentukan cara kode dijalankan. Sebagai gantinya, cukup panggil fungsi `Fire` dari modul utama, dan Python Fire akan mengurus bagian selanjutnya. Python Fire menggunakan pemeriksaan untuk mengubah objek Python yang Anda berikan -- baik berupa kelas, objek, kamus, fungsi, maupun seluruh modul -- ke dalam command line interface, lengkap dengan penyelesaian dan dokumentasi tab, dan CLI akan tetap diperbarui meski kode berubah.

Untuk menggambarkan hal ini, perhatikan contoh sederhana ini.
#!/usr/bin/env python
import fire


class Example(object):
 def hello(self, name='world'):
   """Mengucapkan salam kepada nama tertentu."""
   return 'Halo {name}!'.format(name=name)


def main():
 fire.Fire(Example)


if __name__ == '__main__':
 main()


Ketika fungsi Fire dijalankan, perintah kita akan dieksekusi. Hanya dengan memanggil Fire, kita dapat menggunakan Example class seakan-akan sebuah command line utility.

$ ./example.py hello
Halo dunia!
$ ./example.py halo David
Halo David!
$ ./example.py hello --name=Google
Halo Google!



Tentu saja, Anda dapat melanjutkan menggunakan modul seperti library Python pada umumnya, memungkinkan Anda menggunakan kode yang sama persis baik dari Bash dan Python. Jika Anda menulis library Python, lalu Anda tidak perlu lagi memperbarui metode atau client ketika bereksperimen dengannya; sebaliknya cukup jalankan potongan library yang sedang Anda lakukan eksperimen dari command line. Meskipun ketika library berubah, alat (bantu) command line akan tetap diperbarui.

Di Google, para teknisi menggunakan Python Fire untuk menghasilkan alat (bantu) command line dari library Python. Kami memiliki alat (bantu) manipulasi gambar dibangun dengan menggunakan Fire serta Python Imaging Library, PIL. Di Google Brain, kami menggunakan alat (bantu) manajemen eksperimen dibangun dengan Fire, memungkinkan kami mengelola eksperimen sama baiknya dari Python atau dari Bash.

Setiap CLI Fire muncul dengan mode interaktif. Jalankan CLI dengan flag `--interactive` untuk meluncurkan IPython REPL dengan hasil perintah Anda, serta variabel berguna lainnya yang telah ditetapkan dan siap digunakan. Pastikan untuk memeriksa dokumentasi Python Fire untuk mengetahui lebih lanjut tentang hal ini dan fitur Fire lainnya yang berguna.

Diantara kemudahan, keumuman, dan kemampuan Python Fire, kami berharap Anda menemukan library yang berguna untuk proyek Anda sendiri.