gi-loadouts 0.1.13
Loadouts for Genshin Impact
Requires Python: <3.15,>=3.12

<h1 align="center">Loadouts for Genshin Impact</h1>

<p align="center">
    <img src="https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/imgs/pmon/8.webp" alt="drawing" width="200"/>
</p>

<p align="center">
    <a href="https://pypi.org/project/gi-loadouts/">
        <img src="https://img.shields.io/pypi/v/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Version">
        <img src="https://img.shields.io/pypi/status/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Status">
        <img src="https://img.shields.io/pypi/pyversions/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Supported Python versions">
        <img src="https://img.shields.io/pypi/dm/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Downloads">
        <img src="https://img.shields.io/pypi/implementation/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Implementation">
        <img src="https://img.shields.io/pypi/format/gi-loadouts?style=flat&logo=python&logoColor=ffffff&color=008080" alt="PyPI - Format">
    </a>
</p>

<p align="center">
    <a href="#">
        <img src="https://img.shields.io/github/watchers/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Watchers">
        <img src="https://img.shields.io/github/stars/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Stars">
        <img src="https://img.shields.io/github/forks/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Forks">
        <img src="https://img.shields.io/github/languages/top/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Language">
        <img src="https://img.shields.io/github/license/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - License">
        <img src="https://img.shields.io/github/v/release/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Release">
        <img src="https://img.shields.io/github/repo-size/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Size">
        <img src="https://img.shields.io/github/commit-activity/m/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Activity">
        <img src="https://img.shields.io/github/contributors/gridhead/gi-loadouts?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub - Contributors">
        <img src="https://img.shields.io/github/sponsors/gridhead?style=flat&logo=github&logoColor=ffffff&color=008080" alt="GitHub Sponsors - Akashdeep Dhar">
    </a>
</p>

<p align="center">
    <a href="https://github.com/gridhead/gi-loadouts/actions/workflows/qlty.yml">
        <img src="https://img.shields.io/github/actions/workflow/status/gridhead/gi-loadouts/qlty.yml?style=flat&logo=git&logoColor=ffffff&color=008080&label=Checking%20code%20quality" alt="GitHub - gnul.yml">
    </a>
    <a href="https://github.com/gridhead/gi-loadouts/actions/workflows/gnul.yml">
        <img src="https://img.shields.io/github/actions/workflow/status/gridhead/gi-loadouts/gnul.yml?style=flat&logo=git&logoColor=ffffff&color=008080&label=Builds%20for%20GNU%2FLinux%20distributions" alt="GitHub - gnul.yml">
    </a>
    <a href="https://github.com/gridhead/gi-loadouts/actions/workflows/mswn.yml">
        <img src="https://img.shields.io/github/actions/workflow/status/gridhead/gi-loadouts/mswn.yml?style=flat&logo=git&logoColor=ffffff&color=008080&label=Builds%20for%20Microsoft%20Windows" alt="GitHub - gnul.yml">
    </a>
    <a href="https://github.com/gridhead/gi-loadouts/actions/workflows/wipe.yml">
        <img src="https://img.shields.io/github/actions/workflow/status/gridhead/gi-loadouts/wipe.yml?style=flat&logo=git&logoColor=ffffff&color=008080&label=Periodic%20artifact%20cleanup" alt="GitHub - gnul.yml">
    </a>
</p>

<p align="center">
    This is a desktop application that allows travelers to manage their custom equipment of 
    artifacts and weapons for playable characters and makes it convenient for travelers to 
    calculate the associated statistics based on their equipment using the semantic understanding 
    of how the gameplay works. Travelers can create their bespoke loadouts consisting of 
    characters, artifacts and weapons and share them with their fellow travelers. Supported file
    formats include a human-readable <b>Yet Another Markup Language (YAML)</b> serialization 
    format and a JSON-based <b>Genshin Open Object Definition (GOOD)</b> serialization format.
</p>

<p align="center">
    This project is currently in its beta phase and we are committed to delivering a quality 
    experience with every release we make. If you are excited about the direction of this project 
    and want to contribute to the efforts, we would greatly appreciate it if you help us boost the 
    project visibility by <b>starring the project repository</b>, address the releases by 
    <b>reporting the experienced errors</b>, choose the direction by <b>proposing the intended 
    features</b>, enhance the usability by <b>documenting the project repository</b>, improve the 
    codebase by <b>opening the pull requests</b> and finally, persist our efforts by <b>sponsoring 
    the development members</b>.
