Skip to main content

Terminal UI untuk menjelajahi dan mengunduh data BPS Indonesia secara interaktif

Project description

STADATA-X

Python Version License: MIT PyPI version Tests Code Coverage GitHub Release

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

Layar Selamat Datang

Pemilihan Wilayah

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

  1. Konfigurasi Token API BPS:

    stadata-x
    # Tekan 's' untuk masuk ke pengaturan
    # Tempel token API BPS Anda
    
  2. 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

  1. Kunjungi Portal WebAPI BPS: Buka webapi.bps.go.id/developer/.
  2. Daftar/Masuk: Buat akun baru atau masuk jika Anda sudah memilikinya.
  3. Salin Token: Setelah masuk, salin Token API yang ditampilkan di dashboard Anda.
  4. Konfigurasi di stadata-x:
    • Jalankan aplikasi: stadata-x
    • Tekan s untuk masuk ke menu Pengaturan.
    • Tempel Token API Anda, lalu simpan.
    • Gunakan tombol "Tes Koneksi" untuk memvalidasi token Anda.

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

  1. Fork repositori ini
  2. Buat branch untuk fitur Anda (git checkout -b feature/AmazingFeature)
  3. Commit perubahan Anda (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. 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 ruff untuk 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:

๐Ÿ“„ 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

stadata_x-0.1.7.tar.gz (36.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stadata_x-0.1.7-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

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

Hashes for stadata_x-0.1.7.tar.gz
Algorithm Hash digest
SHA256 527982ed5afa3bb3603703683827f4884c69d5c4fac01b647c5248cba770eeb3
MD5 2f2c1e574f86e0a25f72de2c1fd1b91a
BLAKE2b-256 2157324e517df0f299f0223bea7d7b4f47d18e611eba28cb435b80c372416f3c

See more details on using hashes here.

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

Hashes for stadata_x-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0a12b46e126df108594fff8cf6c815ead047dcd66ab9f3e270a82b00d973c2a0
MD5 d4525e81fdc71f364af0e65cc3c50f2e
BLAKE2b-256 faf2802f231ce91dca0822617c4e9cc781e7aebf1a05423b51645aa4ff044583

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page