# ๐ PDDIKTI API Python Library
[](https://app.codacy.com/gh/IlhamriSKY/PDDIKTI-kemdikbud-API/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[](https://www.python.org/downloads/release/python-3121/)
[](https://pypi.org/project/pddiktipy/)
[](https://www.pepy.tech/projects/pddiktipy)
[](https://github.com/IlhamriSKY)
[](https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API/blob/master/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](https://pddikti.kemdikbud.go.id/) 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](#-fitur-utama)
- [๐ฆ Instalasi](#-instalasi)
- [โก Quick Start](#-quick-start)
- [โ ๏ธ Error Handling](#๏ธ-error-handling)
- [๐ Dokumentasi Lengkap](#-dokumentasi-lengkap)
- [๐ Struktur Data Response](#-struktur-data-response)
- [๐ Changelog](#-changelog)
- [๐ Requirements](#-requirements)
- [๐งช Testing](#-testing)
- [๐ค Contributing](#-contributing)
- [๐ License](#-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
```bash
pip install pddiktipy
```
**Requirements:**
- Python 3.7+
- requests
- urllib3
## โก Quick Start
```python
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:
```python
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](documentation/API_DOCUMENTATION.md)** - 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](documentation/CHANGELOG.md)** - Riwayat versi dan roadmap pengembangan
## ๐ Requirements
- **Python 3.7+**
- **requests**
- **urllib3**
## ๐งช Testing
**๐งช [Testing Guide](documentation/TESTING.md)** - Panduan testing dan quality assurance
## ๐ค Contributing
**๐ค [Contributing Guide](documentation/CONTRIBUTING.md)** - Panduan berkontribusi pada proyek
## ๐ License
**๐ [MIT License](LICENSE)** - Distributed under the MIT License
---
## ๐ Support & Contact
- **Author**: [Ilham Riski Wibowo](https://github.com/IlhamriSKY)
- **Issues**: [GitHub Issues](https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API/issues)
- **PyPI**: [pddiktipy](https://pypi.org/project/pddiktipy/)
---
**โญ Jika library ini membantu proyek Anda, jangan lupa untuk memberikan star di GitHub!**
Raw data
{
"_id": null,
"home_page": "https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API",
"name": "pddiktipy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "pddikti, api, education, indonesia, kemdikbud, data",
"author": "Ilham Riski Wibowo",
"author_email": "ilhamrisky21@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d1/84/a996b8e6c6b78382434444eec4b33de30a7be35e6316253fe461b11d1d2c/pddiktipy-2.0.6.tar.gz",
"platform": null,
"description": "# \ud83c\udf93 PDDIKTI API Python Library\r\n\r\n[](https://app.codacy.com/gh/IlhamriSKY/PDDIKTI-kemdikbud-API/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)\r\n[](https://www.python.org/downloads/release/python-3121/)\r\n[](https://pypi.org/project/pddiktipy/)\r\n[](https://www.pepy.tech/projects/pddiktipy)\r\n[](https://github.com/IlhamriSKY)\r\n[](https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API/blob/master/LICENSE)\r\n\r\n> **Library Python untuk mengakses data PDDIKTI Kemdikbud dengan mudah, aman, dan terdokumentasi lengkap**\r\n\r\nWrapper API Python yang powerful dan user-friendly untuk mengambil data dari [PDDIKTI](https://pddikti.kemdikbud.go.id/) 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.\r\n\r\n## \ud83d\udccb Daftar Isi\r\n\r\n- [\ud83d\ude80 Fitur Utama](#-fitur-utama)\r\n- [\ud83d\udce6 Instalasi](#-instalasi)\r\n- [\u26a1 Quick Start](#-quick-start)\r\n- [\u26a0\ufe0f Error Handling](#\ufe0f-error-handling)\r\n- [\ud83d\udcda Dokumentasi Lengkap](#-dokumentasi-lengkap)\r\n- [\ud83d\udcca Struktur Data Response](#-struktur-data-response)\r\n- [\ud83d\udcdd Changelog](#-changelog)\r\n- [\ud83d\udccb Requirements](#-requirements)\r\n- [\ud83e\uddea Testing](#-testing)\r\n- [\ud83e\udd1d Contributing](#-contributing)\r\n- [\ud83d\udcc4 License](#-license)\r\n\r\n## \ud83d\ude80 Fitur Utama\r\n\r\n- \u2705 **Type Hints Lengkap**: Full type annotations untuk better IDE support\r\n- \u2705 **Error Handling Komprehensif**: Custom exceptions dan validation\r\n- \u2705 **Context Manager Support**: Resource management yang aman\r\n- \u2705 **Dokumentasi Lengkap**: Google-style docstrings dengan 63 API methods\r\n- \u2705 **Performance Optimized**: Connection pooling dan retry strategy\r\n- \u2705 **Indonesian Context**: Field explanations dalam konteks pendidikan Indonesia\r\n- \u2705 **Flexible Parameters**: Support untuk integer dan string parameters\r\n- \u2705 **Production Ready**: Enhanced validation dan logging\r\n\r\n## \ud83d\udce6 Instalasi\r\n\r\n```bash\r\npip install pddiktipy\r\n```\r\n\r\n**Requirements:**\r\n- Python 3.7+\r\n- requests\r\n- urllib3\r\n\r\n## \u26a1 Quick Start\r\n\r\n```python\r\nfrom pddiktipy import api\r\nfrom pprint import pprint\r\n\r\n# Menggunakan context manager (recommended)\r\nwith api() as client:\r\n # Cari semua data dengan keyword\r\n hasil = client.search_all('Unika Soegijapranata')\r\n pprint(hasil)\r\n \r\n # Cari mahasiswa spesifik\r\n mahasiswa = client.search_mahasiswa('Ilham Riski Wibowo')\r\n pprint(mahasiswa)\r\n```\r\n\r\n## \u26a0\ufe0f Error Handling\r\n\r\nLibrary ini menyediakan error handling yang komprehensif:\r\n\r\n```python\r\nfrom pddiktipy import api\r\nfrom pddiktipy.exceptions import (\r\n ValidationError, \r\n APIConnectionError, \r\n APITimeoutError,\r\n PDDIKTIError\r\n)\r\n\r\ntry:\r\n with api() as client:\r\n # Ini akan raise ValidationError karena keyword kosong\r\n result = client.search_mahasiswa(\"\")\r\n \r\nexcept ValidationError as e:\r\n print(f\"Error validasi: {e}\")\r\nexcept APIConnectionError as e:\r\n print(f\"Error koneksi: {e}\")\r\nexcept APITimeoutError as e:\r\n print(f\"Request timeout: {e}\")\r\nexcept PDDIKTIError as e:\r\n print(f\"Error PDDIKTI API: {e}\")\r\n```\r\n\r\n## \ud83d\udcda Dokumentasi Lengkap\r\n\r\n**\u27a1\ufe0f [API Documentation](documentation/API_DOCUMENTATION.md)** - 63 method API dengan dokumentasi komprehensif, contoh penggunaan, dan struktur data response\r\n\r\n## \ud83d\udcca Struktur Data Response\r\n\r\nSemua response API menggunakan TypedDict untuk type safety dan konsistensi. Struktur data disesuaikan dengan konteks pendidikan Indonesia dan standar PDDIKTI.\r\n\r\n## \ud83d\udcdd Changelog\r\n\r\n**\ud83d\udcdd [Changelog](documentation/CHANGELOG.md)** - Riwayat versi dan roadmap pengembangan\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n- **Python 3.7+**\r\n- **requests**\r\n- **urllib3**\r\n\r\n## \ud83e\uddea Testing\r\n\r\n**\ud83e\uddea [Testing Guide](documentation/TESTING.md)** - Panduan testing dan quality assurance\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\n**\ud83e\udd1d [Contributing Guide](documentation/CONTRIBUTING.md)** - Panduan berkontribusi pada proyek\r\n\r\n## \ud83d\udcc4 License\r\n\r\n**\ud83d\udcc4 [MIT License](LICENSE)** - Distributed under the MIT License\r\n\r\n---\r\n\r\n## \ud83d\udcde Support & Contact\r\n\r\n- **Author**: [Ilham Riski Wibowo](https://github.com/IlhamriSKY)\r\n- **Issues**: [GitHub Issues](https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API/issues)\r\n- **PyPI**: [pddiktipy](https://pypi.org/project/pddiktipy/)\r\n\r\n---\r\n\r\n**\u2b50 Jika library ini membantu proyek Anda, jangan lupa untuk memberikan star di GitHub!**\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Unofficial Python API wrapper to get data at PDDIKTI Kemdikbud",
"version": "2.0.6",
"project_urls": {
"Documentation": "https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API#readme",
"Homepage": "https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API",
"Issues": "https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API/issues",
"Repository": "https://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API"
},
"split_keywords": [
"pddikti",
" api",
" education",
" indonesia",
" kemdikbud",
" data"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "88cc0388ff9d0fc679d9717616526284b46c6c560e2ce8fc162db85d1c45650b",
"md5": "8a3733c251789695cc81660a9dd53a63",
"sha256": "6dd44eed5e215fa50ab8c24b55cfc66ed98fafe8081db2e601c12e564cfdcbf6"
},
"downloads": -1,
"filename": "pddiktipy-2.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8a3733c251789695cc81660a9dd53a63",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 18485,
"upload_time": "2025-07-30T09:41:56",
"upload_time_iso_8601": "2025-07-30T09:41:56.168869Z",
"url": "https://files.pythonhosted.org/packages/88/cc/0388ff9d0fc679d9717616526284b46c6c560e2ce8fc162db85d1c45650b/pddiktipy-2.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d184a996b8e6c6b78382434444eec4b33de30a7be35e6316253fe461b11d1d2c",
"md5": "738607b3c4d4310180a17623682b90bf",
"sha256": "fcd696a17a37d133f7efb535caa7cd46c9bb7050c9964fffdf21d06322425188"
},
"downloads": -1,
"filename": "pddiktipy-2.0.6.tar.gz",
"has_sig": false,
"md5_digest": "738607b3c4d4310180a17623682b90bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18301,
"upload_time": "2025-07-30T09:41:57",
"upload_time_iso_8601": "2025-07-30T09:41:57.231912Z",
"url": "https://files.pythonhosted.org/packages/d1/84/a996b8e6c6b78382434444eec4b33de30a7be35e6316253fe461b11d1d2c/pddiktipy-2.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-30 09:41:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IlhamriSKY",
"github_project": "PDDIKTI-kemdikbud-API",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.25.0"
]
]
}
],
"lcname": "pddiktipy"
}