</p>

## Activity

<p align="center">
    <a href="https://github.com/gridhead/gi-loadouts/graphs/contributors">
        <img src="https://repobeats.axiom.co/api/embed/2da0aac42c72bd80cb7f53c05b7502add79958dc.svg" alt="Activity">
    </a>
</p>

## Screenshots

### On GNU/Linux distributions

-  **Light mode** - Dash  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/gnul_lite.png)

-  **Light mode** - Result  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/gnul_lite_rslt.png)

-  **Dark mode** - Dash  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/gnul_dark.png)

-  **Dark mode** - Result  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/gnul_dark_rslt.png)

### On Microsoft Windows

-  **Light mode** - Dash  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/mswn_lite.png)

-  **Light mode** - Result  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/mswn_lite_rslt.png)

-  **Dark mode** - Dash  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/mswn_dark.png)

-  **Dark mode** - Result  
   ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/mswn_dark_rslt.png)

## Disclaimer

The "Loadouts for Genshin Impact" project, also known as "GI Loadouts", fully 
adheres to the 
[**terms of services**](https://genshin.hoyoverse.com/en/company/terms) and the
[**regulations regarding third-party software**](https://genshin.hoyoverse.com/en/news/detail/103714)
established by [MiHoYo](https://www.mihoyo.com/en/) for 
[Genshin Impact](https://genshin.hoyoverse.com/en/). This ecosystem application
is safe for users, as its unmodified usage strictly avoids any violations, 
including but not limited to those outlined below.

- **This ecosystem application DOES NOT exploit the game**
  - This ecosystem application DOES NOT need Genshin Impact to be present on 
    the computer on which this runs on.

- **This ecosystem application DOES NOT help achieve artificial in-game progress**
  - This ecosystem application DOES NOT interact with Genshin Impact game
    assets or game process for facilitation.

- **This ecosystem application DOES NOT help selling or exchanging accounts**
  - This ecosystem application DOES NOT explore beyond its primary purpose of
    helping manage custom player loadouts.

- **This ecosystem application DOES NOT help topping up via unofficial channels**
  - This ecosystem application DOES NOT need an active internet connection for 
    its intended functionality to work.

With an extensive suite of 
[**over 1420 diverse functionality tests**](https://github.com/gridhead/gi-loadouts/tree/main/test)
and
[**impeccable 100% source code coverage**](https://github.com/gridhead/gi-loadouts/blob/main/.github/workflows/test.yml),
we proudly invite auditors and analysts from 
[MiHoYo](https://www.mihoyo.com/en/) and other organizations to review our free
and open source codebase. This thorough transparency underscores our unwavering
commitment to maintaining the fairness and integrity of the game.

The users of this ecosystem application can have complete confidence that their
accounts are safe from warnings, suspensions or terminations when using this 
project. The ecosystem application ensures complete compliance with the 
[**terms of services**](https://genshin.hoyoverse.com/en/company/terms) and the
[**regulations regarding third-party software**](https://genshin.hoyoverse.com/en/news/detail/103714)
established by [MiHoYo](https://www.mihoyo.com/en/) for 
[Genshin Impact](https://genshin.hoyoverse.com/en/).

## Download

### Optical Character Recognition

The project depends on the Tesseract OCR project to be able to scan in-game 
screenshots using the Optical Character Recognition technology. As such, please
ensure that the Tesseract OCR application is installed and configured properly.

#### On GNU/Linux distributions 

1. Install [Tesseract OCR](https://src.fedoraproject.org/rpms/tesseract) from your default package manager.
   ```
   $ sudo dnf install tesseract
   ```

2. Make note of the place where the Tesseract OCR executable binary is placed.
   ```
   /usr/bin/tesseract
   ```

#### On Microsoft Windows

1. Install [Tesseract OCR](https://github.com/UB-Mannheim/tesseract/wiki) from the UB Mannheim GitHub namespace.
   ```
   https://github.com/UB-Mannheim/tesseract/wiki
   ```

2. Make note of the place where the Tesseract OCR executable binary is placed.
   ```
   C:\Program Files\Tesseract-OCR\tesseract.exe
   ```

### Releases

#### Stable

**Releases** for the _general usability purposes_ can be found [here](https://github.com/gridhead/gi-loadouts/releases).

#### Nightly

**Releases** for the _testing debugging purposes_ can be found [here](https://github.com/gridhead/gi-loadouts/actions).

#### Package

**Releases** that _automatically update_ can be found [here](https://pypi.org/project/gi-loadouts/).

## Usage

1.  Select the [*vision*](https://genshin-impact.fandom.com/wiki/Vision) from 
    the dropdown menu to quickly locate the 
    [*character*](https://genshin-impact.fandom.com/wiki/Character) 
    that you wish to manage the equipment for.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_vson.png)

2.  Select the [*character*](https://genshin-impact.fandom.com/wiki/Character) 
    from the dropdown menu aligned with the 
    [*element*](https://genshin-impact.fandom.com/wiki/Element) 
    that was selected previously.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_name.png)

3.  Select the [*level*](https://genshin-impact.fandom.com/wiki/Constellation) 
    of the [*character*](https://genshin-impact.fandom.com/wiki/Character) 
    constellation from the dropdown menu and statistics of the character will 
    be calculated automatically.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_cons.png)

4.  Select the [*level*](https://genshin-impact.fandom.com/wiki/Character_EXP) 
    of the [*character*](https://genshin-impact.fandom.com/wiki/Character) 
    experience from the dropdown menu and the statistics of the character 
    will be calculated automatically.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_levl.png)

5.  Quickly switch over to either of the 
    [*travelers*](https://genshin-impact.fandom.com/wiki/Traveler), **Lumine** 
    or **Aether** from the 
    [*character*](https://genshin-impact.fandom.com/wiki/Character) menu using 
    the **VENUS** or **MARS** buttons respectively.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_lumi.png)  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_char_aeth.png)

6.  Once the [*character*](https://genshin-impact.fandom.com/wiki/Character) 
    is selected from the dropdown menu, the compatible 
    [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) 
    type is automatically selected.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_type.png)

7.  Select the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) of 
    your choice from the dropdown menu that you want to equip.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_name.png)

8.  Select the [*rank*](https://genshin-impact.fandom.com/wiki/Refinement_Rank)
    of the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) 
    refinement from the dropdown menu and the statistics of the weapon will 
    be calculated automatically.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_refn.png)

9.  Select the [*level*](https://genshin-impact.fandom.com/wiki/Weapon_EXP) 
    of the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) 
    experience from the dropdown menu and the statistics of the weapon like 
    will be calculated automatically.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_levl.png)

10. Load the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) 
    equipment from your local storage by using the **LOAD** button beside the 
    sections.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_load.png)

11. Save the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) 
    equipment to your local storage by using the **SAVE** button beside the 
    sections.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_weap_save.png)

12. Once the [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon) has 
    been configured, configure the 
    [*artifacts*](https://genshin-impact.fandom.com/wiki/Artifact) by 
    selecting the artifact 
    [*set*](https://genshin-impact.fandom.com/wiki/Artifact/Sets) 
    from the dropdown menu.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_type.png)

13. Select the [*quality*](https://genshin-impact.fandom.com/wiki/Quality) 
    associated with the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    sought from the dropdown menu so that the possible 
    [*levels*](https://genshin-impact.fandom.com/wiki/Artifact_EXP) are 
    populated.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_rare.png)

14. Select the [*level*](https://genshin-impact.fandom.com/wiki/Artifact_EXP) 
    of the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    experience from the dropdown menu.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_levl.png)

15. Select the 
    [*primary stat*](https://genshin-impact.fandom.com/wiki/Artifact/Stats) of 
    the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from the 
    dropdown menu and the statistics of the artifact will be calculated 
    automatically.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_main.png)

16. Select the 
    [*secondary stats*](https://genshin-impact.fandom.com/wiki/Artifact/Stats) 
    of the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from 
    the dropdown menu from each 
    [*distribution*](https://genshin-impact.fandom.com/wiki/Artifact/Distribution) 
    area.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_seco.png)

17. Enter the value associated with the 
    [*secondary stats*](https://genshin-impact.fandom.com/wiki/Artifact/Stats) 
    of the
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from the 
    dropdown menu from each 
    [*distribution*](https://genshin-impact.fandom.com/wiki/Artifact/Distribution) 
    area.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_data.png)

18. Alternatively, import the statistics from 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    units from in-game screenshots by using the **SCAN** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_scan.png)

19. Load the in-game screenshot of the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) units into 
    interface using the **LOAD** button.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_load.png)

20. Alternatively, the in-game screenshot of the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) units can be inserted from the 
    clipboard by pressing `CTRL` + `V`.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_dgbx.png)

21. Alternatively, the in-game screenshot of the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) units can be inserted by using
    the drag and drop action.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_dgbx.png)

22. Please note that the *supported image formats* include, but are not limited to, the following.  
    - Bitmap `[image/bmp]` `[BMP]`
    - Graphics Interchange Format `[image/gif]` `[GIF]`
    - Tagged Image File Format `[image/tiff]` `[TIF]`
    - Truevision TGA `[image/x-tga]` `[TGA]`
    - Open Document Drawing `[application/vnd.oasis.opendocument.graphics]` `[ODG]`
    - Icon `[image/x-icon]` `[ICO]`
    - Portable Network Graphics `[image/png]` `[PNG]`
    - Joint Photographic Experts Group `[image/jpeg]` `[JPG]`
    - WebP Image `[image/webp]` `[WEBP]`
    - Photoshop Document `[image/vnd.adobe.photoshop]` `[PSD]`

23. Please note that the *unsupported image formats* include, but are not limited to, the following.  
    - Scalable Vector Graphics `[image/svg+xml]` `[SVG]`
    - Encapsulated PostScript `[application/postscript]` `[EPS]`

24. Confirm if the correct
    [Tesseract OCR](https://github.com/UB-Mannheim/tesseract/wiki) executable 
    is selected by using the **LOCATE** button.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_conf.png)

25. Wipe the in-game screenshot of the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) unit from the
    configuration area by using the **WIPE** button.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_imwp.png)

26. Import the statistics of the detected 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) unit by using
    the **IMPORT** button.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_impt.png)

27. Wipe the statistics of the detected 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) unit by using
    from the configuration area by using the **WIPE** button.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_dtwp.png)

28. Wait for the statistics to be read from the in-game screenshot of 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) using Optical
    Character Recognition or OCR.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_dgbx.png)

29. Make corrections wherever the application was unable to correctly recognize
    statistics of the 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) before 
    importing them.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_rslt_01.png)

