Skip to main content

An API wrapper for Genshin Impact.

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.8+
  • 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.0.tar.gz (101.2 kB view details)

Uploaded Source

Built Distribution

genshin-1.7.0-py3-none-any.whl (138.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: genshin-1.7.0.tar.gz
  • Upload date:
  • Size: 101.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for genshin-1.7.0.tar.gz
Algorithm Hash digest
SHA256 cc5efac2afb9dcdeceb43e339d25a6ef3ebf5c3cb5e5fa5debd74171d15702e2
MD5 7d2aee2917017e32c0e9d3c86f70d589
BLAKE2b-256 a6dea4ccc24f5100d4c406de46943fa45b875c4964c1e29598b9ea8139a3dfbb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: genshin-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 138.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for genshin-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6ba9d17245a2915aef3707c74dca98ec2b2196330e35993b23c2e57222bc5d1
MD5 95be3b75ba4ae25c951c3fd357140d4e
BLAKE2b-256 7a038954388776cdfccc1e2550aa7bf933528fb5a6d97e199ccea6f31393ac68

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