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.5.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.5-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: honkai_cards-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 6615d4f71afb0135c96934d6144f2aa04c68e32126378eb77681fbd77ec59bd0
MD5 222e50151ceea953e396965b5bd50e5a
BLAKE2b-256 53bc723d7739a915742a8148e2ed023fb45d0db044f519ca985616ed32f13630

See more details on using hashes here.

File details

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

File metadata

  • Download URL: honkai_cards-1.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a688d842d5b4f2fe5494458739f50d82571f216e702f74ea7113cc0c739c1b1
MD5 d947d7da7d2242de271922d2d255f5cd
BLAKE2b-256 ecc1aad93d7ab61a09adc0a0641e5beb3a463c2bed0ae1341a65ef4e92905577

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.6

2 files

This release

1.0.5 This release

2 files

1.0.3

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