30. Confirm if better scanning results are obtained for the statistics 
    of the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from 
    the *details screen*.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_rslt_02.png)

31. Confirm if better scanning results are obtained for the statistics 
    of the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from 
    the *inventory screen*.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_rslt_03.png)

32. Confirm if better scanning results are obtained for the statistics 
    of the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) from 
    the *enhancement screen*.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_scan_rslt_04.png)

33. Alternatively, load the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    units from your local storage by using the **LOAD** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_load.png)

34. Save the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    units to your local storage by using the **SAVE** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_save.png)

35. Wipe the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    units from the configuration area by using the **WIPE** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_arti_wipe.png)

36. Read the 
    [*artifact bonuses*](https://genshin-impact.fandom.com/wiki/Artifact/Sets) 
    available to the character when using two pieces or four-pieces of a 
    certain [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) 
    set.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_team_bone.png)

37. Load the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact)
    sets from your local storage by using the **LOAD** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_team_load.png)

38. Save the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact)
    sets to your local storage by using the **SAVE** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_team_save.png)

39. Wipe the [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact)
    sets from the configuration area by using the **WIPE** buttons beside the 
    distribution areas.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_team_wipe.png)

40. Calculate the 
    [*character*](https://genshin-impact.fandom.com/wiki/Character) potential 
    with the equipped 
    [*artifact*](https://genshin-impact.fandom.com/wiki/Artifact) units or sets 
    and [*weapon*](https://genshin-impact.fandom.com/wiki/Weapon).  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_team_scan.png)

41. View the calculations of the character potential on the newly created 
    dialog box.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/docs_calc.png)

42. View the 
    [*help details*](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/lcns.png) 
    about the application by clicking on the **HELP** button from the user 
    interface.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/lcns.png)

43. View the 
    [*info details*](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/info.png) 
    about the application by clicking on the **INFO** button from the user 
    interface.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/info.png)

