Ubelt

Latest version: v1.3.6

Safety actively analyzes 714668 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 11

1.2.3

Added
* Support for FreeBSD in `util_platform`
* `ub.Path.copy` and `ub.Path.move`
* Tentative Python 3.11 support
* `ub.urepr` which is `ub.repr2` with new defaults.
* `ub.IndexableWalker.allclose` method to replace `indexable_allclose`

Changed
* `ub.schedule_deprecation` can now accept the strings "soon" or "now" for "when" arguments.
* `ub.schedule_deprecation` can now accept `stacklevel` as as an argument.
* `ub.Path.apppdir` can now be called without arguments.
* Deprecate `TempDir`
* `ub.Timer` can now accept `ns` as a keyword to enable nanosecond resolution.
* `ProgIter.format_message` return value has changed.
* `ub.Path.mkdir` now returns itself
* Speedup `dict_hist` in the basic case by 2x

Fixed
* Issue in `indexable_allclose` where tolerances were not respected.
* Issue in `modname_to_modpath` with exclude and editable installs.
* Incompatibility with pathlib in `PythonPathContext`
* Fixed issue in progiter with line clears
* Issue in `import_module_from_modname` with editable installs where it would try to match modules that had the requested module as a prefix.
* The `timeout` argument is now respected in the thread / process case of `JobPool`


Deprecated
* `ub.indexable_allclose`. Use `ub.IndexableWalker.allclose` instead.

1.2.2

Added

* Add `ubelt.util_dict.UDict.take`.
* Added `__add__`, `__radd__`, `startswith`, and `endswith` methods to `ubelt.Path` to make
it a better drop-in replacement for string based paths.

Changed
* Reverse dunder methods of `ubelt.SetDict` now promote the type.
* Add `cls` keyword argument to `ubelt.SetDict` methods.
* Deprecate: `ensure_app_cache_dir`, `ensure_app_config_dir`, `ensure_app_data_dir`,
`get_app_cache_dir`, `get_app_config_dir`, `get_app_data_dir`, `readfrom`, `writeto`, `ensure_unicode`.
* Initial work on new Path methods for move and copy.
* CacheStamp.renew now does nothing and returns None if the stamp is disabled.
* AutoDict, SetDict, and UDict are now always ordered. In Python 3.6 it inherits from OrderedDict. Otherwise it uses regular dict, which will be ordered in 3.7+
* AutoDict now inherits from UDict.
* PathLike objects can now be used in args to ub.cmd when the command is an iterable.


Deprecated
* deprecate AutoOrderedDict, which is now indistinguishable from AutoDict


Fixed
* Tentative fixes for new `__editable__` based install path with `ub.modname_to_modpath`

1.2.1

Fixed
* Implemented inplace and reverse versions of dictionary set operations
* Added copy to setdict

1.2.0

Added
* Added keywords argument to `ub.compatible`.
* Added `warncls` argument to `ub.schedule_deprecation`.
* Experimental SetDict, UDict and aliases sdict, udict.

Fixed
* Race condition on win32 in `ubelt.symlink`
* Issue with `ubelt.memoize_method` where the method name and docstring were
not wrapped correctly.
* The `timeout` argument now works correctly with `ub.cmd` when `tee=True`.
* Added `appname` to `ubelt.download` which was supposed to exist as indicated
by the docs, but didn't.
* The resources used by `ubelt.cmd` are now properly closed.

Changed
* `ub.compatible` no longer errors on positional only functions, instead it
returns the keyword-compatible arguments.
* An issue in `ubelt.symlink` with unintuitive behavior when an empty string
was given as the link path. This now raises an error.
* The main implementations of `ubelt.sorted_vals` and `ubelt.map_vals` were
renamed to `ubelt.sorted_values` and `ubelt.map_values`, but the old names
are still available as aliases.
* Positional arguments in `Path.augment` have been modified.
* In `Path.augment`, deprecate overloaded `suffix` and introduce `stemsuffix`
as an alternative.
* Added cls to a lot of util_dict funcs

1.1.2

Added
* Added new module `util_deprecate` with the function `schedule_deprecation`,
which is generally useful for library maintenance.

Fixed
* Fixed issue where ubelt Cacher triggered its own warnings
* Fixed deprecated usage of LooseVersion

Changed
* Tentative deprecation or backwards incompatible change in ub.Path.augment with suffix or prefix keywords

1.1.1

Changed
* Removed warning from `ubelt.Cacher` when depends is not specified.
* `ub.timestamp` / `ub.timeparse` now respects a `default_timezone` argument and handles `datetime.date` objects.
* Type stubs are now included in the distribution

Fixed
* Issue 113, where a `ub.find_exe` test failed on Gentoo. Fixed by 114
* Issue where older versions of CacheStamp would be interpreted as 1.1 stamps.

Page 2 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.