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)
| File | Size | Uploaded | |
|---|---|---|---|
| automas_maafw_project_update-0.2.3.tar.gz | 20.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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