MetaCubeX/mihomo
49.6
Weak · 18 September 2026
1k
lines of production code
Python
primary language
1
measurement over time
What this system is
This system is a Python client library for the Mihomo API, designed to parse and manage game data for player profiles, characters, and equipment. It provides structured data models and utilities for fetching user information, handling API versioning, and performing data consolidation tasks like merging and deduplication. The library supports both current and legacy API formats, offering robust error handling and serialization examples for integration.
Features
Add Python usage examples for API integration
Added three new example scripts in the examples directory to demonstrate how to use the MihomoAPI client. The basic.py example shows how to fetch and display user profile and character data using both v1 and v2 API endpoints. The data\_persistence.py example illustrates how to serialize and deserialize user data using pickle and JSON formats. The merge\_data.py example demonstrates how to merge character data between two API responses using the provided tools.
examples · high confidence
Behavioural changes
API v1 support, new error handling, and icon URL replacement
The mihomo client now supports the API's version 1 data format via a new \fetch\_user\_v1\ method, while the original \fetch\_user\ method remains for the current format. Error handling has been improved with specific \UserNotFound\ and \InvalidParams\ exceptions replacing generic HTTP errors, and a new \replace\_icon\_name\_with\_url\ parameter allows users to automatically convert icon filenames to full asset URLs. Additionally, new tools for merging character data and removing duplicates have been added to support data consolidation workflows.
mihomo · high confidence
Expanded character, equipment, and player data models with new combat and stat structures
The data models for characters, equipment, and player profiles have been significantly expanded to include more detailed game state information. Character profiles now include ascension phases, maximum level calculations, and detailed combat data such as skill traces and trace trees, alongside structured attribute and property lists. Equipment models (Light Cones and Relics) now expose IDs, ascension phases, preview/portrait images, paths, and detailed affix statistics (including count and step for sub-affixes). Player profiles have been restructured to include world level, friend count, and a dedicated avatar object, while also updating field aliases for memory of chaos and simulated universes to match current API responses.
mihomo/models · high confidence
Introduce v1 data models for player, character, and equipment
The \mihomo/models/v1\ package now provides a complete set of Pydantic models (V1) for parsing game data, including player profiles, character details (with traces, stats, and equipment), and equipment definitions. These models support the new API data format, mapping fields such as \PlayerSpaceInfo\ and \ForgottenHall\ (with specific aliases for memory progress) to structured Python objects, effectively replacing or coexisting with previous formats in this versioned namespace.
mihomo/models/v1 · high confidence
Dependencies
Update project version and pin dependency versions
The project version has been bumped to 1.1.7, and the dependencies aiohttp and pydantic are now pinned to major versions 3 and 1 respectively (aiohttp==3.\, pydantic==1.\).
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 50.
Lenses
- Code Health 100
- Architecture 69
- Maturity 47
- Readiness 40
- Security 60
Changes since last survey
- 26 commits — 22 feature/other, 4 fixes
By area
- (root) — 8 commits
- mihomo/models — 8 commits
- .github/ISSUE_TEMPLATE — 3 commits
- .github/workflows — 3 commits
- (repo) — 1 commit
- mihomo/init.py — 1 commit
- mihomo/client.py — 1 commit
- mihomo/tools.py — 1 commit
Notable commits
- fix: fix(character): check type before access
- fix: fix: Decompose space_info & add friend_count
- fix: fix: Swap aliases for memory_of_chaos_id/memory_of_chaos
- fix: fix: simplified chinese returning inconsistent results
- change: Merge pull request #1 from seriaati/main
- change: chore: Add release action
- change: chore: Bump pyproject version to 1.1.2
- change: chore: Update dependencies in pyproject.toml
- change: chore: add tools to init
- change: chore: issue template
- change: chore: update issue template
- change: chore: update issue template
- change: ci: delete old workflows
- change: ci: release
- change: docs: Update README.md and examples.
- change: docs: add examples and update README.md
- change: feat: Add count and step of sub affixes
- change: feat: Add data merging functionality to the tools
- change: feat: Add fields to character trace tree info:
- change: feat: Add max_level property
- …and 6 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
MetaCubeX/mihomo was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 18 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 008b91bfe8c0e2daca0ab69061efd9ea1ad71bd2 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-5d04157a340d.