Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slipcase

A container file format that attaches metadata to a file.

A .slpc file is a ZIP archive holding a payload file of any type together with a TOML metadata file describing it. The two become one file, so copying, moving, or sending the payload carries its metadata along.

Most files have nowhere to put metadata. Some formats have an embedded slot, but writing to it means modifying the payload, and a great many types have no slot at all. Filenames carry very little. Sidecar files sit beside the payload until someone copies one and not the other. Databases hold metadata well until the file leaves the system, and then the two are separated with nothing to reconnect them.

A container needs no special tooling to make or to read:

cat > slipcase.metadata.toml <<'TOML'
slipcase_version = "1.0"

[payload]
file = "report.pdf"
TOML

zip report.pdf.slpc slipcase.metadata.toml report.pdf

That is a conformant container. unzip gets it back.

This repository

SPEC.md is the specification. DESIGN.md records the design and the reasoning behind each rule.

To the extent possible under law, Excelano LLC has waived all copyright and related or neighboring rights to slipcase, dedicating it to the public domain under CC0 1.0. Anyone can implement it — or quote, fork, or embed the text — without obligation to this project.

About

A container file format that attaches metadata to a file

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages