Skip to main content

Game character manager.

Project description

gchar

PyPI PyPI - Python Version Loc Comments Last Updated

Code Test Data Publish Package Release codecov

GitHub Org's stars GitHub stars GitHub forks GitHub commit activity GitHub issues GitHub pulls Contributors GitHub license

Database of known game characters. The database is refreshed once a day, hosted on huggingface - deepghs/game_characters.

Installation

You can install gchar with pip

pip install gchar

Quick Start

Game Character Query

Find the characters (nicknames are supported for arknights and fgo)

Currently Supported Games (If you need data of other games, you can create an issue):

>>> from gchar.games import get_character
>>> 
>>> get_character('amiya')  # english name
<Character R001 - 阿米娅/amiya/アーミヤ, female, 5*****>
>>> get_character('z18')
<Character 346 - Z18/hans_ludemann/ハンス・リューデマン, 稀有(2**), group: Group.KMS>
>>> get_character('416')
<Character 65 - HK416/416/416, 5*****, clazz: Clazz.AR>
>>> 
>>> get_character('夕')  # chinese name
<Character NM02 - 夕/dusk/シー, female, 6******>
>>> get_character('宵宫')
<Character 宵宫/yoimiya/宵宮/よいみや, female, 5*****, weapon: Weapon.BOW, element: Element.PYRO>
>>> 
>>> get_character('スルト')  # japanese name
<Character R111 - 史尔特尔/surtr/スルト, female, 6******>
>>> 
>>> get_character('CEO')  # alias
<Character 171 - 彭忒西勒亚/黄金国的Berserker/penthesilea/berserker_of_el_dorado/ペンテシレイア/エルドラドのバーサーカー, female, 4****, class: Clazz.BERSERKER>
>>> get_character('黑呆')
<Character 3 - 阿尔托莉雅·潘德拉贡〔Alter〕/altria_pendragon_alter/アルトリア・ペンドラゴン〔オルタ〕/アルトリア・ペンドラゴン・オルタ/アルトリア・オルタ, female, 4****, class: Clazz.SABER>
>>> get_character('小火龙')
<Character RL03 - 伊芙利特/ifrit/イフリータ, female, 6******>

List all character with specific condition of one game

from gchar.games.arknights import Character

for ch in Character.all():  # 5star, boys
    if ch.rarity == 5 and ch.gender == 'male':
        print(ch)

Pixiv Resources

Get search keywords for pixiv

>>> from gchar.resources.pixiv import get_pixiv_keywords
>>> 
>>> get_pixiv_keywords('CEO')
'Fate/GrandOrder (berserker_of_el_dorado OR penthesilea OR エルドラドのバーサーカー OR ペンテシレイア OR 彭忒西勒亚 OR 黄金国的berserker)'
>>> get_pixiv_keywords('黑贞')
'Fate/GrandOrder (jeanne_d_arc_alter OR ジャンヌ・ダルク〔オルタ〕 OR 贞德〔alter〕) -jeanne_d_arc_alter_santa_lily'
>>> get_pixiv_keywords('amiya')
'アークナイツ (amiya OR アーミヤ OR 阿米娅)'
>>> get_pixiv_keywords('blazer')  # fuzzy match is supported
'アークナイツ (blaze OR ブレイズ OR 煌)'
>>> get_pixiv_keywords('林雨霞')
'アークナイツ (lin OR 林) -angelina -flint -folinic -ling -守林人 -巡林者 -杜林'
>>> get_pixiv_keywords('夕')
'アークナイツ (dusk OR シー OR 夕) -ケルシー -シージ -シーン'

See how many posts on pixiv

>>> from gchar.resources.pixiv import get_pixiv_posts
>>> 
>>> # first one is all, second one is r18
>>> get_pixiv_posts('CEO')
(867, 113)
>>> get_pixiv_posts('黑贞')
(21908, 3820)
>>> get_pixiv_posts('amiya')
(14130, 1113)
>>> get_pixiv_posts('blazer')  # fuzzy match is supported, but slower
(1967, 383)
>>> get_pixiv_posts('林雨霞')
(259, 44)
>>> get_pixiv_posts('夕')
(2908, 424)

Other Sites' Resource

Get tags for danbooru and other sites

Currently supported sites:

>>> from gchar.resources.sites import get_site_tag
>>> 
>>> # first one is all, second one is r18
>>> get_site_tag('CEO', 'danbooru')
'penthesilea_(fate)'
>>> get_site_tag('黑贞', 'danbooru')
"jeanne_d'arc_alter_(fate)"
>>> get_site_tag('amiya', 'danbooru')
'amiya_(arknights)'
>>> get_site_tag('林雨霞', 'danbooru')
'lin_(arknights)'
>>> get_site_tag('夕', 'danbooru')
'dusk_(arknights)'
>>> get_site_tag('夕', 'danbooru', with_posts=True)  # see how many images
('dusk_(arknights)', 1397)
>>> get_site_tag('夕', 'zerochan')  # another sites
'Dusk (Arknights)'

FAQ

Q: How timely is the data?

A: The data is updated approximately once a day and is hosted on Github Action, ensuring its timeliness. In the event of a malfunction on the crawled Wiki site that prevents data updates, the corresponding Wiki team will be contacted to resolve the issue.

Project details


Download files

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

Source Distribution

gchar-0.1.1.tar.gz (45.3 kB view hashes)

Uploaded Source

Built Distribution

gchar-0.1.1-py3-none-any.whl (62.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page