NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2425 most downloaded on PyPI
The official Python client to connect with ModelScope Hub.
Last release 14 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 27 of 29 stable releases
Nothing withdrawn
no release was ever pulled
4 months old
29 releases · first in 2026
One column per month.
Add ms agent install with gated plugin loader ( #68 ): Introduces ms-hub agent install -r owner/name , which downloads an agent into its framework's l
Add ms agent install with gated plugin loader (#68): Introduces ms-hub agent install -r owner/name, which downloads an agent into its framework's local workspace by delegating to a framework plugin published as a model repository. The hub remains framework-agnostic; it resolves the plugin, fetches and verifies it, then hands the agent ID over. Also adds the modelscope_hub.agent.install_agent SDK entry. Security is enforced via a three-gate model: explicit plugin source (no built-in default owner), an owner allow-list checked before any download, and a trust_remote_code opt-in verified against a content_sha256 manifest. Plugin code executes in-process behind explicit trust acknowledgment.
Upload pipeline: commit-only recovery (#70): Retryable commit failures now re-commit already-uploaded files without re-transferring blobs; repository-policy rejections are split by halving down to a single file.
Upload pipeline: pending-only batch planning (#70): Resumed uploads re-plan only not-yet-committed files, eliminating tiny micro-commits after an interruption.
LFS routing default lowered (#70): LFS routing threshold dropped from 1 MiB to 64 KiB, moving small files to object storage — fewer commits and smaller commit bodies for large datasets.
Dual-constraint commit batching (#70): Batches close on operation-count target (256) or estimated request-body budget (8 MiB), clamped to the server's 2,000-action ceiling. LFS pointers no longer count against the body budget.
Tail-batch rebalancing (#70): Avoids a tiny final commit (e.g. 256/32 → 144/144) without adding extra commits.
Non-blocking capacity pre-checks (#70): Total file count, per-directory count, single-file size, and normal-file total are now warnings instead of hard errors.
Richer commit-plan logging (#70): Pending/skipped counts, per-batch ops, estimated bytes, and LFS share are now logged.
Non-retryable commit failures no longer cause silent data loss (#70): Every terminal failure is counted, reported, blocks sync-delete, and raises StorageError.
409/400 commit errors now retryable (#70): "Branch changed, please retry" (409) and "commit rejected by repository policy" (400, business code 10030000001) are correctly treated as retryable instead of permanent.
HTTP 200 with Success: false now raises (#70): Commit responses returning HTTP 200 but Success: false are no longer accepted as success.
Manual re-runs retry any uncommitted file (#70): Re-runs now retry any file not marked committed, regardless of the previous run's error type.
Add AGENTS.md upload-pipeline spec (#70): Mandates simulation-regression scenarios for any change to the upload_folder chain. Documents upload environment-variable semantics (advisory thresholds, batching, retry) in README.md.
Update README.md (#71): Removes outdated content from the README's News section.
Full Changelog: v0.4.4...v0.4.5
modelscope-hub v0.4.4 Release Notes
path_in_repo="." no longer fail. A . destination (e.g. ms upload REPO DIR .) was written into every commit action as a literal ./ path prefix, which the Hub rejected with E3021 "invalid commit action" on every commit — aborting the run after 3 consecutive failed batches. . now correctly resolves to the repository root.path_in_repo is now normalized consistently across upload_folder and upload_file: ., ./, /, and empty all map to the repo root; redundant separators and ./.. segments are collapsed; and paths that escape the repository root are rejected upfront.path_in_repo Normalization by @wangxingjun778 in #69Full Changelog: v0.4.3...v0.4.4
Studio Operations : Added list_studios , list_studio_hardware / _base_images / _sdk_versions , and four plaintext-variable operations, exposed via ms-
list_studios, list_studio_hardware / _base_images / _sdk_versions, and four plaintext-variable operations, exposed via ms-hub studio list, studio variable, studio hardware|base-images|sdk-versions, and ms-hub list --repo-type studio.HubApi.list_operational_mcp_servers() and ms-hub mcp list --hosted, unblocking the umbrella SDK's MCPApi delegation.protected visibility (app public, code hidden).sdk_type, sdk_version, base_image, hardware, mcp_support, runtime).TokenScope annotations; read-scoped tokens can log in with a warning that writes need a higher tier; rejected writes name the required tier.decode_mcp_list_response: Added a function to decode MCP list responses (PR #67).OperationNotAllowed errors when agent repository listing requires read permission; prevent legacy agent list permission envelopes from rendering as empty repository results.page_number and page_size; reject invalid page numbers before issuing network requests.E3021 InvalidParameter errors.token / endpoint into request bodies, serialising the caller's API token into PATCH bodies; all Studio shims now split control kwargs from business fields.HubApi().get_studio_logs(..., token=...) raised TypeError and could never succeed; per-call token= was silently ignored on every Studio shim.cover_image was renamed to coverImage and dropped by the server; Studio cover images never applied.QuotaExceededError, not retryable); 409 maps to AlreadyExistsError; OpenAPI string error codes are now recognised.get_studio demanded a token for spaces the spec says are public.studio logs read a total field the response never had, so its pagination footer never printed.tests/data/ and check it against OPERATION_REGISTRY.Full Changelog: v0.4.2...v0.4.3
Add compatible delete_files func
Full Changelog: v0.4.1...v0.4.2
Support deletion operation for commit manager
Full Changelog: v0.4.0...v0.4.1
ModelScope-Hub v0.4.0 Release Notes
HubApi and via the new ms-hub agent-idp command. Private JWKs are written 0600, and only to an explicitly requested path.list_studios, the hardware / base-image / SDK-version catalogs, and the four plaintext-variable operations. New CLI: ms-hub studio list|variable|hardware|base-images|sdk-versions, plus ms-hub list --repo-type studio.HubApi.list_operational_mcp_servers() and ms-hub mcp list --hosted surface hosted servers with their live URLs.protected visibility: app public, code hidden — previously inexpressible because visibility was folded into a private bool.TokenScope (read/write/admin) annotations. A read-scoped token can log in with a warning, and a rejected write names the tier it requires.RepoInfo now carries Studio runtime fields (sdk_type, sdk_version, base_image, hardware, mcp_support, runtime) instead of discarding them.PUT first — the only verb the spec defines — and remembers which verb a deployment serves, so the other is tried at most once.token / endpoint into request bodies, serialising the caller's API token into the PATCH body of update_studio_settings. Control kwargs are now split from business fields on every Studio shim.get_studio_logs(..., token=...) raised TypeError and could never succeed; a per-call token= was silently ignored on every Studio shim.cover_image was renamed to coverImage on the way out and dropped by the server, so Studio cover images never applied.QuotaExceededError, deliberately not retryable), 409 maps to AlreadyExistsError, and the OpenAPI string error codes are recognised at all.get_studio demanded a token for spaces the spec declares public.ms-hub studio logs read a total field the response never had, so its pagination footer never printed.agent-idp command surface, a Token permission levels section, and the SDK method reference. Back-filled the missing 0.3.0 and 0.3.1 News entries and collapsed older releases.tests/data/ and checked against OPERATION_REGISTRY, so an unimplemented published Agent-IDP / MCP / Studios endpoint fails the suite instead of drifting unnoticed.Full Changelog: v0.3.1...v0.4.0
Centralized upload configuration under canonical MODELSCOPE_UPLOAD_* environment variables.
MODELSCOPE_UPLOAD_* environment variables.FutureWarning messages.Full Changelog: v0.3.0...v0.3.1
change visibility api by @tastelikefeet in #52
Full Changelog: v0.2.0...v0.3.0
HubApi.login() now raises NetworkError , ServerError , or RequestTimeoutError for non‑authentication failures instead of always raising Authentication
HubApi.login() now raises NetworkError, ServerError, or RequestTimeoutError for non‑authentication failures instead of always raising AuthenticationError. Callers that used except AuthenticationError to catch any login failure should widen it to HubError.RequestId are preserved, restoring traceability.--endpoint modelscope.ai or HTTPS://...).clear_token() removes the session cookie while leaving git token and cached identity consistent.10010103009 → AuthenticationError/E3001); 5xx remain retryable ServerError.--endpoint if the token is valid there.--verbose now prints the full error cause chain (bounded and cycle‑safe).HubConfig.normalize_endpoint() for consistent behaviour across all entry points.requests transport, exercising the config, facade, legacy client, and error‑translation layers.Full Changelog: v0.1.9...v0.2.0
CLI rename : console scripts renamed from ms / modelscope to ms-hub / modelscope-hub to avoid installation collisions with the umbrella modelscope pac
ms / modelscope to ms-hub / modelscope-hub to avoid installation collisions with the umbrella modelscope package (fixes #1752)ms-hub mcp deploy prints the operational URL after deployment; adds --auth-check and repeatable --env KEY=VALUE options; validates --transport-type (sse / streamable_http)progress_callbacks through HubApi.download_repo facade so custom download-progress callbacks work end-to-end (previously raised TypeError on real calls){base}/{type}s/{owner}/{name} and {base}/hub/... layouts in priority order, with clean fallback to the new layoutrevision parameter propagation in get_model_files download pathrequire_token=False to three read-only agent APIs so public repo downloads work without credentials (previously blocked client-side); repo_info falls back to public endpoint when anonymous access returns 401HubApi.get_cookies() now respects explicitly passed empty tokens and does not silently fall back to persistent credentials; added _token_overridden flagmodelscope and modelscope-hubdeploy_mcp_server drops explicit None payload values before applying default transportTypeAlias, StrEnum shim, SubParsers protocol)citest workflow: mock-mode suite (no credentials/network) on Python 3.10/3.12/3.14 with ruff/mypy hard gates; PyPI publishing now requires a green test gate; added pre-commit configms-hub command nameFull Changelog: v0.1.8...v0.1.9
Agent CLI ( #34 ) – Introduced Agent workspace management SDK and CLI for ModelScope Hub, supporting multiple frameworks (Hermes, Nanobot, OpenClaw, O
Agent CLI (#34) – Introduced Agent workspace management SDK and CLI for ModelScope Hub, supporting multiple frameworks (Hermes, Nanobot, OpenClaw, OpenHuman, Qoder, QwenPaw) with local-to-remote upload, download, format conversion, and background bidirectional sync.
Fix upload normal files (#38) – Fixed file upload logic by distinguishing LFS and normal modes. Normal files are now committed directly with inline base64 content, bypassing blob upload/validation APIs (now reserved for LFS). Updated upload report with detailed statistics and added comprehensive unit tests.
Support visibility for agent hub (#39) – Added --visibility option to the agent upload CLI command and updated create_repo method with visibility parameter validation. Also introduced ms agent CLI command and AgentApi SDK client for raw file transfers (download, upload, list) on remote agent repositories.
Add cache checksum verification (#37) – Added verify_cache API and ms cache verify CLI command to validate local repository files against remote SHA-256 checksums from ModelScope Hub. Returns non-zero status for mismatches, warns for missing/extra/unverifiable files, and exposes structured SDK verification results.
Fix progress_callbacks (#40) – Fixed progress_callbacks parameter propagation in HubApi.download_repo and compat.snapshot_download facade, ensuring callbacks are correctly forwarded to DownloadManager. Added integration-style tests to verify the forwarding chain.
Full Changelog: v0.1.7...v0.1.8
Cross-Region Internal Download Acceleration
Cross-Region Internal Download Acceleration (#32)
-internal.aliyuncs.com) if the server and client are in the same region or connected via peered networks (CEN/VPC).HEAD requests, falling back to public CDN if all internal paths fail.repo_id, repo_type) to eliminate redundant probes, reducing total requests from $N \times (1+P)$ to $1 \times (1+P)$.⚡ (Local OSS), ⇄ (Peer OSS), or blank (CDN).Snapshot Download Cache Fix (#35)
snapshot_download.MODELSCOPE_DOWNLOAD_INTER_CLOUD_REGIONS (Env) : A comma-separated list of peer cloud regions for cross-region internal network acceleration.Full Changelog: v0.1.6...v0.1.7
replace _ALLOWED_EXTRA whitelist with _RESERVED_EXTRA_FIELDS blocklist by @wangxingjun778 in #33
Full Changelog: v0.1.5...v0.1.6
[Fix] Fix commit adaptive batch size by @wangxingjun778 in #30
Full Changelog: v0.1.4...v0.1.5
Added gated mode support via CLI ( --gated / --no-gated ) and SDK ( gated_mode ).
--gated/--no-gated) and SDK (gated_mode).visibility takes precedence; gated_mode is effective only when visibility=PRIVATE – if visibility is omitted and gated_mode=True, it defaults to PRIVATE.ProtectedMode as integer (1 or 2) to prevent server errors.Full Changelog: v0.1.3...v0.1.4
Fix compat apis by @wangxingjun778 in #26
Full Changelog: v0.1.2...v0.1.3
#26
Update news by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/24
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.1.0...v0.1.1
Deprecation Notice: Added a DeprecationWarning and security restrictions for programmatic delete_repo and delete_files operations, redirecting users t…
get_model now supports the revision parameter, improving parameter passthrough across repo and model operations (#19).--sync CLI flag (via sync_remote_repo) to detect and purge remote orphan files after a successful upload, scoped to the path_in_repo prefix (#22).MODELSCOPE_UPLOAD_BATCH_CONSECUTIVE_FAILURE_LIMIT) and total wait time thresholds (MODELSCOPE_UPLOAD_COMMIT_MAX_TOTAL_WAIT) (#23).get_dataset, list_datasets) from the legacy API to the OpenAPI implementation (#21).Visibility.from_label(), and early exits for batch commit timeouts/failures (#23)._resolve_legacy_paths helper across 4 download entry points (model_file_download, dataset_file_download, snapshot_download, dataset_snapshot_download) to reuse old flat path cache structures without migration (#23).TypeError in the path resolution helper when cache_dir is configured as a string instead of a Path object (#23).DeprecationWarning and security restrictions for programmatic delete_repo and delete_files operations, redirecting users to the web console until token-scoped auth is ready (#20).All contributions in this release cycle were made by @wangxingjun778.
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.9...v0.1.0
Model Retrieval: Added support for the revision parameter in get_model.
Features & Enhancements
revision parameter in get_model.Improvements & Fixes
parse_timestamp to ensure robust timezone conversion across multiple formats, including ISO 8601 strings and floats.Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.8...v0.0.9
[Security] Redact OAuth tokens from git error logs and exceptions by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/14
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.7...v0.0.8
Fix UTs by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/9
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.6...v0.0.7
Fix/v4 reviews by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/7
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.5...v0.0.6
Fix/v4 reviews by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/5
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.4...v0.0.5
[Feature] Add Error Code Module by @wangxingjun778 in https://github.com/modelscope/modelscope_hub/pull/1
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.3...v0.0.4
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.2...v0.0.3
Full Changelog: https://github.com/modelscope/modelscope_hub/compare/v0.0.2...v0.0.3
Full Changelog: https://github.com/modelscope/modelscope_hub/commits/v0.0.2
Full Changelog: https://github.com/modelscope/modelscope_hub/commits/v0.0.2
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →