← Blog

PrintStash v0.7.3: read PrusaSlicer BGCODE metadata

PrintStash v0.7.3 added safe metadata and thumbnail extraction for PrusaSlicer binary G-code while leaving toolpath preview and printer send disabled.

release

PrintStash v0.7.3 added parsing for PrusaSlicer binary G-code files with the .bgcode extension. Earlier versions indexed the file but could not extract its metadata.

Read the container without decoding the toolpath

The new reader walked the libbgcode container and decoded uncompressed or zlib-compressed metadata and image blocks. It extracted the same kinds of values used for text G-code, including slicer version, printer, temperatures, layer height, infill, material, filament estimates, cost, and estimated time.

The largest embedded PNG or JPEG became the file thumbnail. Upload, URL and ZIP import, and shared-volume scans all used the reader.

The implementation used Python’s standard struct and zlib modules, so the release added no dependency, configuration, or schema change. Length and decompression caps protected the parser from truncated or hostile containers.

Know what remains unavailable

The G-code body uses heatshrink compression. PrintStash did not decode it in this release, and the supported printer providers expected plain-text G-code.

For BGCODE files:

  • metadata, thumbnails, storage, search, and download worked;
  • the browser showed a clear notice instead of an empty toolpath plot;
  • Open in slicer was hidden;
  • sending the file to a printer was disabled and rejected by the API with binary_gcode_not_printable.

The current BGCODE article explains the format and the same practical limitation.

See the full changelog for implementation and test details.