Skip to content

v0.2.5

Pre-release
Pre-release

Choose a tag to compare

@isarandi isarandi released this 22 Mar 22:18
· 20 commits to main since this release

Initial public release of barecat on PyPI.

Features

  • Unified Barecat class with dict-like (bc['path']) and filesystem-like (bc.open(), bc.listdir(), bc.walk(), bc.glob()) APIs
  • barecat.open() factory with standard mode strings ('r', 'w+', 'r+', etc.)
  • Auto-codec system for transparent encoding/decoding based on file extension (.jpg, .pkl, .npy, etc.)
  • CRC32C integrity verification on read
  • Threadsafe mode with thread-local connections for multi-threaded data loading
  • Tar stream support via barecat-from-tar-stream and barecat-to-tar-stream for pipeline workflows
  • Archive format conversion between barecat, tar, and zip
  • Qt6 GUI viewer for browsing archive contents
  • Defragmentation tool to reclaim space from deleted entries

CLI

  • barecat-create, barecat-extract, barecat-merge, barecat-defrag, barecat-to-tar, barecat-from-tar, barecat-viewer, and more

Architecture

  • SQLite index with O(1) lookups and trigger-maintained directory statistics
  • Sharded storage with configurable shard sizes
  • src/ layout with setuptools_scm versioning

Documentation

  • Sphinx docs on ReadTheDocs
  • Published to PyPI