Unofficial Python API wrapper to get data at PDDIKTI Kemdikbud
Project description
🎓 PDDIKTI API Python Library
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
- 📦 Instalasi
- ⚡ Quick Start
- ⚠️ Error Handling
- 📚 Dokumentasi Lengkap
- 📊 Struktur Data Response
- 📝 Changelog
- 📋 Requirements
- 🧪 Testing
- 🤝 Contributing
- 📄 License
🚀 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
- Author: Ilham Riski Wibowo
- Issues: GitHub Issues
- PyPI: pddiktipy
⭐ Jika library ini membantu proyek Anda, jangan lupa untuk memberikan star di GitHub!
Project details
Release history Release notifications | RSS feed
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 pddiktipy-2.0.6.tar.gz.
File metadata
- Download URL: pddiktipy-2.0.6.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcd696a17a37d133f7efb535caa7cd46c9bb7050c9964fffdf21d06322425188
|
|
| MD5 |
738607b3c4d4310180a17623682b90bf
|
|
| BLAKE2b-256 |
d184a996b8e6c6b78382434444eec4b33de30a7be35e6316253fe461b11d1d2c
|
File details
Details for the file pddiktipy-2.0.6-py3-none-any.whl.
File metadata
- Download URL: pddiktipy-2.0.6-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dd44eed5e215fa50ab8c24b55cfc66ed98fafe8081db2e601c12e564cfdcbf6
|
|
| MD5 |
8a3733c251789695cc81660a9dd53a63
|
|
| BLAKE2b-256 |
88cc0388ff9d0fc679d9717616526284b46c6c560e2ce8fc162db85d1c45650b
|