Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 18:07
· 40 commits to master since this release
Immutable release. Only release title and notes can be modified.
v0.1.0
b43e03d

Added

  • New public API:
    • gendisc.genlabel.line_intersection (promoted from the private _line_intersection helper).
    • gendisc.utils.get_mounts, gendisc.utils.reload_mounts, and gendisc.utils.clear_mounts_cache for inspecting and managing the cached mount table.
    • Read-only sets property on gendisc.utils.DirectorySplitter exposing the split result.
    • gendisc.utils.MogrifyLabelPool queues disc label rasterisation (mogrify) across concurrent workers; the main CLI waits for the pool to drain before exiting.
    • gendisc.typing with progress and status protocols for static typing.

Changed

  • Public API is now asynchronous. The following are now async coroutines and must be awaited:
    • gendisc.genlabel.write_spiral_text_svg and gendisc.genlabel.write_spiral_text_png.
    • gendisc.utils.DirectorySplitter.split.
    • gendisc.utils.get_dir_size.
    • gendisc.utils.is_cross_fs.
  • The gendisc and gendisc-genlabel CLI entry points remain synchronous but now size directories concurrently via asyncio.gather with a bounded semaphore.
  • Progress reporting switched from tqdm to rich.progress.
  • Main gendisc CLI prints a short Scanning … line before work begins (non-debug runs).
  • gendisc.utils.get_dir_size can show progress while counting files on large trees without blocking the asyncio event loop.
  • gendisc and gendisc-genlabel print clear messages on Ctrl+C, warn if interrupted again during shutdown, and exit with status 130.

Removed

  • gendisc.utils.LazyMounts (replaced by get_mounts / reload_mounts / clear_mounts_cache).

Fixed

  • Fix label generation producing incorrect common path prefix by replacing os.path.commonprefix (character-based) with os.path.commonpath (path-aware) in DirectorySplitter.
  • The buggy-filesystem warning for CIFS mounts with the unix option now fires once per unique path instead of once per process.

Full Changelog: v0.0.14...v0.1.0