v0.5.0
- Added content assertion for
assert_file_uploaded
andassert_file_dbfs_uploaded
inMockInstallation
(#101). The recent commit introduces a content assertion feature to theMockInstallation
class, enhancing its testing capabilities. This is achieved by adding an optionalexpected
parameter of typebytes
to theassert_file_uploaded
andassert_file_dbfs_uploaded
methods, allowing users to verify the uploaded content's correctness. The_assert_upload
method has also been updated to accept this new parameter, ensuring the actual uploaded content matches the expected content. Furthermore, the commit includes informative docstrings for the new and updated methods, providing clear explanations of their functionality and usage. To support these improvements, new test casestest_assert_file_uploaded
andtest_load_empty_data_class
have been added to thetests/unit/test_installation.py
file, enabling more rigorous testing of theMockInstallation
class and ensuring that the expected content is uploaded correctly. - Added handling for partial functions in
parallel.Threads
(#93). In this release, we have enhanced theparallel.Threads
module with the ability to handle partial functions, addressing issue #93. This improvement includes the addition of a new static method,_get_result_function_signature
, to obtain the signature of a function or a string representation of its arguments and keywords if it is a partial function. The_wrap_result
class method has also been updated to log an error message with the function's signature if an exception occurs. Furthermore, we have added a new test case,test_odd_partial_failed
, to the unit tests, ensuring that thegather
function handles partial functions that raise errors correctly. The Python version required for this project remains at 3.10, and thepyproject.toml
file has been updated to include "isort", "mypy", "types-PyYAML", andtypes-requests
in the list of dependencies. These adjustments are aimed at improving the functionality and type checking in theparallel.Threads
module. - Align configurations with UCX project (#96). This commit brings project configurations in line with the UCX project through various fixes and updates, enhancing compatibility and streamlining collaboration. It addresses pylint configuration warnings, adjusts GitHub Actions workflows, and refines the
pyproject.toml
file. Additionally, theNiceFormatter
class inlogger.py
has been improved for better code readability, and the versioning scheme has been updated to ensure SemVer and PEP440 compliance, making it easier to manage and understand the project's versioning. Developers adopting the project will benefit from these alignments, as they promote adherence to the project's standards and up-to-date best practices. - Check backwards compatibility with UCX, Remorph, and LSQL (#84). This release includes an update to the dependabot configuration to check for daily updates in both the pip and github-actions package ecosystems, with a new directory parameter added for the pip ecosystem for more precise update management. Additionally, a new GitHub Actions workflow, "downstreams", has been added to ensure backwards compatibility with UCX, Remorph, and LSQL by running automated downstream checks on pull requests, merge groups, and pushes to the main branch. The workflow has appropriate permissions for writing id-tokens, reading contents, and writing pull-requests, and runs the downstreams action from the databrickslabs/sandbox repository using GITHUB_TOKEN for authentication. These changes improve the security and maintainability of the project by ensuring compatibility with downstream projects and staying up-to-date with the latest package versions, reducing the risk of potential security vulnerabilities and bugs.
Dependency updates:
- Bump actions/setup-python from 4 to 5 (#89).
- Bump softprops/action-gh-release from 1 to 2 (#87).
- Bump actions/checkout from 2.5.0 to 4.1.2 (#88).
- Bump codecov/codecov-action from 1 to 4 (#85).
- Bump actions/checkout from 4.1.2 to 4.1.3 (#95).
- Bump actions/checkout from 4.1.3 to 4.1.5 (#100).
Contributors: @dependabot[bot], @nfx, @grusin-db, @nkvuong