Details and Documentation
Comprehensive Documentation
The detailed usage guide, API reference, and development notes for this project are available in the README file on GitHub.
About the Project
YokAPI
An API Layer That Normalizes YOK Data
About the Project
YokAPI is a data layer designed for developers that serves YOK Atlas data through a standardized API. It normalizes the year-to-year inconsistencies and scattered structure of YOK Atlas, delivering standardized JSON for fast, async bulk data fetching. By unifying education data from different sources into a consistent format, it makes integration in other projects much easier.
Example Usage
from YokAPI import Lisans, Onlisans
import asyncio
async def main():
async with Lisans(program_id=108210665, year=2024) as lisans:
# Get normalized data
data = await lisans.get_program_data()
print(data)
if __name__ == "__main__":
asyncio.run(main())
Project Impact
YokAPI powers the core data layer of Sinavizcisi.com and enables other developers to access education data with ease.
Technical Details
API Design & Architecture
Asynchronous Operations
High-performance, non-blocking HTTP requests with aiohttp and asyncio
- Concurrent request management
- Connection pool optimization
- Timeout and retry mechanisms
Data Modeling
Strong type checking and validation with Pydantic
- Automatic JSON output preparation
- Safer development with type hints
- Custom validation rules for data integrity
Code Architecture
Session Management
Flexible session management based on user preference:
# Auto session
async with Lisans(program_id=123) as api:
data = await api.get_data()
# Custom session
session = aiohttp.ClientSession()
api = Lisans(program_id=123, session=session)
Data Processing Pipeline
Data Fetching
Async fetching of raw data from YOK Atlas
Normalization
Standardizing inconsistent formats
Validation
Data validation with Pydantic models
API Response
Standardized JSON response
Other Projects
Take a look at the other projects I built
Sinavizcisi
A web platform where I analyze YKS placement data and university reviews with AI and present them to students.
EBA Score Bot
A desktop bot with a GUI that automates earning points on EBA.
Turkish University Department Data (2019-2024)
A comprehensive dataset that cleans and standardizes 2019-2024 undergraduate and associate program data collected from YOK Atlas and OSYM.