Skip to main content

seal files now, open them later

Project description

magicicapsula

install

pip install -e .

needs python 3.10+. one dependency: cryptography.

how it works

the workflow is staged, so you don't have to add everything at once:

magicicapsula init -u 2030-01-01     # start a draft here
magicicapsula add letter.txt photos/ # stage files/folders
magicicapsula add diary.txt          # add more later
magicicapsula status                 # see what's staged
magicicapsula seal                   # pack it all into capsule.mcap

the draft lives in a .capsule/ directory (found by walking up from the current dir). seal reads everything staged and writes the .mcap file.

later, when the date has passed:

magicicapsula open capsule.mcap -d ./out

.mcap is one portable binary file. store it anywhere, copy it around. it holds any file type (images, pdfs, binaries) byte for byte, not just text.

passwords

  • with a password (default): contents are encrypted (aes-128 via cryptography), unreadable without the password. open and verify prompt for it.
  • without a password (seal --no-password): no encryption. the unlock date is the only gate, so anyone with the file can open it after that date. don't put anything private in a no-password capsule.

note: the unlock date is enforced by the tool, not by cryptography. if you hold the password you could decrypt early with other means. the date stops casual early opening, not a determined holder.

commands

init

start a new capsule draft in the current directory.

magicicapsula init [-u DATE] [-n NOTE] [-o OUT]

  -u, --unlock DATE  unlock date, can also be set at seal
  -n, --note NOTE    plaintext note shown by info
  -o, --out OUT      output file name (default: capsule.mcap)

add

stage files or folders to put in the capsule.

magicicapsula add <paths...>

status

show the draft: unlock date and staged files.

magicicapsula status

rm

unstage files. does not delete them from disk.

magicicapsula rm <paths...>

seal

seal everything staged into a capsule file. flags override the draft's settings and stick.

magicicapsula seal [-u DATE] [-o FILE] [-n NOTE] [-f] [-P]

  -u, --unlock DATE  unlock date, overrides the draft's
  -o, --out FILE     output capsule file, overrides the draft's
  -n, --note NOTE    plaintext note, overrides the draft's
  -f, --force        overwrite the output if it exists
  -P, --no-password  seal without a password (anyone can open it after the date)

info

show a capsule's dates and status. no password needed.

magicicapsula info <file>

open

open a capsule and extract it, once the unlock date has passed.

magicicapsula open [-d DEST] <file>

  -d, --dest DEST  directory to extract into (default: current dir)

verify

check a capsule's integrity (and the password, if any) without opening it.

magicicapsula verify <file>

version

show the version and logo.

magicicapsula version

date format

YYYY-MM-DD or YYYY-MM-DDTHH:MM, read as local time. examples: 2030-01-01, 2030-01-01T08:00.

colors

output is colored in a terminal and plain when piped or redirected. set NO_COLOR=1 to turn colors off.

dates and gotchas

  • staged entries are paths, read at seal time, not copied when you add them. if a staged file is moved or deleted before sealing, status marks it (missing) and seal refuses until it's fixed.
  • files are stored under their base name, so two staged files with the same name would collide.

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

magicicapsula-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

magicicapsula-0.1.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file magicicapsula-0.1.0.tar.gz.

File metadata

  • Download URL: magicicapsula-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for magicicapsula-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7740c04838340a991560bdc2d01c5facc053328386f401ca3c9d32acd059dc2
MD5 0b6f5dd803ed1740076cbb0bdfb09fc7
BLAKE2b-256 db2dff7507504790dcd94c69edaed1d790b4fc3eebcadfb7c0690f8ffc686255

See more details on using hashes here.

Provenance

The following attestation bundles were made for magicicapsula-0.1.0.tar.gz:

Publisher: publish.yml on iDavi/magicicapsula

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

File details

Details for the file magicicapsula-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: magicicapsula-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for magicicapsula-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19a14745aefda1031d48e76d270e77bd1876029000f266873b52a88c6a36f2bf
MD5 96ac21b6026b17054f78a4eb838c7519
BLAKE2b-256 8ee831e3160b86ee338433ce787d14e0c4fbf19cd1d9577f7747f458d245a863

See more details on using hashes here.

Provenance

The following attestation bundles were made for magicicapsula-0.1.0-py3-none-any.whl:

Publisher: publish.yml on iDavi/magicicapsula

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