Terminal UI untuk menjelajahi dan mengunduh data BPS Indonesia secara interaktif
Project description
STADATA-X
Membuka Data Statistik Indonesia, Satu Perintah Sekaligus.
stadata-x adalah sebuah aplikasi terminal (TUI) modern yang dirancang untuk menjelajahi, melihat, dan mengunduh data dari Badan Pusat Statistik (BPS) Indonesia secara interaktif. Dibangun dengan Python dan Textual, aplikasi ini menyediakan antarmuka yang cepat dan efisien untuk mengakses kekayaan data publik BPS langsung dari command line Anda.
Lupakan mengunduh file secara manual. Dengan stadata-x, Anda dapat dengan mudah menavigasi data berdasarkan wilayah, mencari tabel statistik, melihat pratinjau, dan mengunduhnya dalam berbagai format (CSV, Excel, JSON).
๐ธ Screenshots
Layar Selamat Datang
Pemilihan Wilayah
โจ Fitur Utama
- ๐ฏ Navigasi Interaktif: Jelajahi data BPS berdasarkan wilayah (Provinsi/Kabupaten/Kota) melalui antarmuka yang responsif.
- ๐ Pratinjau Tabel: Lihat isi tabel statistik langsung di terminal sebelum mengunduh, dengan pewarnaan dan perataan kolom otomatis untuk keterbacaan maksimal.
- ๐ฅ Unduhan Multi-Format: Unduh data yang Anda butuhkan dalam format CSV, Excel (.xlsx), atau JSON.
- โ๏ธ Manajemen Konfigurasi: Simpan Token API BPS dan atur folder unduhan default dengan mudah.
- ๐ Penanganan Error Cerdas: Dilengkapi dengan mekanisme retry otomatis untuk mengatasi rate limiting API dan penanganan error koneksi yang tangguh.
- ๐ Caching: Permintaan data yang sering diakses (seperti daftar wilayah) disimpan dalam cache untuk mempercepat waktu muat.
- ๐จ Antarmuka Modern: Pengalaman pengguna yang mulus dan modern di dalam terminal Anda.
๐ Persyaratan Sistem
- Python: 3.9 atau yang lebih baru
- Terminal: Terminal modern yang mendukung ANSI colors (Windows Terminal, iTerm2, GNOME Terminal, dll.)
- Token API BPS: Diperlukan untuk mengakses data (gratis dari portal developer BPS)
๐ Status & Coverage
- โ 113 Tests Passed - Test suite lengkap dengan coverage tinggi
- โ Cross-platform - Kompatibel Windows, Linux, dan macOS
- โ CI/CD Ready - Automated testing dan deployment
- โ PyPI Published - Tersedia untuk instalasi global
๐ Instalasi
Pastikan Anda memiliki Python 3.9 atau yang lebih baru. stadata-x dapat diinstal dengan mudah menggunakan pip, pipx, atau uv.
Menggunakan pipx (Direkomendasikan)
pipx menginstal paket Python dalam lingkungan terisolasi, yang merupakan cara terbaik untuk menginstal aplikasi command-line.
pipx install stadata-x
Menggunakan pip
pip install stadata-x
Menggunakan uv
uv pip install stadata-x
Verifikasi Instalasi
Setelah instalasi, verifikasi bahwa aplikasi terinstal dengan benar:
stadata-x --version
โก Quick Start
-
Konfigurasi Token API BPS:
stadata-x # Tekan 's' untuk masuk ke pengaturan # Tempel token API BPS Anda
-
Jelajahi Data:
stadata-x # Pilih wilayah โ Pilih tabel โ Lihat pratinjau โ Unduh
Konfigurasi Awal: API Key BPS
Untuk menggunakan aplikasi ini, Anda memerlukan Token API dari BPS. Token ini gratis dan berfungsi sebagai kunci untuk mengakses data.
Cara Mendapatkan Token API
- Kunjungi Portal WebAPI BPS: Buka webapi.bps.go.id/developer/.
- Daftar/Masuk: Buat akun baru atau masuk jika Anda sudah memilikinya.
- Salin Token: Setelah masuk, salin Token API yang ditampilkan di dashboard Anda.
- Konfigurasi di
stadata-x:- Jalankan aplikasi:
stadata-x - Tekan
suntuk masuk ke menu Pengaturan. - Tempel Token API Anda, lalu simpan.
- Gunakan tombol "Tes Koneksi" untuk memvalidasi token Anda.
- Jalankan aplikasi:
Penggunaan
Jalankan aplikasi dari terminal Anda:
stadata-x
โจ๏ธ Navigasi Dasar
| Tombol | Fungsi |
|---|---|
โ/โ atau j/k |
Bergerak di dalam daftar |
Enter |
Pilih item (wilayah atau tabel) |
Escape |
Kembali ke level sebelumnya |
s |
Buka halaman Pengaturan |
d |
Buka dialog unduhan (saat di pratinjau tabel) |
q |
Keluar dari aplikasi |
๐ Struktur Proyek
stadata-x/
โโโ stadata_x/ # Kode aplikasi utama
โ โโโ assets/ # CSS dan asset statis
โ โโโ screens/ # Layar-layar aplikasi
โ โโโ widgets/ # Komponen UI kustom
โ โโโ *.py # Modul utama
โโโ assets/ # Screenshot dan gambar dokumentasi
โโโ .gitignore # File yang diabaikan Git
โโโ LICENSE # Lisensi MIT
โโโ pyproject.toml # Konfigurasi proyek Python
โโโ README.md # Dokumentasi ini
๐ค Kontribusi
Kontribusi, laporan bug, dan permintaan fitur sangat kami hargai! ๐
Cara Berkontribusi
- Fork repositori ini
- Buat branch untuk fitur Anda (
git checkout -b feature/AmazingFeature) - Commit perubahan Anda (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buka Pull Request
Pengembangan Lokal
Untuk pengembangan lokal, kloning repositori dan instal dependensi:
git clone https://github.com/dzakwanalifi/stadata-x.git
cd stadata-x
pip install -e ".[dev]"
Jalankan aplikasi dalam mode pengembangan dengan hot-reloading:
textual run --dev stadata_x/main.py
Panduan Pengembangan
- Gunakan
ruffuntuk linting dan formatting - Ikuti konvensi penamaan PEP 8
- Tambahkan docstring untuk fungsi baru
- Update dokumentasi jika diperlukan
๐ Acknowledgments
- Badan Pusat Statistik (BPS) - Untuk menyediakan data publik yang berharga
- Textual - Framework TUI yang powerful
- stadata - Library Python resmi untuk API BPS
๐ Dukungan
Jika Anda mengalami masalah atau memiliki pertanyaan:
- ๐ง Email: dzakwan624@gmail.com
- ๐ Issues: GitHub Issues
- ๐ Dokumentasi: README ini
๐ Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LICENSE untuk detail lebih lanjut.
Dibuat dengan โค๏ธ untuk komunitas data Indonesia
โญ Jika Anda menyukai proyek ini, berikan bintang di GitHub!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stadata_x-0.1.7.tar.gz.
File metadata
- Download URL: stadata_x-0.1.7.tar.gz
- Upload date:
- Size: 36.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
527982ed5afa3bb3603703683827f4884c69d5c4fac01b647c5248cba770eeb3
|
|
| MD5 |
2f2c1e574f86e0a25f72de2c1fd1b91a
|
|
| BLAKE2b-256 |
2157324e517df0f299f0223bea7d7b4f47d18e611eba28cb435b80c372416f3c
|
File details
Details for the file stadata_x-0.1.7-py3-none-any.whl.
File metadata
- Download URL: stadata_x-0.1.7-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a12b46e126df108594fff8cf6c815ead047dcd66ab9f3e270a82b00d973c2a0
|
|
| MD5 |
d4525e81fdc71f364af0e65cc3c50f2e
|
|
| BLAKE2b-256 |
faf2802f231ce91dca0822617c4e9cc781e7aebf1a05423b51645aa4ff044583
|