- log: No longer inject message during formatting step, ensure logger allows formatting tags by default
- github: Ensure correct repository name is provided in the return Path when downloading a repository
- logs: Remove "location" by default, fix loguru incompatibility with extras passed
- files/archive: Remove broken import, fix failed typing
- typing: Improve accuracy of defined types
- schema: Add "ArbitraryDictSchema", alternative for DictSchema that allows arbitrary types
- cli/testing: Use DisposableDir to generate temporary directory when testing github downloads
- dateutil: Add missing dependency
- release.yml: Deprecate default release template
- duplicate: Remove CHANGES.md from repository
- workflows: Ensure build workflow functions correctly
- workflows: Ensure dev deps are installed during
poetry install
command
- workflows: Update build pipeline
- img: Add new module: img. Houses utilities for working with images
- log: Fixed case where tags were not processed in addendum logs (where add_more=True)
- logs: Ensure that logger processes style tags by default
- strings: New util:
normalize_ver
, normalize a version string
- logs: Greatly optional parameters available to the logger object, add a
LogResults
context manager, add a function for reconfiguring a logger object, simplify thelog_test_result
decorator
- schema: Deprecated unused "unify_schemas" function
- bench: Improve benchmarking decorator "time_function"
- bench: Use omnitils internal logger by default, implement optional logger parameter
- time_function: Update
time_function
decorator to accept a log messaging format, tweak to allow called and uncalled modes
- logs: Introduce support for a line continue tag. Use [>] at the end of a log message to drop the line terminator and at the beginning of a log message to continue the previous message
- Logger: Update typing for Logger object
- enums,fetch: Minor docstring changes, readability improvements
- logs: Add new context handler
TemporaryLogger
, add new utility funcget_logger
, update logger initialization
- logs: New logging focused module for providing a plug and play, visually appealing logger, as well as supporting logger utilities
- enums,fetch,files: Reworked enums classes, StrEnum -> StrConstant, fixed logic dealing with resuming file downloads, added new schema "ArbitrarySchema"
- unify_schemas: Retrieve schema attributes using getattr
- unify_schema: Incorrect variable used for checking if for 'use_value' key, added support for single string priority key
- schema: Introduce utility func for joining schemas
- schemas: Add PriorityMap type
- api,fetch: Multiple new utilities added to gdrive and download modules, implemented some major rewrites to improve clarity and modularity
- api/github: Minor syntax changes
- files/_core: Rewrite
get_temporary_file
- fetch/_core: New
get_new_session
util for creating basic session object
- folders.py and files_data.py will require different imports (from omnitils.files import folders, data)
- strings: New utility function: decode_url (unescapes and decodes URL string, returns it as yaml.URL object)
- properties: Introduce new properties: auto_prop (property with automatic setter), tracked_prop (property with changes tracked in the parent object or class)
- files: New parent module to replace previous files.py root module, files.py largely subsumed into files/_core.py submodule, folders.py and files_data.py modules relocated here, new archive.py module introduced for working with archives
- test: New parent module for submodules geared towards various testing and benchmarking utilities
- fetch: New parent module for submodules geared towards making requests, downloading files, etc. downloads.py moved to this parent module pending deprecation of previous location
- api: New parent module for submodules geared towards interacting with various common live API services, github.py moved to this parent module pending deprecation of previous location
- modules: New module for dynamic importing of modules and their relative imports
- metaclass: New module for utility meta-classes
- cli: Preliminary implementation of internal CLI tool
- enums: Correct idiosyncrasies with StrEnum class, rewrite StrEnumMeta and rename to more generic EnumCollection, introduce experimental URLEnum (enum class for yarl.URL objects)
- download_file_with_callback: Cover case of Content-Length not being numeric
- download,github: Deprecate moved root modules
- files: New file must be opened in write mode
- invert_map_multi: Fix return type
- download: Add new util module "download" for handling file download requests
- exceptions: New util module 'exceptions.py' for dealing with exceptions
- schema: New util module "schema" for creating and validating schemas
- files: New util func "ensure_file"
- files_data,folders: Add new utils "get_project_version" and "get_subdirs"
- dicts: Add dicts util module for generalized utilities working with dicts
- strings: Added new util funcs for string bool comparisons and working with multiline strings
- strings: Add new strings util for utility functions that handle string validation, normalization, etc
- enums: Add new "Enums" util for useful enum classes
- github: Introduce new github utils
- properties: Introduce new property decorator utils
- files: New file utilities "get_unique_filename" and "get_file_size_mb"
- pyproject.toml: Add commitizen config
- files,-files_data,-folders: Implement new utility modules