# Enka Network Python
EN | [TH](https://github.com/DEViantUA/EnkaNetworkV2.py/blob/master/README_TH.md) | [JA](https://github.com/DEViantUA/EnkaNetworkV2.py/blob/master/README_JA.md)
Library for API wrapper data from site https://enka.network/
# 🏓 Table of content
- [💾 Installation](#installation)
- [✨ Usage](#usage)
- [👀 Example](#example)
- [📗 Class Methods](#class-methods)
- [📥 Response data](#return-data)
- [UID](#uid)
- [Profile](#profile)
- [🚧 Structure](#structure)
- [Player owner](#player-owner)
- [Profile patreon](#profile-patreon)
- [Profile Hoyos](#profile-hoyos)
- [Build(s) info](#avatar-builds-info)
- [Profile info](#profile-info)
- [Player](#player)
- [Namecard](#namecard)
- [Avatar Icon](#avatar-icon)
- [Character preview](#character-preview)
- [Characters](#characters)
- [Icon](#icon)
- [Constellation](#constellation)
- [Skill](#skill)
- [Equipments (Artifact, Weapon)](#equipments-artifact-weapon)
- [Equipments Info](#equipments-info)
- [Equipments Stats](#equipments-stats)
- [FIGHT_PROP Data](#fight_prop-data)
- [Build(s)](#build)
- [🔧 Assets](#assets)
- [Character, constellations, skills, namecards](#assets-character-constellations-skills-namecards)
- [NameTextMapHash](#assets-nametextmaphash)
- [🌎 Languages Supported](#languages-supported)
- [🙋 Support & Question](#support--question)
- [📄 LICENSE](#license)
# Installation
```
pip install enkanetwork.py
```
# Usage
```py
import asyncio
from enkanetwork import EnkaNetworkAPI
client = EnkaNetworkAPI()
async def main():
async with client:
data = await client.fetch_user(843715177)
print("=== Player Info ===")
print(f"Nickname: {data.player.nickname}")
print(f"Level: {data.player.level}")
print(f"Icon: {data.player.avatar.icon.url}")
print(f"Signature: {data.player.signature}")
print(f"Achievement: {data.player.achievement}")
print(f"Abyss floor: {data.player.abyss_floor} - {data.player.abyss_room}")
print(f"Cache timeout: {data.ttl}")
asyncio.run(main())
```
## Preview
```sh
=== Player Info ===
Nickname: mrwan2546
Level: 55
Icon: https://enka.network/ui/UI_AvatarIcon_Kazuha.png
Signature: K A Z U H A M U C H <3
Achievement: 396
Abyss floor: 8 - 3
Cache timeout: 300
```
## Example
Please refer in [example](./example/) folder.
# Class Methods
| Name | Description |
| ----------------------------------- | --------------------------------------------------------------------------------------------------- |
| fetch_user(uid) | Fetch user data (UID) **(Will be depercated soon)** |
| fetch_user_by_uid(uid) | Fetch user data (UID) |
| fetch_user_by_username(profile_id) | Fetch user data (Profile ID) **(For subscriptions in Enka.Network)** |
| fetch_hoyos_by_username(profile_id) | Fetch user hoyo(s) data (Profile ID) **(For subscriptions in Enka.Network)** |
| fetch_builds(profile_id, metaname) | Fetch build data (Profile ID) **(For subscriptions in Enka.Network)** |
| set_language(lang) | Set new language <br> Please refer [Languages Supported](#languages-supported) |
| update_assets() | |
# Return data
## UID
Return type: `EnkaNetworkResponse`
| Wrapper | API | Notes |
| ---------- | -------------- | ------------------------------------------ |
| player | playerInfo | Please refer [Player](#player) |
| characters | avatarInfoList | Please refer [Characters](#characters) |
| profile | - | Please refer [Profile Info](#profile-info) |
| owner | owner | Please refer [Player Owner](#player-owner) |
| ttl | ttl | |
| uid | uid | |
## Profile
Return type: `EnkaNetworkProfileResponse`
| Wrapper | API | Notes |
| -------- | ---------- | --------------------------------------------------- |
| username | playerInfo | Please refer [Player](#player) |
| profile | profile | Please refer in [Profile patreon](#profile-patreon) |
| hoyos | hoyos | Please refer [Profile hoyos](#profile-hoyos) |
# Structure
## Player owner
| Wrapper | API | Notes |
| -------- | -------- | --------------------------------------------------- |
| hash | hash | |
| username | username | Please refer [Tier](#tier) |
| profile | profile | Please refer in [Profile patreon](#profile-patreon) |
| builds | - | Please refer [Build(s) info](#avatar-builds-info) |
## Profile Patreon
| Wrapper | API | Notes |
| ------------ | ------------ | -------------------------- |
| bio | bio | |
| level | level | Please refer [Tier](#tier) |
| profile | worldLevel | |
| signup_state | signup_state | |
| image_url | image_url | |
## Profile Hoyos
| Wrapper | API | Notes |
| ------------ | ------------ | ------------------------------------------------ |
| uid_public | uid_public | |
| public | public | |
| verified | verified | |
| player_info | player_info | Please refer [Profile Patreon](#profile-patreon) |
| signup_state | signup_state | |
| signup_state | signup_state | |
## Avatar build(s) info
| Wrapper | API | Notes |
| ----------- | ----------- | -------------------------------------- |
| id | id | |
| name | name | |
| avatar_id | avatar_id | |
| avatar_data | avatar_data | Please refer [Characters](#characters) |
| order | order | |
| live | live | |
| settings | settings | |
| public | public | |
## Profile Info
| Wrapper | API | Notes |
| ------- | --- | ------------------------------ |
| uid | - | UID in-game |
| url | - | URL to enter Enka.Network site |
| path | - | Path URL |
## Player
| Wrapper | API | Notes |
| ------------------ | ------------------------ | ---------------------------------------------------- |
| nickname | nickname | Please refer [Namecard](#namecard) |
| signature | signature | |
| world_level | worldLevel | |
| achievement | finishAchievementNum | |
| namecard | namecardId | |
| namecards | showNameCardIdList -> id | Please refer [Namecard](#namecard) |
| abyss_floor | towerFloorIndex | |
| abyss_room | towerLevelIndex | |
| characters_preview | showAvatarInfoList | Please refer [Character Preview](#character-preview) |
| avatar | profilePicture | Please refer [Avatar Icon](#avatar-icon) |
### Avatar icon
| Wrapper | API | Notes |
| ------- | -------- | ------------------------------------ |
| id | avatarId | |
| icon | | Please refer [Icon Data](#icon-data) |
### Namecard
| Wrapper | API | Notes |
| ------- | --- | ------------------------------------------------------------- |
| id | - | Namecard ID |
| name | - | Namecard name |
| icon | - | Namecard icon, Please refer [Icon Data](#icon-data) |
| banner | - | Namecard banner, Please refer [Icon Data](#icon-data) |
| navbar | - | Namecard navbar (Alpha), Please refer [Icon Data](#icon-data) |
### Character preview
| Wrapper | API | Notes |
| ------- | --- | ------------------------------------------------- |
| id | - | Avatar ID |
| name | - | Avatar Name |
| level | - | Avatar Level |
| icon | - | Avatar Icon, Please refer [Icon Data](#icon-data) |
## Characters
| Wrapper | API | Notes |
| ----------------------- | ---------------------- | ------------------------------------------------------ |
| id | avatarId | |
| name | - | Avatar Name |
| element | - | Please refer [Element Type](#element-type) |
| rarity | - | Rarity |
| image | - | Please refer [Icon](#icon) |
| xp | propMap -> 1001 | |
| ascension | propMap -> 1002 | |
| level | propMap -> 4001 | |
| max_level | - | Avatar max level (Like 50/60) |
| friendship_level | fetterInfo.level | |
| equipments | equipList | Please refer [Equipments](#equipments-artifact-weapon) |
| stats | fightPropMap | Please refer [FIGHT_PROP Data](#fight_prop-data) |
| constellations | talentIdList | Please refer [Constellation](#constellation) |
| constellations_unlocked | - | Constellation unlocked |
| skill_data | inherentProudSkillList | |
| skill_id | skillDepotId | |
| skills | - | Please refer [Skill](#skill) |
### Icon
| Wrapper | API | Notes |
| ------- | --- | -------------------------------------------------------- |
| icon | - | Avatar icon, Please refer [Icon Data](#icon-data) |
| side | - | Avatar side icon, Please refer [Icon Data](#icon-data) |
| banner | - | Avatar wish banner, Please refer [Icon Data](#icon-data) |
### Constellation
| Wrapper | API | Notes |
| -------- | --- | -------------------------- |
| id | - | Constellation ID |
| name | - | Constellation Name |
| icon | - | Constellation Icon (URL) |
| unlocked | - | Constellation has unlocked |
### Skill
| Wrapper | API | Notes |
| ---------- | --- | ----------------------- |
| id | - | Skill ID |
| name | - | Skill Name |
| icon | - | Skill Icon (URL) |
| level | - | Skill Level |
| is_boosted | - | Skill level has boosted |
## Equipments (Artifact, Weapon)
| Wrapper | API | Notes |
| ---------- | ----------------------------------- | ------------------------------------------------ |
| id | itemId | |
| level | reliquary -> level, weapon -> level |
| type | - | Type of equipment (Artifact or Weapon) |
| refinement | weapon -> affixMap | |
| ascension | weapon -> promoteLevel | |
| detail | flat | Please refer [Equipments Info](#equipments-info) |
### Equipments Info
| Wrapper | API | Notes |
| ------------- | ----------------------------------- | -------------------------------------------------- |
| name | - | Equipment Name (Artifact name or Weapon name) |
| icon | icon | Please refer [Icon Data](#icon-data) |
| artifact_type | - | Please refer [Artifact Type](#artifact-type) |
| rarity | rankLevel | |
| mainstats | reliquaryMainstat, weaponStats -> 0 | Please refer [Equipments Stats](#equipments-stats) |
| substats | reliquarySubstats, weaponStats -> 1 | Please refer [Equipments Stats](#equipments-stats) |
### Equipments Stats
| Wrapper | API | Notes |
| ------- | ------- | ------------------------------ |
| prop_id | prop_id | |
| type | - | Value type (NUMBER or PERCENT) |
| name | - | Name of FIGHT_PROP |
| value | value | |
## FIGHT_PROP Data
In FIGHT_PROP data. You can get the value from 4 methods.
| Choice | Example | Output |
|------------------|---------------------------|----------------------------|
| Get raw value | stats.FIGHT_PROP_HP.value | 15552.306640625 |
| Get rounded value| stats.FIGHT_PROP_ATTACK.to_rounded() | 344 |
| Get percentage | stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage() | 61.5 |
| Get percentage and symbol | stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage_symbol() | 61.5% |
## Build
In this `Builds` It's not pretty data. You can use this method to get data. Or if you want get full, You can use `raw` argument
| Choice | Example | Output |
|------------------|---------------------------|----------------------------|
| Get avatar ID list | builds.get_avatar_list() | [10000021,10000037,10000025, ...] |
| Get character build | builds.get_character(10000021) | List of [Build info](#avatar-builds-info) |
| Get build info by avatar id | builds.get_character(10000021, 11111111) | [Build info](#avatar-builds-info) |
# Icon Data
In icon data. You can get the value from 2 methods.
| Choice | Example | Output |
|------------------|---------------------------|--------------------------------|
| Get filename | icon.filename | UI_AvatarIcon_Kazuha_Card.png |
| Get URL | icon.url | https://enka.network/ui/UI_AvatarIcon_Kazuha_Card.png |
## Artifact Type
| Key | Value |
| ------- | -------------- |
| Flower | EQUIP_BRACER |
| Feather | EQUIP_NECKLACE |
| Sands | EQUIP_SHOES |
| Goblet | EQUIP_RING |
| Circlet | EQUIP_DRESS |
## Element Type
| Key | Value |
| ------- | -------- |
| Cryo | Ice |
| Hydro | Water |
| Anemo | Wind |
| Pyro | Fire |
| Geo | Rock |
| Electro | Electric |
# Assets
## Assets character, constellations, skills, namecards
You can use avatarId to get the character, constellations, skills, namecards from assets.
```py
import asyncio
from enkanetwork import Assets
assets = Assets()
async def main():
# Character
assets.character(10000046)
# Constellations
assets.constellations(2081199193)
# Skills
assets.constellations(10462)
# Namecards
assets.namecards(210059)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
## Assets NameTextMapHash
The `NameTextMapHash` is a hash map that contains the name text of the assets. You can get `NameTextMapHash` from `hash_id` like this:
```py
import asyncio
from enkanetwork import Assets
assets = Assets(lang="en") # Set languege before get name (Ex. English)
async def main():
print(assets.get_hash_map(1940919994)) # Hu tao
# OR you can get FIGHT_PROP name
print(assets.get_hash_map("FIGHT_PROP_BASE_ATTACK")) # Base ATK
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
## Languages Supported
| Languege | Code |
| ---------- | ---- |
| English | en |
| русский | ru |
| Tiếng Việt | vi |
| ไทย | th |
| português | pt |
| 한국어 | kr |
| 日本語 | jp |
| 中文 | zh |
| Indonesian | id |
| français | fr |
| español | es |
| deutsch | de |
| Taiwan | cht |
| Chinese | chs |
If you want full docs for the API, visit [EnkaNetwork API Docs](https://github.com/EnkaNetwork/API-docs)
# LICENSE
[MIT License](./LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/DEViantUA/EnkaNetworkV2.py",
"name": "enkanetworkv2.py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "enkanetwork.py, enkanetwork, enka.network, genshinapi, enkanetworkV2, enkanetworkV2.py",
"author": "DeviantUa",
"author_email": "deviantapi@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/40/56/b7030944dcb0b1e6213f5f4efa2586081a8dd95d446df241f57e88b2f945/enkanetworkv2.py-2.1.4.tar.gz",
"platform": null,
"description": "# Enka Network Python\r\n\r\nEN | [TH](https://github.com/DEViantUA/EnkaNetworkV2.py/blob/master/README_TH.md) | [JA](https://github.com/DEViantUA/EnkaNetworkV2.py/blob/master/README_JA.md)\r\n\r\nLibrary for API wrapper data from site https://enka.network/\r\n\r\n# \ud83c\udfd3 Table of content\r\n\r\n- [\ud83d\udcbe Installation](#installation)\r\n- [\u2728 Usage](#usage)\r\n- [\ud83d\udc40 Example](#example)\r\n- [\ud83d\udcd7 Class Methods](#class-methods)\r\n- [\ud83d\udce5 Response data](#return-data)\r\n - [UID](#uid)\r\n - [Profile](#profile)\r\n- [\ud83d\udea7 Structure](#structure)\r\n - [Player owner](#player-owner)\r\n - [Profile patreon](#profile-patreon)\r\n - [Profile Hoyos](#profile-hoyos)\r\n - [Build(s) info](#avatar-builds-info)\r\n - [Profile info](#profile-info)\r\n - [Player](#player)\r\n - [Namecard](#namecard)\r\n - [Avatar Icon](#avatar-icon)\r\n - [Character preview](#character-preview)\r\n - [Characters](#characters)\r\n - [Icon](#icon)\r\n - [Constellation](#constellation)\r\n - [Skill](#skill)\r\n - [Equipments (Artifact, Weapon)](#equipments-artifact-weapon)\r\n - [Equipments Info](#equipments-info)\r\n - [Equipments Stats](#equipments-stats)\r\n - [FIGHT_PROP Data](#fight_prop-data)\r\n - [Build(s)](#build)\r\n- [\ud83d\udd27 Assets](#assets)\r\n - [Character, constellations, skills, namecards](#assets-character-constellations-skills-namecards)\r\n - [NameTextMapHash](#assets-nametextmaphash)\r\n- [\ud83c\udf0e Languages Supported](#languages-supported)\r\n- [\ud83d\ude4b Support & Question](#support--question)\r\n- [\ud83d\udcc4 LICENSE](#license)\r\n\r\n# Installation\r\n\r\n```\r\npip install enkanetwork.py\r\n```\r\n\r\n# Usage\r\n\r\n```py\r\nimport asyncio\r\n\r\nfrom enkanetwork import EnkaNetworkAPI\r\n\r\nclient = EnkaNetworkAPI()\r\n\r\nasync def main():\r\n async with client:\r\n data = await client.fetch_user(843715177)\r\n print(\"=== Player Info ===\")\r\n print(f\"Nickname: {data.player.nickname}\")\r\n print(f\"Level: {data.player.level}\")\r\n print(f\"Icon: {data.player.avatar.icon.url}\")\r\n print(f\"Signature: {data.player.signature}\")\r\n print(f\"Achievement: {data.player.achievement}\")\r\n print(f\"Abyss floor: {data.player.abyss_floor} - {data.player.abyss_room}\")\r\n print(f\"Cache timeout: {data.ttl}\")\r\n\r\nasyncio.run(main())\r\n```\r\n\r\n## Preview\r\n\r\n```sh\r\n=== Player Info ===\r\nNickname: mrwan2546\r\nLevel: 55\r\nIcon: https://enka.network/ui/UI_AvatarIcon_Kazuha.png\r\nSignature: K A Z U H A M U C H <3\r\nAchievement: 396\r\nAbyss floor: 8 - 3\r\nCache timeout: 300\r\n```\r\n\r\n## Example\r\n\r\nPlease refer in [example](./example/) folder.\r\n\r\n# Class Methods\r\n\r\n| Name | Description |\r\n| ----------------------------------- | --------------------------------------------------------------------------------------------------- |\r\n| fetch_user(uid) | Fetch user data (UID) **(Will be depercated soon)** |\r\n| fetch_user_by_uid(uid) | Fetch user data (UID) |\r\n| fetch_user_by_username(profile_id) | Fetch user data (Profile ID) **(For subscriptions in Enka.Network)** |\r\n| fetch_hoyos_by_username(profile_id) | Fetch user hoyo(s) data (Profile ID) **(For subscriptions in Enka.Network)** |\r\n| fetch_builds(profile_id, metaname) | Fetch build data (Profile ID) **(For subscriptions in Enka.Network)** |\r\n| set_language(lang) | Set new language <br> Please refer [Languages Supported](#languages-supported) |\r\n| update_assets() | |\r\n\r\n# Return data\r\n\r\n## UID\r\n\r\nReturn type: `EnkaNetworkResponse`\r\n| Wrapper | API | Notes |\r\n| ---------- | -------------- | ------------------------------------------ |\r\n| player | playerInfo | Please refer [Player](#player) |\r\n| characters | avatarInfoList | Please refer [Characters](#characters) |\r\n| profile | - | Please refer [Profile Info](#profile-info) |\r\n| owner | owner | Please refer [Player Owner](#player-owner) |\r\n| ttl | ttl | |\r\n| uid | uid | |\r\n\r\n## Profile\r\n\r\nReturn type: `EnkaNetworkProfileResponse`\r\n| Wrapper | API | Notes |\r\n| -------- | ---------- | --------------------------------------------------- |\r\n| username | playerInfo | Please refer [Player](#player) |\r\n| profile | profile | Please refer in [Profile patreon](#profile-patreon) |\r\n| hoyos | hoyos | Please refer [Profile hoyos](#profile-hoyos) |\r\n\r\n# Structure\r\n\r\n## Player owner\r\n\r\n| Wrapper | API | Notes |\r\n| -------- | -------- | --------------------------------------------------- |\r\n| hash | hash | |\r\n| username | username | Please refer [Tier](#tier) |\r\n| profile | profile | Please refer in [Profile patreon](#profile-patreon) |\r\n| builds | - | Please refer [Build(s) info](#avatar-builds-info) |\r\n\r\n## Profile Patreon\r\n\r\n| Wrapper | API | Notes |\r\n| ------------ | ------------ | -------------------------- |\r\n| bio | bio | |\r\n| level | level | Please refer [Tier](#tier) |\r\n| profile | worldLevel | |\r\n| signup_state | signup_state | |\r\n| image_url | image_url | |\r\n\r\n## Profile Hoyos\r\n\r\n| Wrapper | API | Notes |\r\n| ------------ | ------------ | ------------------------------------------------ |\r\n| uid_public | uid_public | |\r\n| public | public | |\r\n| verified | verified | |\r\n| player_info | player_info | Please refer [Profile Patreon](#profile-patreon) |\r\n| signup_state | signup_state | |\r\n| signup_state | signup_state | |\r\n\r\n## Avatar build(s) info\r\n\r\n| Wrapper | API | Notes |\r\n| ----------- | ----------- | -------------------------------------- |\r\n| id | id | |\r\n| name | name | |\r\n| avatar_id | avatar_id | |\r\n| avatar_data | avatar_data | Please refer [Characters](#characters) |\r\n| order | order | |\r\n| live | live | |\r\n| settings | settings | |\r\n| public | public | |\r\n\r\n## Profile Info\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | --- | ------------------------------ |\r\n| uid | - | UID in-game |\r\n| url | - | URL to enter Enka.Network site |\r\n| path | - | Path URL |\r\n\r\n## Player\r\n\r\n| Wrapper | API | Notes |\r\n| ------------------ | ------------------------ | ---------------------------------------------------- |\r\n| nickname | nickname | Please refer [Namecard](#namecard) |\r\n| signature | signature | |\r\n| world_level | worldLevel | |\r\n| achievement | finishAchievementNum | |\r\n| namecard | namecardId | |\r\n| namecards | showNameCardIdList -> id | Please refer [Namecard](#namecard) |\r\n| abyss_floor | towerFloorIndex | |\r\n| abyss_room | towerLevelIndex | |\r\n| characters_preview | showAvatarInfoList | Please refer [Character Preview](#character-preview) |\r\n| avatar | profilePicture | Please refer [Avatar Icon](#avatar-icon) |\r\n\r\n### Avatar icon\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | -------- | ------------------------------------ |\r\n| id | avatarId | |\r\n| icon | | Please refer [Icon Data](#icon-data) |\r\n\r\n### Namecard\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | --- | ------------------------------------------------------------- |\r\n| id | - | Namecard ID |\r\n| name | - | Namecard name |\r\n| icon | - | Namecard icon, Please refer [Icon Data](#icon-data) |\r\n| banner | - | Namecard banner, Please refer [Icon Data](#icon-data) |\r\n| navbar | - | Namecard navbar (Alpha), Please refer [Icon Data](#icon-data) |\r\n\r\n### Character preview\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | --- | ------------------------------------------------- |\r\n| id | - | Avatar ID |\r\n| name | - | Avatar Name |\r\n| level | - | Avatar Level |\r\n| icon | - | Avatar Icon, Please refer [Icon Data](#icon-data) |\r\n\r\n## Characters\r\n\r\n| Wrapper | API | Notes |\r\n| ----------------------- | ---------------------- | ------------------------------------------------------ |\r\n| id | avatarId | |\r\n| name | - | Avatar Name |\r\n| element | - | Please refer [Element Type](#element-type) |\r\n| rarity | - | Rarity |\r\n| image | - | Please refer [Icon](#icon) |\r\n| xp | propMap -> 1001 | |\r\n| ascension | propMap -> 1002 | |\r\n| level | propMap -> 4001 | |\r\n| max_level | - | Avatar max level (Like 50/60) |\r\n| friendship_level | fetterInfo.level | |\r\n| equipments | equipList | Please refer [Equipments](#equipments-artifact-weapon) |\r\n| stats | fightPropMap | Please refer [FIGHT_PROP Data](#fight_prop-data) |\r\n| constellations | talentIdList | Please refer [Constellation](#constellation) |\r\n| constellations_unlocked | - | Constellation unlocked |\r\n| skill_data | inherentProudSkillList | |\r\n| skill_id | skillDepotId | |\r\n| skills | - | Please refer [Skill](#skill) |\r\n\r\n### Icon\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | --- | -------------------------------------------------------- |\r\n| icon | - | Avatar icon, Please refer [Icon Data](#icon-data) |\r\n| side | - | Avatar side icon, Please refer [Icon Data](#icon-data) |\r\n| banner | - | Avatar wish banner, Please refer [Icon Data](#icon-data) |\r\n\r\n### Constellation\r\n\r\n| Wrapper | API | Notes |\r\n| -------- | --- | -------------------------- |\r\n| id | - | Constellation ID |\r\n| name | - | Constellation Name |\r\n| icon | - | Constellation Icon (URL) |\r\n| unlocked | - | Constellation has unlocked |\r\n\r\n### Skill\r\n\r\n| Wrapper | API | Notes |\r\n| ---------- | --- | ----------------------- |\r\n| id | - | Skill ID |\r\n| name | - | Skill Name |\r\n| icon | - | Skill Icon (URL) |\r\n| level | - | Skill Level |\r\n| is_boosted | - | Skill level has boosted |\r\n\r\n## Equipments (Artifact, Weapon)\r\n\r\n| Wrapper | API | Notes |\r\n| ---------- | ----------------------------------- | ------------------------------------------------ |\r\n| id | itemId | |\r\n| level | reliquary -> level, weapon -> level |\r\n| type | - | Type of equipment (Artifact or Weapon) |\r\n| refinement | weapon -> affixMap | |\r\n| ascension | weapon -> promoteLevel | |\r\n| detail | flat | Please refer [Equipments Info](#equipments-info) |\r\n\r\n### Equipments Info\r\n\r\n| Wrapper | API | Notes |\r\n| ------------- | ----------------------------------- | -------------------------------------------------- |\r\n| name | - | Equipment Name (Artifact name or Weapon name) |\r\n| icon | icon | Please refer [Icon Data](#icon-data) |\r\n| artifact_type | - | Please refer [Artifact Type](#artifact-type) |\r\n| rarity | rankLevel | |\r\n| mainstats | reliquaryMainstat, weaponStats -> 0 | Please refer [Equipments Stats](#equipments-stats) |\r\n| substats | reliquarySubstats, weaponStats -> 1 | Please refer [Equipments Stats](#equipments-stats) |\r\n\r\n### Equipments Stats\r\n\r\n| Wrapper | API | Notes |\r\n| ------- | ------- | ------------------------------ |\r\n| prop_id | prop_id | |\r\n| type | - | Value type (NUMBER or PERCENT) |\r\n| name | - | Name of FIGHT_PROP |\r\n| value | value | |\r\n\r\n## FIGHT_PROP Data\r\n\r\nIn FIGHT_PROP data. You can get the value from 4 methods.\r\n| Choice | Example | Output |\r\n|------------------|---------------------------|----------------------------|\r\n| Get raw value | stats.FIGHT_PROP_HP.value | 15552.306640625 |\r\n| Get rounded value| stats.FIGHT_PROP_ATTACK.to_rounded() | 344 |\r\n| Get percentage | stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage() | 61.5 |\r\n| Get percentage and symbol | stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage_symbol() | 61.5% |\r\n\r\n## Build\r\n\r\nIn this `Builds` It's not pretty data. You can use this method to get data. Or if you want get full, You can use `raw` argument\r\n| Choice | Example | Output |\r\n|------------------|---------------------------|----------------------------|\r\n| Get avatar ID list | builds.get_avatar_list() | [10000021,10000037,10000025, ...] |\r\n| Get character build | builds.get_character(10000021) | List of [Build info](#avatar-builds-info) |\r\n| Get build info by avatar id | builds.get_character(10000021, 11111111) | [Build info](#avatar-builds-info) |\r\n\r\n# Icon Data\r\n\r\nIn icon data. You can get the value from 2 methods.\r\n| Choice | Example | Output |\r\n|------------------|---------------------------|--------------------------------|\r\n| Get filename | icon.filename | UI_AvatarIcon_Kazuha_Card.png |\r\n| Get URL | icon.url | https://enka.network/ui/UI_AvatarIcon_Kazuha_Card.png |\r\n\r\n## Artifact Type\r\n\r\n| Key | Value |\r\n| ------- | -------------- |\r\n| Flower | EQUIP_BRACER |\r\n| Feather | EQUIP_NECKLACE |\r\n| Sands | EQUIP_SHOES |\r\n| Goblet | EQUIP_RING |\r\n| Circlet | EQUIP_DRESS |\r\n\r\n## Element Type\r\n\r\n| Key | Value |\r\n| ------- | -------- |\r\n| Cryo | Ice |\r\n| Hydro | Water |\r\n| Anemo | Wind |\r\n| Pyro | Fire |\r\n| Geo | Rock |\r\n| Electro | Electric |\r\n\r\n# Assets\r\n\r\n## Assets character, constellations, skills, namecards\r\n\r\nYou can use avatarId to get the character, constellations, skills, namecards from assets.\r\n\r\n```py\r\nimport asyncio\r\n\r\nfrom enkanetwork import Assets\r\n\r\nassets = Assets()\r\n\r\nasync def main():\r\n # Character\r\n assets.character(10000046)\r\n # Constellations\r\n assets.constellations(2081199193)\r\n # Skills\r\n assets.constellations(10462)\r\n # Namecards\r\n assets.namecards(210059)\r\n\r\nloop = asyncio.get_event_loop()\r\nloop.run_until_complete(main())\r\n```\r\n\r\n## Assets NameTextMapHash\r\n\r\nThe `NameTextMapHash` is a hash map that contains the name text of the assets. You can get `NameTextMapHash` from `hash_id` like this:\r\n\r\n```py\r\nimport asyncio\r\n\r\nfrom enkanetwork import Assets\r\n\r\nassets = Assets(lang=\"en\") # Set languege before get name (Ex. English)\r\n\r\nasync def main():\r\n print(assets.get_hash_map(1940919994)) # Hu tao\r\n # OR you can get FIGHT_PROP name\r\n print(assets.get_hash_map(\"FIGHT_PROP_BASE_ATTACK\")) # Base ATK\r\n\r\nloop = asyncio.get_event_loop()\r\nloop.run_until_complete(main())\r\n```\r\n\r\n## Languages Supported\r\n\r\n| Languege | Code |\r\n| ---------- | ---- |\r\n| English | en |\r\n| \u0440\u0443\u0441\u0441\u043a\u0438\u0439 | ru |\r\n| Ti\u1ebfng Vi\u1ec7t | vi |\r\n| \u0e44\u0e17\u0e22 | th |\r\n| portugu\u00eas | pt |\r\n| \ud55c\uad6d\uc5b4 | kr |\r\n| \u65e5\u672c\u8a9e | jp |\r\n| \u4e2d\u6587 | zh |\r\n| Indonesian | id |\r\n| fran\u00e7ais | fr |\r\n| espa\u00f1ol | es |\r\n| deutsch | de |\r\n| Taiwan | cht |\r\n| Chinese | chs |\r\n\r\nIf you want full docs for the API, visit [EnkaNetwork API Docs](https://github.com/EnkaNetwork/API-docs)\r\n\r\n# LICENSE\r\n\r\n[MIT License](./LICENSE)\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Library for fetching JSON data from site https://enka.network/",
"version": "2.1.4",
"project_urls": {
"Homepage": "https://github.com/DEViantUA/EnkaNetworkV2.py"
},
"split_keywords": [
"enkanetwork.py",
" enkanetwork",
" enka.network",
" genshinapi",
" enkanetworkv2",
" enkanetworkv2.py"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5c8c95ca88f3ef28930b248ae2952890e90d430a232df9b5f60d98d4b7a4b37d",
"md5": "99d287214aaf499b0d0dcda25077f6dd",
"sha256": "c8ef05e7953177adde4a198f573ac4a859c210a970987fc528760d6625c7e1c0"
},
"downloads": -1,
"filename": "enkanetworkv2.py-2.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "99d287214aaf499b0d0dcda25077f6dd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 804713,
"upload_time": "2024-04-30T13:49:00",
"upload_time_iso_8601": "2024-04-30T13:49:00.391252Z",
"url": "https://files.pythonhosted.org/packages/5c/8c/95ca88f3ef28930b248ae2952890e90d430a232df9b5f60d98d4b7a4b37d/enkanetworkv2.py-2.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4056b7030944dcb0b1e6213f5f4efa2586081a8dd95d446df241f57e88b2f945",
"md5": "38657dae6721a4228d2061805a49b1bd",
"sha256": "bcd8a8b28e18fba5a660a3da5a6724fedf21c06835cca007ab2d6b39ca354ddc"
},
"downloads": -1,
"filename": "enkanetworkv2.py-2.1.4.tar.gz",
"has_sig": false,
"md5_digest": "38657dae6721a4228d2061805a49b1bd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 780375,
"upload_time": "2024-04-30T13:49:04",
"upload_time_iso_8601": "2024-04-30T13:49:04.010280Z",
"url": "https://files.pythonhosted.org/packages/40/56/b7030944dcb0b1e6213f5f4efa2586081a8dd95d446df241f57e88b2f945/enkanetworkv2.py-2.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-30 13:49:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DEViantUA",
"github_project": "EnkaNetworkV2.py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pydantic",
"specs": []
},
{
"name": "aiohttp",
"specs": []
},
{
"name": "cachetools",
"specs": []
},
{
"name": "enkacard",
"specs": []
}
],
"lcname": "enkanetworkv2.py"
}