Wily

Latest version: v1.25.0

Safety actively analyzes 701563 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 7

1.8.1

* [BUGFIX] Fixed an issue that occurred if a target project contained a revision with invalid Python syntax, this is quite common, especially on long projects. The cyclomatic op would crash, also the aggregation logic would expect all metrics to be inside the output. This change avoids that and raises a warning instead.

1.8.0

* Build process is now run with a multiprocess pool, build times are 50-70% faster (depending on number of operators)
* Build process will now create a stub for each directory so you can run report on any directory and it will give you aggregate metrics. Each metric specifies it's own aggregation function.

1.7.0

* Add halstead metrics as an optional operator
* Add an archiver flag to the build command (`-a`)
* Add a new filesystem archiver as an alternative to the git archiver for when you want to measure changes between files without having to use git.
* Setup new workflow - if the git archiver fails to initialise, build will default to the filesystem assuming the path is not a git repository.

1.6.0

**NB: Upgrade will warn about index rebuild, this is expected behaviour**

* Support for directories in graph command, will recursively scan all .py files and graph them
* Support for configuring the x-axis on the graph command (defaults to history) to a custom metric
* Support for configuring the z-axis (size of bubble on scatter) in graph command by specifying a second metric
* Set metrics to cap at 2 possible options in graph command
* Running the test suite no longer opens 12 browser windows :-)
* __API Change__ The `wily report` command now takes the metrics as the 2nd - nth arguments, instead of via ``--metrics``
* Lots more documentation! See https://wily.readthedocs.io/

1.5.0

**NB: Changes to the wily index will require a rebuild of cache.**

* Introduce index versioning, raises a warning if index is old
* Add a `setup` command, which will be prompted by default in the absence of wily cache
* Wily `build` now specifies the maximum revisions using `-n` instead of `-h`, which was confusing with `--help`
* Build targets are now a required argument
* `skip-ignore-check` argument in build renamed to `skip-gitignore-check`
* All commands will prompt to build instead of raising an error for missing cache
* `files` is now a required argument for the diff command
* `metrics` is now a required argument for the graph command
* Fixed various bugs
* Improved performance

1.4.0

* Support for cyclomatic complexity of methods, functions and classes
* Extend the report and graph command line to support querying of methods, classes and functions within a file
* Sort the index before storing by date (descending) in-case the order changes for git commits
* Diff will only show files with changed metrics by default
* Extend the diff command to have an --all flag to show all changes
* Diff command now supports granular metrics \o/
* Added lines-of-code metric to the granular metrics

Page 5 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.