Skip to main content

Unofficial Python API wrapper to get data at PDDIKTI Kemdikbud

Project description

🎓 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!

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

pddiktipy-2.0.6.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

pddiktipy-2.0.6-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

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

Hashes for pddiktipy-2.0.6.tar.gz
Algorithm Hash digest
SHA256 fcd696a17a37d133f7efb535caa7cd46c9bb7050c9964fffdf21d06322425188
MD5 738607b3c4d4310180a17623682b90bf
BLAKE2b-256 d184a996b8e6c6b78382434444eec4b33de30a7be35e6316253fe461b11d1d2c

See more details on using hashes here.

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

Hashes for pddiktipy-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6dd44eed5e215fa50ab8c24b55cfc66ed98fafe8081db2e601c12e564cfdcbf6
MD5 8a3733c251789695cc81660a9dd53a63
BLAKE2b-256 88cc0388ff9d0fc679d9717616526284b46c6c560e2ce8fc162db85d1c45650b

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