Python and Rust libraries for MDZip: four core libraries, one format #10
kylemwhite
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
MDZip now has core libraries for Python and Rust, alongside the existing ones for .NET and JavaScript. Each one reads, writes and validates
.mdzfiles, and each passes the same shared conformance tests from the specification. An app built on any of them reads and writes the same files as every other MDZip tool.Python
mdzip-corefor Python 3.10 and later, using only the standard library.Rust
mdzip-corefor Rust 1.85 and later, with small pure-Rust dependencies. API docs.What both of them do
manifest.jsonthe specification requires, with the main document recorded, so other tools open the right file.Why the shared tests matter
The specification comes with test files every MDZip library has to pass: tricky entry points, unusual file names, hostile archives, and files that must survive being opened and saved. All four core libraries run them, so a file written in Python opens the same way in the Rust, .NET and JavaScript libraries, and in the apps built on them.
If you're adding
.mdzsupport to an app, Add MDZip to your app has the steps, and Works with MDZip shows everything that reads and writes it today.Python on PyPI · Rust on crates.io · Python source · Rust source
The .NET logo is a trademark of the .NET Foundation. The JavaScript logo is by Chris Williams, under the MIT License. The Python logo is a trademark of the Python Software Foundation. The Rust logo is by the Rust Foundation, used under CC BY 4.0. None of these organizations is affiliated with or endorses MDZip.
All reactions