Skip to main content

honkai-cards

PyPI version Python License: GPL-3.0

A Python library that generates Honkai: Star Rail character showcase cards and player profile cards — optionally with DPS benchmarks.

Repository: github.com/MR-LORD-REX/honkai-cards


Features

  • Character cards — full showcase art with relics, stats, and optional DPS benchmark
  • Profile cards — player info plus showcase character roster
  • Async APIasync with HSR() context manager
  • Enka-powered profiles — pulls live showcase data from your UID

Installation

pip install honkai_cards

Or from source:

git clone https://github.com/MR-LORD-REX/honkai-cards.git
cd honkai-cards
pip install -e .

Requirements: Python 3.10+, network access (Enka + build API)


Quick start

import asyncio
from honkai_cards import HSR

async def main():
    async with HSR() as hsr:
        # Profile card
        profile = await hsr.profile(800000000)
        profile.card.save("profile.png")

        # Character card (slot 0–7, with DPS benchmark)
        card = await hsr.character(800000000, slot=0, benchmark=True)
        if card:
            card.save("character.png")

asyncio.run(main())

API

HSR

Main client. Use as an async context manager.

Method Returns Description
character(uid, slot=0, benchmark=True) PIL.Image.Image | None Character showcase card for the given slot
profile(uid) Profile1 Profile card + list of showcase characters

character

Argument Type Default Description
uid int | str In-game UID
slot int 0 Showcase slot (07)
benchmark bool True Include DPS benchmark on the card

profile

Argument Type Default Description
uid int | str In-game UID

Profile1 fields:

  • cardPIL.Image.Image profile card
  • characters — list of P1Char (slot, charid)

Examples

Runnable scripts live in examples/. Replace UID with your own before running.

Character card

"""Generate a character showcase card with DPS benchmark."""

import asyncio
from honkai_cards import HSR

UID = 713987091  # replace with your in-game UID

async def main() -> None:
    async with HSR() as hsr:
        card = await hsr.character(UID, slot=0, benchmark=True)

        if card is None:
            print("No character found for this slot.")
            return

        card.save("character_card.png")
        print("Saved character_card.png")
        card.show()

if __name__ == "__main__":
    asyncio.run(main())
python examples/character_card.py

Profile card

"""Generate a player profile card and list showcase characters."""

import asyncio
from honkai_cards import HSR

UID = 713987091  # replace with your in-game UID

async def main() -> None:
    async with HSR() as hsr:
        profile = await hsr.profile(UID)

        profile.card.save("profile_card.png")
        print("Saved profile_card.png")
        print("Showcase characters:", profile.characters)

        for char in profile.characters:
            print(f"  slot {char.slot}: character id {char.charid}")

if __name__ == "__main__":
    asyncio.run(main())
python examples/profile_card.py

Full showcase

Fetches the profile card, then a character card for every showcase slot:

python examples/full_showcase.py

Project layout

honkai-cards/
├── examples/                 # Runnable demos
│   ├── character_card.py
│   ├── profile_card.py
│   └── full_showcase.py
├── src/honkai_cards/         # Library package
│   ├── client.py             # HSR public API
│   ├── api.py                # Data fetchers
│   ├── characters/           # Character card renderer
│   ├── profile/              # Profile card renderer
│   └── models/               # Pydantic models
├── pyproject.toml
└── .github/workflows/publish.yml

License

GPL-3.0 — see LICENSE.txt for details.


Credits

  • Profile data via Enka.Network
  • Benchmark data taken after running simulation made by fribbels
  • Built for the Honkai: Star Rail community

Download files

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

Source Distribution

honkai_cards-1.0.3.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

honkai_cards-1.0.3-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

Details for the file honkai_cards-1.0.3.tar.gz.

File metadata

  • Download URL: honkai_cards-1.0.3.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for honkai_cards-1.0.3.tar.gz
Algorithm Hash digest
SHA256 8049956d58f83278d8e81e8066e209a86d1c7cdcde9e0580a276adbd9fe4788d
MD5 f6712dd0395b48a6c35d83686d1f4cee
BLAKE2b-256 795ba128b5fab1aa32c86ec00f6c72f4f56a1e16acaaab057949f3ff4de67e84

See more details on using hashes here.

File details

Details for the file honkai_cards-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: honkai_cards-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for honkai_cards-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c1b6dc0586b2975e60db02b8f679e9cb44f2be6beb9247ab50a581e507648591
MD5 594b3f860e2f4a1ab6b07d4734e7105c
BLAKE2b-256 8bd35f2a697cfbf441d87c01cd3eab1162e2f93c2e2630bdb2737e80576a15f7

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.6

2 files

1.0.5

2 files

This release

1.0.3 This release

2 files

1.0.2

2 files

1.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page