pddiktipy


Namepddiktipy JSON
Version 2.0.6 PyPI version JSON
download
home_pagehttps://github.com/IlhamriSKY/PDDIKTI-kemdikbud-API
SummaryUnofficial Python API wrapper to get data at PDDIKTI Kemdikbud
upload_time2025-07-30 09:41:57
maintainerNone
docs_urlNone
authorIlham Riski Wibowo
requires_python>=3.7
licenseMIT
keywords pddikti api education indonesia kemdikbud data
VCS
bugtrack_url
requirements requests
Travis-CI
coveralls test coverage No coveralls.
            # ๐ŸŽ“ PDDIKTI API Python Library

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/39e00a8c8c1c4007a68d1ae3f53c03e7)](https://app.codacy.com/gh/IlhamriSKY/PDDIKTI-kemdikbud-API/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![python3.x](https://img.shields.io/badge/3.12.1-blue.svg?&logo=python&label=Python)](https://www.python.org/downloads/release/python-3121/)
[![Version 2.0.6](https://img.shields.io/pypi/v/pddiktipy?logo=Python&logoColor=white&label=PyPI&color=c125ff)](https://pypi.org/project/pddiktipy/)
[![Downloads](https://img.shields.io/pepy/dt/pddiktipy?logo=PyPI&logoColor=white&label=Downloads&color=c125ff)](https://www.pepy.tech/projects/pddiktipy)
[![Author](https://img.shields.io/badge/Author-Ilham%20Riski-blue.svg?style=flat)](https://github.com/IlhamriSKY)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](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[![Codacy Badge](https://app.codacy.com/project/badge/Grade/39e00a8c8c1c4007a68d1ae3f53c03e7)](https://app.codacy.com/gh/IlhamriSKY/PDDIKTI-kemdikbud-API/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)\r\n[![python3.x](https://img.shields.io/badge/3.12.1-blue.svg?&logo=python&label=Python)](https://www.python.org/downloads/release/python-3121/)\r\n[![Version 2.0.6](https://img.shields.io/pypi/v/pddiktipy?logo=Python&logoColor=white&label=PyPI&color=c125ff)](https://pypi.org/project/pddiktipy/)\r\n[![Downloads](https://img.shields.io/pepy/dt/pddiktipy?logo=PyPI&logoColor=white&label=Downloads&color=c125ff)](https://www.pepy.tech/projects/pddiktipy)\r\n[![Author](https://img.shields.io/badge/Author-Ilham%20Riski-blue.svg?style=flat)](https://github.com/IlhamriSKY)\r\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](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"
}
        
Elapsed time: 0.57850s