<h3 align="center"> <img src="https://asset.laftel.net/static/media/purple.e17b0b50.svg" alt="img" width="30" height=""> Laftel <img src="https://asset.laftel.net/static/media/purple.e17b0b50.svg" alt="img" width="30" height=""> </h3>
<h6 align="center">Unofficial Python Laftel.net API Wrapper</h6>
<div align="center" id="badges"> <img src="https://img.shields.io/pypi/pyversions/laftel?color=816BFF&style=flat-square"> <img src="https://img.shields.io/pypi/v/laftel?color=816BFF&label=laftel&logo=python&logoColor=816BFF&style=flat-square"> <img src="https://img.shields.io/pypi/l/laftel?color=816BFF&logo=gnu&logoColor=816BFF&style=flat-square"> <img src="https://img.shields.io/pypi/dm/laftel?color=816BFF&style=flat-square"> <img src="https://img.shields.io/pypi/status/laftel?color=816BFF&style=flat-square"> </div>
---
## Installation
Requires Python 3.6 or upper
```bash
python3 -m pip install laftel
```
## Usage
```python
import laftel
# Synchronous
def main():
laftel.sync.searchAnime("전생슬") # -> List[SearchResult]
laftel.sync.getAnimeInfo(SerachResult.id) # -> AnimeInfo
# Asynchronous
async def main():
await laftel.searchAnime("전생슬") # -> List[SearchResult]
await laftel.getAnimeInfo(SerachResult.id) # -> AnimeInfo
```
## Models
```python
SearchResult:
id: int # Anime ID (애니 아이디)
name: str # Anime Title (애니 제목)
url: str # Anime Link (애니 링크)
image: str # Cover image URL (커버 사진 URL)
adultonly: bool # Adult Content (성인인증 필요 여부)
genres: List[str] # Genres in korean string (장르 태그 목록)
get_data: Callable # Function returns AnimeInfo for this anime (AnimeInfo 가져오는 함수)
```
```python
AnimeInfo:
id: int # Anime ID (애니 아이디)
name: str # Anime Title (애니 제목)
url: str # Anime Link (애니 링크)
image: str # Cover image URL (커버 사진 URL)
content: str # Summary of anime (애니 줄거리)
ended: bool # Anime complete or not (애니 완결 여부)
awards: List[str] # Arards that granted to anime (애니가 받은 상 목록)
content_rating: str # Content Rating in korean (콘텐츠 등급 - 00세 이용가)
adultonly: bool # Adult Content (성인인증 필요 여부)
viewable: bool # Available in Laftel (라프텔 시청 가능 여부)
genres: List[str] # Genres in korean string (장르 태그 목록)
tags: List[str] # Anime tags from Laftel (라프텔이 붙인 태그)
air_year_quarter: str # Airing quarter (방영분기 - 2020년 1분기)
air_day: str # Airing day (방영 요일)
avg_rating: float # Average User Rating out of 5 (5점 만점 중 평균 별점)
series_id: Optional[int] # Series ID (시리즈 아이디)
production: str # Production company (제작사)
```
## Discord Bot Example
<img width="615" alt="image" src="https://user-images.githubusercontent.com/30466064/147765695-1b33c6cc-9954-4e5b-b1f5-53122aca7759.png">
<img width="596" alt="image" src="https://user-images.githubusercontent.com/30466064/147765773-16b1d228-675f-4766-8e57-5baff42ffaf3.png">
## Example
[View example.py](example.py)
Raw data
{
"_id": null,
"home_page": "https://github.com/331leo/laftel",
"name": "laftel",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "anime,laftel,info,API,wrapper",
"author": "LeoK",
"author_email": "support@leok.kr",
"download_url": "https://github.com/331leo/laftel",
"platform": null,
"description": "<h3 align=\"center\"> <img src=\"https://asset.laftel.net/static/media/purple.e17b0b50.svg\" alt=\"img\" width=\"30\" height=\"\"> Laftel <img src=\"https://asset.laftel.net/static/media/purple.e17b0b50.svg\" alt=\"img\" width=\"30\" height=\"\"> </h3>\n\n<h6 align=\"center\">Unofficial Python Laftel.net API Wrapper</h6>\n\n<div align=\"center\" id=\"badges\"> <img src=\"https://img.shields.io/pypi/pyversions/laftel?color=816BFF&style=flat-square\"> <img src=\"https://img.shields.io/pypi/v/laftel?color=816BFF&label=laftel&logo=python&logoColor=816BFF&style=flat-square\"> <img src=\"https://img.shields.io/pypi/l/laftel?color=816BFF&logo=gnu&logoColor=816BFF&style=flat-square\"> <img src=\"https://img.shields.io/pypi/dm/laftel?color=816BFF&style=flat-square\"> <img src=\"https://img.shields.io/pypi/status/laftel?color=816BFF&style=flat-square\"> </div>\n\n---\n\n## Installation\n\nRequires Python 3.6 or upper\n\n```bash\npython3 -m pip install laftel\n```\n\n## Usage\n\n```python\nimport laftel\n\n# Synchronous\ndef main():\n laftel.sync.searchAnime(\"\uc804\uc0dd\uc2ac\") # -> List[SearchResult]\n laftel.sync.getAnimeInfo(SerachResult.id) # -> AnimeInfo\n\n# Asynchronous\nasync def main():\n await laftel.searchAnime(\"\uc804\uc0dd\uc2ac\") # -> List[SearchResult]\n await laftel.getAnimeInfo(SerachResult.id) # -> AnimeInfo\n```\n\n## Models\n\n```python\nSearchResult:\n\n id: int # Anime ID (\uc560\ub2c8 \uc544\uc774\ub514)\n name: str # Anime Title (\uc560\ub2c8 \uc81c\ubaa9)\n url: str # Anime Link (\uc560\ub2c8 \ub9c1\ud06c)\n image: str # Cover image URL (\ucee4\ubc84 \uc0ac\uc9c4 URL)\n adultonly: bool # Adult Content (\uc131\uc778\uc778\uc99d \ud544\uc694 \uc5ec\ubd80)\n genres: List[str] # Genres in korean string (\uc7a5\ub974 \ud0dc\uadf8 \ubaa9\ub85d)\n\n get_data: Callable # Function returns AnimeInfo for this anime (AnimeInfo \uac00\uc838\uc624\ub294 \ud568\uc218)\n\n```\n\n```python\nAnimeInfo:\n\n id: int # Anime ID (\uc560\ub2c8 \uc544\uc774\ub514)\n name: str # Anime Title (\uc560\ub2c8 \uc81c\ubaa9)\n url: str # Anime Link (\uc560\ub2c8 \ub9c1\ud06c)\n image: str # Cover image URL (\ucee4\ubc84 \uc0ac\uc9c4 URL)\n content: str # Summary of anime (\uc560\ub2c8 \uc904\uac70\ub9ac)\n ended: bool # Anime complete or not (\uc560\ub2c8 \uc644\uacb0 \uc5ec\ubd80)\n awards: List[str] # Arards that granted to anime (\uc560\ub2c8\uac00 \ubc1b\uc740 \uc0c1 \ubaa9\ub85d)\n\n content_rating: str # Content Rating in korean (\ucf58\ud150\uce20 \ub4f1\uae09 - 00\uc138 \uc774\uc6a9\uac00)\n adultonly: bool # Adult Content (\uc131\uc778\uc778\uc99d \ud544\uc694 \uc5ec\ubd80)\n viewable: bool # Available in Laftel (\ub77c\ud504\ud154 \uc2dc\uccad \uac00\ub2a5 \uc5ec\ubd80)\n genres: List[str] # Genres in korean string (\uc7a5\ub974 \ud0dc\uadf8 \ubaa9\ub85d)\n tags: List[str] # Anime tags from Laftel (\ub77c\ud504\ud154\uc774 \ubd99\uc778 \ud0dc\uadf8)\n\n air_year_quarter: str # Airing quarter (\ubc29\uc601\ubd84\uae30 - 2020\ub144 1\ubd84\uae30)\n air_day: str # Airing day (\ubc29\uc601 \uc694\uc77c)\n avg_rating: float # Average User Rating out of 5 (5\uc810 \ub9cc\uc810 \uc911 \ud3c9\uade0 \ubcc4\uc810)\n\n series_id: Optional[int] # Series ID (\uc2dc\ub9ac\uc988 \uc544\uc774\ub514)\n production: str # Production company (\uc81c\uc791\uc0ac)\n```\n\n## Discord Bot Example\n<img width=\"615\" alt=\"image\" src=\"https://user-images.githubusercontent.com/30466064/147765695-1b33c6cc-9954-4e5b-b1f5-53122aca7759.png\">\n<img width=\"596\" alt=\"image\" src=\"https://user-images.githubusercontent.com/30466064/147765773-16b1d228-675f-4766-8e57-5baff42ffaf3.png\">\n\n## Example\n\n[View example.py](example.py)\n\n\n\n",
"bugtrack_url": null,
"license": "GPL-V3",
"summary": "\ud30c\uc774\uc36c \ub77c\ud504\ud154 \ub77c\uc774\ube0c\ub7ec\ub9ac, Unofficial Python Laftel API Wrapper(Laftel)",
"version": "1.3.1",
"project_urls": {
"Download": "https://github.com/331leo/laftel",
"Homepage": "https://github.com/331leo/laftel"
},
"split_keywords": [
"anime",
"laftel",
"info",
"api",
"wrapper"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bcb550b6b2b061cf83ae141df9c336b66e3b3614df6db8d9644ecc12f654119c",
"md5": "b154e75edfd08b578bd564e653bd1d2f",
"sha256": "74340b646c92a4e0df38f0be67304117b6da634e4bfd7edb358eb8b91f59a1aa"
},
"downloads": -1,
"filename": "laftel-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b154e75edfd08b578bd564e653bd1d2f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 17943,
"upload_time": "2023-06-20T16:55:45",
"upload_time_iso_8601": "2023-06-20T16:55:45.704251Z",
"url": "https://files.pythonhosted.org/packages/bc/b5/50b6b2b061cf83ae141df9c336b66e3b3614df6db8d9644ecc12f654119c/laftel-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-20 16:55:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "331leo",
"github_project": "laftel",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "laftel"
}