v0.1.0
·
40 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Added
- New public API:
gendisc.genlabel.line_intersection(promoted from the private_line_intersectionhelper).gendisc.utils.get_mounts,gendisc.utils.reload_mounts, andgendisc.utils.clear_mounts_cachefor inspecting and managing the cached mount table.- Read-only
setsproperty ongendisc.utils.DirectorySplitterexposing the split result. gendisc.utils.MogrifyLabelPoolqueues disc label rasterisation (mogrify) across concurrent workers; the main CLI waits for the pool to drain before exiting.gendisc.typingwith progress and status protocols for static typing.
Changed
- Public API is now asynchronous. The following are now
asynccoroutines and must be awaited:gendisc.genlabel.write_spiral_text_svgandgendisc.genlabel.write_spiral_text_png.gendisc.utils.DirectorySplitter.split.gendisc.utils.get_dir_size.gendisc.utils.is_cross_fs.
- The
gendiscandgendisc-genlabelCLI entry points remain synchronous but now size directories concurrently viaasyncio.gatherwith a bounded semaphore. - Progress reporting switched from
tqdmtorich.progress. - Main
gendiscCLI prints a shortScanning …line before work begins (non-debug runs). gendisc.utils.get_dir_sizecan show progress while counting files on large trees without blocking the asyncio event loop.gendiscandgendisc-genlabelprint clear messages onCtrl+C, warn if interrupted again during shutdown, and exit with status 130.
Removed
gendisc.utils.LazyMounts(replaced byget_mounts/reload_mounts/clear_mounts_cache).
Fixed
- Fix label generation producing incorrect common path prefix by replacing
os.path.commonprefix(character-based) withos.path.commonpath(path-aware) inDirectorySplitter. - The buggy-filesystem warning for CIFS mounts with the
unixoption now fires once per unique path instead of once per process.
Full Changelog: v0.0.14...v0.1.0