Skip to main content

automas-maafw-project-update

Standalone MaaFW project update service and AUTO-MAS plugin.

It provides maafw.project_update.v1 and supports mirrorchyan and github_release providers without depending on MaaFW runner or agent runtime.

With no explicit provider, MirrorChyan remains the version-metadata authority when the ProjectInterface declares a RID. A CDK-less discovery can report a newer version, but it never exposes an installable candidate; the caller must provide a project or host CDK. Automatic checks do not cross-fallback to GitHub. Explicit providers never cross-fallback, and GitHub source archives or ambiguous asset sets are not treated as installable releases.

download_package() downloads an installable candidate into a caller-owned managed directory without changing an existing project tree. It accepts only HTTPS URLs, validates every redirect, enforces a streamed size limit, checks ZIP/SHA256 integrity and publishes the complete archive atomically. Managed downloads use unique temporary files and a content-addressed final name, so concurrent scripts cannot delete each other's in-progress archive. Project Store consumers can then import the returned local path.

release_download_package() releases that caller-owned staging archive after the immutable import is durable. It accepts only the exact content-addressed package DTO returned by download_package(), re-verifies SHA256, rejects path escapes, extra nesting, symlinks and Windows reparse points, and unlinks only the regular archive plus its now-empty direct archive-key directory. Missing packages are idempotently treated as already released; no recursive cache deletion is exposed. Failed or cancelled downloads apply the same narrow cleanup to their UUID work files and empty archive-key directory.

Downloads share one 300-second wall-clock deadline across retries. The optional best-effort progress callback reports real streamed bytes (when available), validation, extraction, switching and terminal states without allowing a UI callback failure to affect the update transaction.

discover_update() distinguishes a newer version from an installable package. It returns a discovery with candidate=None when the provider supplies version metadata without a download URL. The legacy check_update() method returns only an actionable candidate and raises a diagnostic error for a non-installable discovery, so callers cannot accidentally present it as ready to install.

Archive validation (ZIP inspection and SHA256), publication, extraction, copy/rollback and cleanup run in worker threads. The async service therefore keeps the AUTO-MAS event loop responsive while applying large project updates.

Release files for automas-maafw-project-update 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for automas-maafw-project-update 0.2.3
File Size Uploaded
automas_maafw_project_update-0.2.3.tar.gz 20.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for automas-maafw-project-update 0.2.3
File Interpreter ABI Platform
automas_maafw_project_update-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 42.2 kB

Release files / automas_maafw_project_update-0.2.3.tar.gz

Download URL automas_maafw_project_update-0.2.3.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1abbb8829c3b00c191d1844b71c148ca092bdbfa5531aac60ebc4372f164525f
BLAKE2b-256 checksum
How to use checksums
d856bdcde9aad19fc577c320bb045448595923986b6b3b2bcb7d2c294082cf8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release files / automas_maafw_project_update-0.2.3-py3-none-any.whl

Download URL automas_maafw_project_update-0.2.3-py3-none-any.whl
Size 21.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
faa3b5ac5731e46215e3c578c92c9ae9445846b2a2a04a5f65dffec5370e8dc2
BLAKE2b-256 checksum
How to use checksums
18e527d47534e275b0eb53cef03b7dc2a4f05208b355a1c21a6537698a8b7cea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page