honkai-cards
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 API —
async 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 (0–7) |
benchmark |
bool |
True |
Include DPS benchmark on the card |
profile
| Argument | Type | Default | Description |
|---|---|---|---|
uid |
int | str |
— | In-game UID |
Profile1 fields:
card—PIL.Image.Imageprofile cardcharacters— list ofP1Char(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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8049956d58f83278d8e81e8066e209a86d1c7cdcde9e0580a276adbd9fe4788d
|
|
| MD5 |
f6712dd0395b48a6c35d83686d1f4cee
|
|
| BLAKE2b-256 |
795ba128b5fab1aa32c86ec00f6c72f4f56a1e16acaaab057949f3ff4de67e84
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1b6dc0586b2975e60db02b8f679e9cb44f2be6beb9247ab50a581e507648591
|
|
| MD5 |
594b3f860e2f4a1ab6b07d4734e7105c
|
|
| BLAKE2b-256 |
8bd35f2a697cfbf441d87c01cd3eab1162e2f93c2e2630bdb2737e80576a15f7
|