Skip to content

IlhamriSKY/PDDIKTI-kemdikbud-API

Repository files navigation

🎓 PDDIKTI API Python Library

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!

About

Unofficial Python 3 API wrapper to retrieve data from PDDIKTI Kemdikbudristek.

Topics

Resources

License

Stars

Watchers

Forks

Languages