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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file gchar-0.1.1.tar.gz.

File metadata

  • Download URL: gchar-0.1.1.tar.gz
  • Upload date:
  • Size: 45.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for gchar-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4daa2799c4296d573e037715e08ce07abff140ffed5f742c269281e075edb4a4
MD5 2cf5fbf94681c021125267e4b7e7715b
BLAKE2b-256 7e17c1d28330cce1db1cba29f49546e32a5b30b4987b7c3fff1951f1ddb9462a

See more details on using hashes here.

File details

Details for the file gchar-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gchar-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 62.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for gchar-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5dd2c0851634eb9960b4fefe45a5b5ea49ff28cf47bd41528c5655bec5c27e21
MD5 6bce4b6a4f13a0f83214ade208223de6
BLAKE2b-256 5c77dd7efac719e898c64df637b1a0619d59f54942cd22ff390c00893ea357bc

See more details on using hashes here.

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