{"id":13747985,"url":"https://github.com/MahjongRepository/mahjong_soul_api","last_synced_at":"2025-05-09T10:32:11.094Z","repository":{"id":43673439,"uuid":"214573569","full_name":"MahjongRepository/mahjong_soul_api","owner":"MahjongRepository","description":"Python wrapper for the Mahjong Soul (Majsoul) Protobuf objects. It allows to use their API.","archived":false,"fork":false,"pushed_at":"2024-04-18T15:35:37.000Z","size":630,"stargazers_count":77,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-21T20:55:29.189Z","etag":null,"topics":["mahjong","mahjong-soul","majsoul"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MahjongRepository.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-12T03:51:19.000Z","updated_at":"2025-03-27T14:41:57.000Z","dependencies_parsed_at":"2023-12-22T08:27:52.171Z","dependency_job_id":"8c71d563-0ce3-49fe-95e4-e2b5b7ce6a80","html_url":"https://github.com/MahjongRepository/mahjong_soul_api","commit_stats":{"total_commits":39,"total_committers":6,"mean_commits":6.5,"dds":0.4358974358974359,"last_synced_commit":"d3d38c059df1fbada58f3b299aa3b38604cf52cf"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahjongRepository%2Fmahjong_soul_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahjongRepository%2Fmahjong_soul_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahjongRepository%2Fmahjong_soul_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MahjongRepository%2Fmahjong_soul_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MahjongRepository","download_url":"https://codeload.github.com/MahjongRepository/mahjong_soul_api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253234178,"owners_count":21875561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mahjong","mahjong-soul","majsoul"],"created_at":"2024-08-03T07:00:31.554Z","updated_at":"2025-05-09T10:32:10.655Z","avatar_url":"https://github.com/MahjongRepository.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"The idea of repository based on https://github.com/chaserhkj/PyMajSoul/\n\nPython wrappers for Majsoul allow you to interact with their servers from Python scripts.\n\n## For User\n\n1. Install python packages from `requirements.txt`\n2. `python example.py -u username -p password`\n\nThis example is working only with **Python3.7+**.\n\nAlso, you need to have an account from CN server to run this example, because only accounts from CN server has the ability to login with login and password.\n\nIf you want to login to EN or JP servers you need to write your code to authenticate via email code or social network. Protobuf wrapper from this repository contains all needed API objects for that.\n\n## For Developer\n\n### Requirements\n\n1. Install python packages from `requerements.txt`\n1. Install protobuf compiler `sudo apt install protobuf-compiler`\n\n### How to update protocol files to the new version\n\nIt was tested on Ubuntu.\n\n1. Download the new `liqi.json` file from MS (find it in the network tab of your browser) and put it to `ms/liqi.json`\n1. `python generate_proto_file.py`\n1. `protoc --python_out=. protocol.proto`\n1. `chmod +x ms-plugin.py`\n1. `sudo cp ms-plugin.py /usr/bin/ms-plugin.py`\n1. `protoc --custom_out=. --plugin=protoc-gen-custom=ms-plugin.py ./protocol.proto`\n\n\n### How to update protocol files for manager API to the new version\n\n1. Prepare new `liqi_admin.json` file from MS tournament manager panel\n1. `python ms_tournament/generate_proto_file.py`\n1. `protoc --python_out=. protocol_admin.proto`\n1. `chmod +x ms-admin-plugin.py`\n1. `sudo cp ms-admin-plugin.py /usr/bin/ms-admin-plugin.py`\n1. `protoc --custom_out=. --plugin=protoc-gen-custom=ms-admin-plugin.py ./protocol_admin.proto`\n\n### How to release new version\n\n1. `pip install twine`\n2. `python setup.py sdist`\n3. `twine upload dist/*`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMahjongRepository%2Fmahjong_soul_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMahjongRepository%2Fmahjong_soul_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMahjongRepository%2Fmahjong_soul_api/lists"}