Skip to content
CAI
Software that uses CAICheck a score

MetaCubeX/mihomo

49.6

Weak · 18 September 2026

1k

lines of production code

Python

primary language

1

measurement over time

CAI band scale
CAI lens gauges

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.