anyback
Anytype Toolbox documentation · Backup and restore guide · Rust API
The anyback package supplies the anyback_reader Rust library and the
archive commands embedded in anyr backup. It does not install an anyback
executable. See the backup and restore guide for command usage.
Status: alpha. Test restores before relying on an archive as your only copy.
Library surface
anyback_reader reads ZIP archives and unpacked archive directories. Its
public modules provide archive traversal, protobuf snapshot inspection, and
Markdown rendering. The default cli feature also builds the command types
and run_command entry point used by anyr; default-features = false
excludes those dependencies.
The tui feature adds the interactive inspector used by
anyr backup inspect.
Archive and restore design
Backups use Anytype's protobuf exporter by default and publish a ZIP archive plus a sibling manifest. The manifest binds the staged archive's byte length and SHA-256 digest before the archive becomes visible at its final path. Readers also accept archives without a manifest, including archives created by Anytype desktop and direct pre-delete backups.
Full restores pass the archive path to Heart's import operation. Selective
restore uses snapshot import behind the snapshot-import feature. Snapshot
import accepts protobuf snapshots; JSON-encoded protobuf snapshots are not
supported.
Create and restore operations share an absolute workflow deadline. Local archive, manifest, report, and result publication use staged writes under that deadline. Restore completion is correlated with the import process when Heart returns a collection identifier; ordinary object imports without one are bound to the dispatch generation.
anyr backup create|export and non-dry-run restore|import require a running
Anytype CLI server and gRPC credentials. Restore and import with --dry-run
validate the local archive and resolve the destination space over HTTP without
dispatching an import.
Development
Run the offline crate checks:
The ignored live and integrity suites require a disposable, authenticated Anytype server. Their admission variables and exact test commands are defined next to the test targets and in the workspace CI configuration.