44. View the [*homepage*](https://github.com/gridhead/gi-loadouts/) of the 
    project by clicking on the **FORK** button from the user interface.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/fork.png)

45. Report software errors or feature requests by clicking on the **REPORT** 
    button from the user interface.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/tckt.png)

46. Donate to the [*project*](https://github.com/sponsors/gridhead) by 
    clicking on the **HEART** button from the user interface.  
    ![](https://raw.githubusercontent.com/gridhead/gi-loadouts/main/assets/docs/cash.png)

## Installation

### From PyPI

1.  Install the project using PyPI
    ```
    pip install --upgrade gi-loadouts
    ```
    We recommend installing the project inside a Python virtual environment

### From Source

#### On GNU/Linux distributions

1.  Ensure that the necessary packages are available on the operating system 
    installation.
    ```
    $ sudo dnf install git tesseract
    ```
    ```
    $ sudo dnf install python3 python3-pip python3-virtualenv uv
    ```
2.  Clone your fork to the local storage and make it your current working 
    directory.
    ```
    $ git clone https://github.com/gridhead/gi-loadouts.git
    ```
    ```
    $ cd gi-loadouts
    ```
3.  Create a virtual environment and activate it for installing project 
    dependencies.
    ```
    $ virtualenv venv
    ```
    ```
    $ source venv/bin/activate
    ```
4.  Install the project dependencies using UV and start the application 
    software.
    ```
    (venv) $ uv sync --active --extra dev
    ```
    ```
    (venv) $ uv run --active gi-loadouts
    ```

#### On Microsoft Windows

1.  Ensure that the necessary packages are available on the operating system 
    installation.
    ```
    Git - https://git-scm.com/downloads
    Tesseract - https://github.com/UB-Mannheim/tesseract/wiki
    ```
    ```
    Python 3 - https://www.python.org/downloads/
    UV - https://docs.astral.sh/uv/
    ```
2.  Clone your fork to the local storage and make it your current working 
    directory.
    ```
    PS > git clone https://github.com/gridhead/gi-loadouts.git
    ```
    ```
    PS > cd gi-loadouts
    ```
3.  Create a virtual environment and activate it for installing project 
    dependencies.
    ```
    PS > py -m venv venv
    ```
    ```
    PS > .\venv\Scripts\activate
    ```
4.  Install the project dependencies using UV and start the application 
    software.
    ```
    (venv) PS > uv sync --active --extra dev
    ```
    ```
    (venv) PS > uv run --active gi-loadouts
    ```

## Contribution

You can help our efforts by

- **Star the project repository**  
  Starring our project repository on GitHub not only helps us witness your 
  support and boost the visibility for the project but it also motivates us 
  to continue improving and expanding our efforts.

- **Report the experienced errors**  
  If you encounter any errors that should be taken care of, please file them 
  as issue tickets on our issue tracker to help us identify problems as it is 
  when we will be able to address the problems.

- **Propose the intended features**  
  If you have any ideas that should be introduced in the project, please file 
  them as issue tickets on our issue tracker to help us understand the 
  direction you want the project to take in the future.

- **Document the project repository**  
  Facilitating a comprehensive project documentation not only enhances the 
  project repository but it also vital for the project's growth among users 
  and project's approachability among developers.

- **Write the project codebase**  
  Consider opening a pull request against the project repository to contribute 
  to the project codebase whether it is for fixing errors, adding features, 
  amending documentation or modifying assets.

- **Sponsor the project maintainers**  
  By providing financial support, the maintainers have the means to dedicate 
  more efforts into the development of the project codebase and ensure 
  compatibility from each upcoming Genshin Impact release.

Check out CONTRIBUTING.md for more details.

## Disclaimer

All rights to Genshin Impact assets used in this project are reserved by 
miHoYo Ltd. and Cognosphere Pte., Ltd.

Other properties belong to their respective owners.