Releases: DavidRodriguezSoaresCUI/DRSlib
Releases · DavidRodriguezSoaresCUI/DRSlib
0.9.0
[0.9.0] - 28.12.2023
This version brings new modules and methods, some cleanup and type hints
Added
decorators
: added thedeprecated
decorator for marking deprecated functions/classesdict_utils
: added theChangeDetectDict
, a dictionary with the added functionality to detect if it has changed since being created (from another dict); also added thedict_try_casting_values
method, that allows for complex (and recursive) value casting in dictionariesstr_utils
: added thehuman_parse_int
method to allow parsing of values like-11.4k
and4G
stream
: added the new module; contains facilities to handle data flows similarly to Java's Stream APIweb_crawl
: added the new module; contains web-crawling-related functions; still in early development
Changed
cli_ui
: refactored to not have to useeval
execute
: added some type hintsfsdb
: rolled back migration fromeval
toast.literal_eval
because it wasn't equivalent for parsing lambdas properlymediainfo
: begun a major rewrite, centered around the switch to MediaInfo's JSON output to simplify parsing /!\ breaking changes, with more to comepath_tools
: major rewrite ofmake_FS_safe
to more reliably avoid problematic namesutils
: diversified LOG formats (/!\ breaking changeLOG_FORMAT -> LOG_FORMAT_EXTENDED
)
Removed
decorators
: commented out cacheFS => should not be used anymore because relies on the pickle module which poses security risks
0.8.0
[0.8.0] - 06.08.2023
Bump in minor version justified by extensive changes
Added
execute
: addeddebug_execute
(adapted from https://github.com/manzik/cmdbench)interval
: added methodscontains
,split
,merge
and propertymath_repr
str_utils
: added methodensure_quoted_on_space
utils
: added methodcast_number
Changed
- DRSlib is now
PEP-561
compliant - Minimum runtime version is not Python
3.7
multiprocessing
: Added ability for nested multiprocessing (ex: A callsSimpleMultiProcessing.bulk_processing
to B and B calls it to C)
There are risks associated with nested multiprocessing, so use carefully !
Removed
- A few
if __name__ == "__main__"
sections that used to be for testing
0.7.3
[0.7.3] - 23.04.2023
Bugfix
- Method
cli_ui.user_input
0.7.2
[0.7.2] - 23.04.2023
Added
- Module
multiprocessing
- Method
dict_utils.dict_intersection
0.7.1
[0.7.1] - 23.04.2023
Added
dict_utils
: Collection of operations ondict
list_utils
: Collection of operations onlist
; movedflatten_list
from utilshash
: Added methodget_temporary_dir_name
Modified
utils.caller_info
: small fix for whenframe.code_context
is None
0.7.0
[0.7.0] - 2023-04-22
Added
- Augmented type hints
- A few new methods, like
utils.assertTrue
- Using Mypy, Bandit, Pylint and Flake8 for static code analysis
- Using Black formatter for consistent formatting
BugFix
- Many fixes linked to usage of static code analysis
Minor release v0.4
[0.4] - 2021-11-14
Added
DRSlib.path_tools
: Addedsafe_file_copy
function.
Bugfix
DRSlib.mediainfo.MediaInfo.UNIT_FACTOR
: Added 'b/s' entryDRSlib.path_tools
: try-except block forwin32api
module import; It was causing issues on non-windows installs.
Documentation
- Refinements/bugfixes to scripts
- Added sections in
usage.rst
about requirements and building documentation.
[0.4.dev9] - 2021-11-09
Modified
DRSlib.cli_ui.user_input
: Removed debugging code
[0.4.dev8] - 2021-11-09
Added
DRSlib.utils.LOG_FORMAT
: Format for loggers
Modified
DRSlib.cli_ui.user_input
: Removed debugging code
[0.4.dev7] - 2021-11-09
Bugfix
DRSlib.mediainfo.MediaInfo.get_datapoint
: return value should be a value
[0.4.dev6] - 2021-11-09
Bugfix
DRSlib.utils.is_iterable
: bugfix attemptDRSlib.path_tools.FileCollector.collect
: reverted bugfix attempt because there was no bug there
[0.4.dev5] - 2021-11-09
Bugfix
DRSlib.path_tools.FileCollector.collect
andDRSlib.path_tools.file_collector
: bugfix attempt
[0.4.dev4] - 2021-11-09
Modified
requirements
: fixed versionpywin32=300
because version 302 had issues.
Bugfix
DRSlib.cli_ui.user_input
: bugfix attempt
[0.4.dev3] - 2021-11-09
Added
requirements
: Added forgotten pywin32 requirement
Modified
DRSlib.cli_ui.user_input
: groundwork for more debugging, plus smart prompt reformat
[0.4.dev2] - 2021-11-09
Added
DRSlib.mediainfo.MediaInfo.DATAPOINTS
: Added datapoint shorthands
Modified
DRSlib.cli_ui.user_input
: error/exception messages
Bugfix
DRSlib.cli_ui.user_input
[0.4.dev1] - 2021-11-09
Added
DRSlib.decorators
: Addedcall_progress
Modified
DRSlib.debug
: Module docstring cleanup.
Minor release v0.3
[0.3] - 2021-11-08
Added
DRSlib.utils
: Addedis_iterable
,type_assert
DRSlib
: Added submoduleshash
,mediainfo
Minor release v0.2
[0.2] - 2021-11-08
Added
Changelog.md
: to keep a change logdocs
: Sphinx documentationDRSlib.utils
: New submoduleDRSlib.cli_ui
: Addedpause
,yes_or_no
,cli_explorer
,clear_screen
,skipNlines
DRSlib.fsdb
: Addedget_snapshot_file
,get_folder_snapshot
,ensure_dir_exists
,folder_get_file_count
,folder_get_subdirs
,windows_list_logical_drives
Modified
DRSlib.*
: Slight docstring adaptations to fit Sphinx reStructuredText format.requirements.txt
: Added sphinx requirements (+theme)
Bugfix
DRSlib.cli_ui.user_input
: Reworked how user input is tested withaccepted
, as it wasn't working as expected.DRSlib.path_tools
: Renamed module docstring title.
New dev release v0.1.dev2
added some functions to path_lib