Artificial truth

The more you see, the less you believe.

[archives] [latest] | [homepage] | [atom/rss]

MAT is dead, long live MAT2
Tue 05 June 2018 — download

Two years ago, I wrote that mat was on hold for health-related reasons. I'm now feeling better, so I thought about rewriting it in Python3. It's living on its own git repository, thanks to the wonderful people behind 0xacab.org. Currently, the library and the command line interface are offering the same level of features (and maybe a bit more) than the original MAT.

It also comes with a shiny logo:

logo

It's currently supporting several fileformats:

  • image/png (.png)
  • application/pdf (.pdf)
  • application/x-bittorrent (.torrent)
  • audio/mpeg (.mp2, .mp3, .mpga, .mpega, .m4a)
  • audio/ogg (.oga, .ogg, .opus, .spx)
  • audio/flac (.flac)
  • image/jpeg (.jpe, .jpeg, .jpg)
  • image/tiff (.tif, .tiff)
  • image/x-ms-bmp (.bmp)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document (.docx)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)
  • application/vnd.oasis.opendocument.text (.odt)
  • application/vnd.oasis.opendocument.chart (.odc)
  • application/vnd.oasis.opendocument.image (.odi)
  • application/vnd.oasis.opendocument.presentation (.odp)
  • application/vnd.oasis.opendocument.graphics (.odg)
  • application/vnd.oasis.opendocument.spreadsheet (.ods)
  • application/vnd.oasis.opendocument.formula (.odf)

and I'm planning to add more.

Since GUI are hard (everyone complained about MAT's one), I'm not planning to write one any time soon. Odds are that I'll write file manager extensions instead, to provide something like right click → remove metadata.

The code is cleaner and more modern (hurray for Python3), using (and enforcing) type hints, introspection, functional style constructions, … I thought about using something else than Python3, like Go, Rust, C++, … since my love for Python faded out, but unfortunately, it's the only language that I'm fluent in that can parse, process, manipulate and modify a significant number of different fileformats, from rendering PDF onto Cairo surfaces, to removing thumbnails in ogg tracks, in a simple and kinda-secure way.

If everything goes as planned, a first stable release should happen in a couple of months, and a second one with file-manager integration before the end of 2019.

As usual, help is more than welcome.