Release notes
-
Made all API calls consistent
-
All "getters" now do
fatal=False, logger=False
, meaning they don't abort by default, andtrace()
their activity -
All "operations" default to
fatal=True, logger=UNSET
, meaning they abort on failure, and use the default logger
-
-
Allow to turn on trace logging in
cli.run()
, more type annotations
-
changed default:
flattened()
andjoined()
have nowkeep_empty=False
by default. Found that in 99% of cases, empty items are NOT interesting, so changing the default to reflect that -
Friendlier stack trace on forbidden remote http calls in tests
-
(de)compress()
have a consistent behavior for all compression types -
Automatically apply validate
#sha256=
checksum inhttp.download()
, if checksum stated as url fragment -
Added 'SYS_INFO.platform_id`
-
Colors can be now reference by their name
-
Much better
find_caller()
interface and implementation -
basename()
can optionallyfollow=
symlinks -
Added
ls_dir()
, a--dryrun
friendly version ofPath.iterdir()
-
Automatically relativize
symlink()
-
run(passthrough=)
now accepts a file-like object (and passes through to it) -
[un]tar()
renamed to[de]compress()
, support.gz
,.xz
or.zip
(from filename extension) -
Added
overwrite=
flag in file operation functions -
Simplified default log formats
-
Added
checksum()
-
Enhanced python detection in
pyenv
module
-
Replaced
auto_install()
function with@AutoInstall
decorator -
Accept
pathlib.Path
inrun()
-
Dropped support for python2
-
Corrected
@thread_local_property
decorator -
Added
runez.http