You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add tests for toolchain functionality and enhance Python tool setup with UV integration
- Introduced `toolchain_tests.rs` for validating Python tool setup, installation, and directory structure.
- Enhanced Python tool package installation by integrating `uv` for performance; implemented fallback to `pip`.
- Improved error handling, logging, and installation path validation in Python tool setup.
- Updated hook execution to parse and manage commands with arguments more robustly.
- Extended documentation and planning with new tasks and options for Python environment setup.
Copy file name to clipboardExpand all lines: docs/plan.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,8 +13,10 @@ Tasks:
13
13
-[x] We need a fundamental change in the way we run hooks. The configuration file should be used to create the context for each task we want to run and the context should contain the entry we are needing to run as a process. We need to be able to specify hooks that are to be ran from the built-in hooks versus hooks that are external. We could potentially run them in the same process or in a separate process. If we choose to run them in a separate process then we need to ensure that there is a cli command that the entry can point to. This will allow us to run the hooks in parallel and also allow us to run hooks in a different process than the main application. Should help debugging specific hooks.
14
14
-[x] Make sure that the file in `docs/.pre-commit-config.yaml` can be used and converted to the rustyhook configuration file format. Importantly it should set up its own python environment and install the required packages without needing the system to have anything installed.
15
15
-[x] Instead of having a separate binary called "rustyhooks-hooks" I think we should continue to use our primary "rustyhook" binary and have a sub-command that can be used to run the hooks. This will allow us to run the hooks in parallel and also allow us to run the hooks in a different process than the main application. Should help debugging specific hooks.
16
-
-[ ] replace the use of pip with uv - potentially link to the source code so as to get the benefit without needing a local binary. This should help speed up the installation of a python interpreter as well as improve the performance ot package installation. We will likely be able to remove a substantial amount of the code we have in our source code for installing python interpreters and installing packages.
16
+
-[ ] Use either https://gregoryszorc.com/docs/python-build-standalone/main/ or https://pyoxidizer.readthedocs.io/en/latest/pyoxy.html to download the specified python version and install it locally.
17
+
-[ ] Have uv use the downloaded python interpreter that is specified in the .python-version file. use uv for package installation. We will likely be able to remove a substantial amount of the code we have in our source code for installing python interpreters and installing packages.
17
18
-[ ] emulate all known pre-commit hooks for use with native execution - all known hooks at https://github.com/pre-commit/pre-commit-hooks
19
+
-[ ] Break up the implementations of the hooks into separate files and create a test suite for each file.
18
20
-[ ] create tests for each hook and complete coverage
19
21
-[ ] replace the npm and nvm install process with fnm if it makes sense to do so
20
22
-[ ] expand all built in hooks to include all known hooks from https://pre-commit.com/hooks.html
0 commit comments