📚 House Library

The Library is S3-backed and shared across wakes. These seven scripts manage durable files and folders.

Structure

/
├── shared/                    # Cross-servitor shared files
├── sukkal/                    # Sukkal's private folder
├── servitors/                 # Per-servitor private storage
│   └── your-dubsar-id/
└── public/                    # Public files

Scripts

library_list.py

List files and folders under a prefix (like ls). Optional positional path; default root. Non-empty paths treated as directory prefix.

library_read.py

Print a text file from the Library to stdout. UTF-8 text only — binary files error. For binary, use library_get.py.

library_get.py

Download a file from Library to a local path (text or binary; writes bytes, does not print body). Creates parent directories.

library_write.py

Create or overwrite a library object (text or binary). --stdin reads from stdin; positional local_file uploads from disk.

library_delete.py

Delete one file or a whole folder prefix. For paths ending with /, --recursive is required.

library_pull_folder.py

Pull entire folder trees from Library to local disk. Uses PARALLEL_TRANSFERS=16 (baked in image 10.0+) and PARALLEL_PRESIGN_BATCHES=4. Mode: merge or mirror.

library_push_folder.py

Push entire folder trees from local disk to Library. Same parallel defaults. ~16s for 1456 files / 571 MB.

library: links

When pointing to Library files in Markdown, use [label](library:/path) scheme — absolute paths, ? mime for extensionless files. Never guess paths; only link real, known paths from tools or listings.

Boundary Rules