Skip to main content

MFUP/2 resumable multi-file upload engine: protocol codec, session state machine, SQLite staging, Redis expiry index, publish/mapping. Framework-free core.

Project description

mfup-core

The MFUP/2 resumable multi-file upload engine — framework-free.

MFUP/2 moves whole directory trees (think node_modules-scale: tens of thousands of small files) from a browser to a server over one WebSocket control channel (JSON) plus HTTP data legs (binary frames), with:

  • resume across page reloads, network drops and server restarts (per-session SQLite journal in a staging directory, epoch/leg fencing);
  • interactive transfers — the server can ASK the user mid-flight (overwrite? cancel?) without stopping the stream;
  • integrity — CRC-32C per chunk (C-accelerated, hard dependency), commit invariants that catch lost metadata;
  • atomic publish — staged files move into the target directory with rename(), optionally re-laid-out per file by a consumer hook;
  • retention — Redis expiry index plus a filesystem reconciliation safety net; failed/cancelled sessions leave no garbage.

This package contains the protocol codec, the session state machine, storage/publish, the Redis index, and the consumer hook contracts (AuthRequest/AuthResult, FileMapRequest, CommitEvent). It does not speak HTTP: pair it with mfup-fastapi (or write your own transport shell against these primitives).

The browser side lives on npm: @mfup/client (TypeScript SDK) and @mfup/react (hooks).

Docs and source: https://github.com/n0isy/mfup — see docs/EXTENDING.md for the integration contract and docs/FULL.md for the protocol.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mfup_core-0.2.0.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mfup_core-0.2.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file mfup_core-0.2.0.tar.gz.

File metadata

  • Download URL: mfup_core-0.2.0.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mfup_core-0.2.0.tar.gz
Algorithm Hash digest
SHA256 39158e23ffe6c3fd1f020b82062d4e30db18182cb3c1021ecd2119ca66ab1a8a
MD5 aa1e368dbc8e8fc852115c15cbf70a92
BLAKE2b-256 7ca4b4b3d4ffa6373243055862925911ac9474ff648c2da7056bea96cc0a795f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mfup_core-0.2.0.tar.gz:

Publisher: release.yml on n0isy/mfup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mfup_core-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mfup_core-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mfup_core-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bc85e04a7be34ffd420ec4c8d9209a97d7fc70667dcd33304e3159a898f0a94
MD5 d3df1d7b9f42d61c7228149edd2cd57b
BLAKE2b-256 3713d9bffb28f76b881330cfb52998c61977f44456d5841a33f0828cb8517a11

See more details on using hashes here.

Provenance

The following attestation bundles were made for mfup_core-0.2.0-py3-none-any.whl:

Publisher: release.yml on n0isy/mfup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page