v0.47.0
- Added
mdit-py-plugins
to known list (#3013). In this release, the open-source library has been updated with several new features to enhance its functionality and usability for software engineers. Firstly, a new module has been introduced to support multi-threading, allowing for more efficient processing of large datasets. Additionally, a new configuration system has been implemented, providing users with greater flexibility in customizing the library's behavior to their specific needs. Furthermore, the library now includes a set of diagnostic tools to help developers identify and troubleshoot issues more effectively. These new features are expected to significantly improve the performance and productivity of the library, making it an even more powerful tool for software development projects. - Added
memray
to known list (#3014). In this release, we have integrated two new libraries to enhance the project's functionality and maintainability. We have addedmemray
to our list of known libraries, which allows for memory profiling and analysis within the project's environment. Additionally, we have added thetextual
library and its related modules, a TUI (Text User Interface) library, which provides a wide variety of user interface components. These additions partially resolve issue #1931, enabling the development of more sophisticated and user-friendly interfaces, and improving memory profiling capabilities. - Added
mlflow-skinny
to known list (#3015). A new version of our library includes the addition ofmlflow-skinny
to the known packages list in a JSON file.mlflow-skinny
is a lightweight version of the widely-used machine learning platform, MLflow. This integration enables users to utilizemlflow-skinny
in their projects and have their runs automatically tracked and logged. Furthermore, this commit partially addresses issue #1931, hinting at a possible connection to a larger issue or feature request. Software engineers will now have access to a more streamlined MLflow package, allowing for easier and more efficient integration in their projects. - Added handling for installing libraries multiple times in
PipResolver
(#3024). In this commit, thePipResolver
class has been updated to handle the installation of libraries multiple times, resolving issues #3022 and #3023. The_resolve_libraries
method has been modified to resolve pip installs as libraries or paths based on whether they are found in the path lookup or not, and whether they are already installed in the temporary virtual environment. The_install_pip
method has also been updated to include the--upgrade
flag to upgrade libraries if they are already installed. Code linting has been improved, and integration tests have been added to thetest_libraries.py
file to ensure the proper functioning of the updated code. These tests include installing thepytest
library twice in a Databricks notebook and then importing it to verify its installation. These changes aim to improve the reliability and robustness of the library installation process in the context of multiple installations. - Fixed errors related to unsupported cell languages (#3026). In this release, we have made significant improvements to the
_Collector
abstract base class by adding support for multiple cell languages in the_collect_from_source
method. Previously, the implementation only supported Python and SQL languages, but with this update, we have added support for several new languages including R, Scala, Shell, Markdown, Run, and Pip. The new methods added to the class handle the source code collection for their respective languages and return an empty iterable or log a warning if a language is not supported yet. This change enhances the functionality and flexibility of the class, enabling it to handle a wider variety of cell languages. Additionally, this commit resolves the issue #2977 and includes new methods to theDfsaCollectorWalker
class, allowing it to collect information from cells of any language. The test casetest_collector_supports_all_cell_languages
has also been added to ensure that the collector supports all cell languages. This release also includes manually tested and added unit tests, and is co-authored by Eric Vergnaud. - Preemptively fix unknown errors of Python AST parsing coming from
astroid
andast
libraries (#3027). A new update has been implemented in the library to improve Python AST parsing and error handling. Themaybe_parse
function has been enhanced to catch all types of exceptions using a broad exception clause, extending from the previous limitation of only catchingAstroidSyntaxError
andSystemError
. The_definitely_failure
function now includes the type of exception in the error message for better visibility and troubleshooting. In the test cases, thegraph_builder_parse_error
function's test has been updated to check for asystem-error
code instead ofsyntax-error
to preemptively fix unknown errors from Python AST parsing. Additionally, the test forparses_python_cell_with_magic_commands
function has been added, ensuring that any Python cell with magic commands is correctly parsed. These changes aim to increase robustness in handling exceptional cases during parsing, provide more informative error messages, and prevent potential unknown parsing errors. - Updated migration progress workflow to also re-lint dashboards and jobs (#3025). In this release, we have updated the table utilization documentation to include the ability to lint directFS paths and queries, and modified the
migration-progress-experimental
workflow to re-run linting tasks for dashboard queries and notebooks associated with jobs. Additionally, we have updated theMigrationProgress
workflow to include the scanning of dashboards and jobs for migration issues, assessing SQL code in embedded widgets of dashboards and inventory & linting of jobs. To support these changes, we have added unit tests and updated existing integration tests intest_workflows.py
. The new test function,test_linter_runtime_refresh
, tests the linter refresh behavior for dashboard and workflow tasks. These updates aim to ensure consistent linting and maintain the accuracy of theexperimental-migration-progress
workflow for users who adopt the project.
Contributors: @pritishpai, @JCZuurmond, @asnare, @ericvergnaud, @nfx