Metadata-Version: 2.1
Name: genshin
Version: 0.4.0
Summary: An API wrapper for Genshin Impact.
Home-page: https://github.com/thesadru/genshin.py
Author: thesadru
Author-email: thesadru@gmail.com
License: MIT
Project-URL: Documentation, https://thesadru.github.io/genshin.py
Project-URL: Issue tracker, https://github.com/thesadru/genshin.py/issues
Description: # genshin.py
        Modern API wrapper for Genshin Impact built on asyncio and pydantic.
        
        ---
        
        Documentation: https://thesadru.github.io/genshin.py
        
        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](https://github.com/thesadru/genshinstats) - an unofficial wrapper for the Genshin Impact api.
        
        ## Requirements
        - Python 3.8+
        - aiohttp
        - Pydantic
        
        ```console
        pip install genshin
        ```
        
        ## Example
        
        A very simple example of how genshin.py would be used:
        ```py
        import asyncio
        import genshin
        
        async def main():
            cookies = {"ltuid": 119480035, "ltoken": "cnF7TiZqHAAvYqgCBoSPx5EjwezOh1ZHoqSHf7dT"}
            client = genshin.GenshinClient(cookies)
        
            data = await client.get_user(710785423)
            print(f"User has a total of {len(data.characters)} characters")
        
            await client.close()
        
        asyncio.run(main())
        ```
        
        ## Contributing
        Any kind of contribution is welcome.
        
        Before making a pull request remember to test your changes using pytest.
        Remember to set your `LTUID` and `LTOKEN` environment variables.
        ```
        pip install genshin[test]
        python -m pytest
        ```
        
        Please also edit the documentation accordingly. You may see how the final documentation would look like by starting an `mkdocs` server.
        ```
        pip install genshin[doc]
        mkdocs serve
        ```
        
Keywords: api,wrapper,mihoyo,genshin,genshin-impact
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: all
Provides-Extra: cookies
Provides-Extra: cache
Provides-Extra: cli
Provides-Extra: test
Provides-Extra: doc
