Skip to main content

API wrapper for HoYoLAB/Miyoushe API built on asyncio and pydantic.

Project description

genshin.py

Downloads PyPI package Last Commit Coverage Discord

Modern API wrapper for Genshin Impact & Honkai Impact 3rd built on asyncio and pydantic.


Documentation: https://thesadru.github.io/genshin.py

API Reference: https://thesadru.github.io/genshin.py/pdoc/genshin

Source Code: https://github.com/thesadru/genshin.py


The primary focus of genshin.py is convenience. The entire project is fully type-hinted and abstracts a large amount of the api to be easier to use.

Key features:

  • All data is in the form of Pydantic Models which means full autocompletion and linter support.
  • Requests are significantly faster thanks to proper usage of asyncio.
  • Chinese and Engrish names returned by the API are renamed to simpler English fields.
  • Supports the majority of the popular endpoints.
  • Cleanly integrates with frameworks like FastAPI out of the box.

Note: This library is a successor to genshinstats - an unofficial wrapper for the Genshin Impact api.

Requirements

  • Python 3.9+
  • aiohttp
  • Pydantic
pip install genshin

Example

A very simple example of how genshin.py would be used:

import asyncio
import genshin

async def main():
    cookies = {"ltuid": 119480035, "ltoken": "cnF7TiZqHAAvYqgCBoSPx5EjwezOh1ZHoqSHf7dT"}
    client = genshin.Client(cookies)

    data = await client.get_genshin_user(710785423)
    print(f"User has a total of {data.stats.characters} characters")

asyncio.run(main())

Contributing

Any kind of contribution is welcome. Please read CONTRIBUTING.md to see what you need to do to make a contribution.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genshin-1.7.2.tar.gz (223.8 kB view details)

Uploaded Source

Built Distribution

genshin-1.7.2-py3-none-any.whl (147.8 kB view details)

Uploaded Python 3

File details

Details for the file genshin-1.7.2.tar.gz.

File metadata

  • Download URL: genshin-1.7.2.tar.gz
  • Upload date:
  • Size: 223.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.20

File hashes

Hashes for genshin-1.7.2.tar.gz
Algorithm Hash digest
SHA256 e960636a1c695f3acff3eee6658a3eaa28f19506fbfb3e9ee49f0a660d8088b8
MD5 177e4f19adf8d53573eec4e74210cc66
BLAKE2b-256 022dd45472ab315da2d2a99f14d33ff14f283203b6105b1b7629ed7ff2de37f0

See more details on using hashes here.

File details

Details for the file genshin-1.7.2-py3-none-any.whl.

File metadata

  • Download URL: genshin-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 147.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.20

File hashes

Hashes for genshin-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 585dd9d1454f8b8f7d14bcf64af809b87ec95dbcfd613195e07ec98d08b680f0
MD5 f61d75b6931f55f5b1824be2fd2f8321
BLAKE2b-256 a96b2e14b4fc869be952af43f2e246e10dab9df297599608692c8e9aaa5ac03c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page