๐ŸŽ“ PDDIKTI API Python Library

July 30, 2025 ยท View on GitHub

Codacy Badge python3.x Version 2.0.6 Downloads Author License

Library Python untuk mengakses data PDDIKTI Kemdikbud dengan mudah, aman, dan terdokumentasi lengkap

Wrapper API Python yang powerful dan user-friendly untuk mengambil data dari PDDIKTI Kemdikbud. Library ini menyediakan interface yang mudah digunakan untuk mengakses data mahasiswa, dosen, perguruan tinggi, dan program studi di Indonesia dengan dukungan type hints, error handling yang komprehensif, dan dokumentasi lengkap.

๐Ÿ“‹ Daftar Isi

๐Ÿš€ Fitur Utama

  • โœ… Type Hints Lengkap: Full type annotations untuk better IDE support
  • โœ… Error Handling Komprehensif: Custom exceptions dan validation
  • โœ… Context Manager Support: Resource management yang aman
  • โœ… Dokumentasi Lengkap: Google-style docstrings dengan 63 API methods
  • โœ… Performance Optimized: Connection pooling dan retry strategy
  • โœ… Indonesian Context: Field explanations dalam konteks pendidikan Indonesia
  • โœ… Flexible Parameters: Support untuk integer dan string parameters
  • โœ… Production Ready: Enhanced validation dan logging

๐Ÿ“ฆ Instalasi

pip install pddiktipy

Requirements:

  • Python 3.7+
  • requests
  • urllib3

โšก Quick Start

from pddiktipy import api
from pprint import pprint

# Menggunakan context manager (recommended)
with api() as client:
    # Cari semua data dengan keyword
    hasil = client.search_all('Unika Soegijapranata')
    pprint(hasil)
    
    # Cari mahasiswa spesifik
    mahasiswa = client.search_mahasiswa('Ilham Riski Wibowo')
    pprint(mahasiswa)

โš ๏ธ Error Handling

Library ini menyediakan error handling yang komprehensif:

from pddiktipy import api
from pddiktipy.exceptions import (
    ValidationError, 
    APIConnectionError, 
    APITimeoutError,
    PDDIKTIError
)

try:
    with api() as client:
        # Ini akan raise ValidationError karena keyword kosong
        result = client.search_mahasiswa("")
        
except ValidationError as e:
    print(f"Error validasi: {e}")
except APIConnectionError as e:
    print(f"Error koneksi: {e}")
except APITimeoutError as e:
    print(f"Request timeout: {e}")
except PDDIKTIError as e:
    print(f"Error PDDIKTI API: {e}")

๐Ÿ“š Dokumentasi Lengkap

โžก๏ธ API Documentation - 63 method API dengan dokumentasi komprehensif, contoh penggunaan, dan struktur data response

๐Ÿ“Š Struktur Data Response

Semua response API menggunakan TypedDict untuk type safety dan konsistensi. Struktur data disesuaikan dengan konteks pendidikan Indonesia dan standar PDDIKTI.

๐Ÿ“ Changelog

๐Ÿ“ Changelog - Riwayat versi dan roadmap pengembangan

๐Ÿ“‹ Requirements

  • Python 3.7+
  • requests
  • urllib3

๐Ÿงช Testing

๐Ÿงช Testing Guide - Panduan testing dan quality assurance

๐Ÿค Contributing

๐Ÿค Contributing Guide - Panduan berkontribusi pada proyek

๐Ÿ“„ License

๐Ÿ“„ MIT License - Distributed under the MIT License


๐Ÿ“ž Support & Contact


โญ Jika library ini membantu proyek Anda, jangan lupa untuk memberikan star di GitHub!