Skip to main content

🎓 PDDIKTI API Python Library

Codacy Badge BuildStatus python3.x Version 2.0.5.post1 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')
    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!

Metadata

Release files for pddiktipy 2.0.5.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pddiktipy 2.0.5.post1
File Size Uploaded
pddiktipy-2.0.5.post1.tar.gz 17.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pddiktipy 2.0.5.post1
File Interpreter ABI Platform
pddiktipy-2.0.5.post1-py3-none-any.whl Python 3 none any Details

Total release size: 36.0 kB

Release files / pddiktipy-2.0.5.post1.tar.gz

Download URL pddiktipy-2.0.5.post1.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a69ae7c72c980e13f71e87c448ef2eba15b0081eb776213b3f6169aa5af3f4ed
BLAKE2b-256 checksum
How to use checksums
c6e3b548521fce670d1df1f7b64c0989631d6a34d2a77b7ce68cd44ab36906f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.6

Release files / pddiktipy-2.0.5.post1-py3-none-any.whl

Download URL pddiktipy-2.0.5.post1-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
749f42aa35d89d805f36003b5d65c46337a76267a4e8796b42e68b44f93b8647
BLAKE2b-256 checksum
How to use checksums
1b61952aa99c03db2721c0c1a2d718e06bf0be0d7de221cc4d5ba4270e583a25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.6

Release history Release notifications | RSS feed

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.6

2 release files

This release

2.0.5.post1 This release

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.0

2 release files

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page