Complexipy

Latest version: v1.2.0

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

Scan your dependencies

Page 1 of 2

1.2.0

Errors

- The output_summary function call was missing the `files_complexities` argument


What's Changed
* fix(python): 57 fix output_summary function call by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/58


**Full Changelog**: https://github.com/rohaquinlop/complexipy/compare/1.1.0...1.2.0

1.1.0

New Features
- **Multiple Paths Support**: Users can now pass multiple paths to analyze, enhancing flexibility and usability. This feature was recommended by: illusional

Breaking changes

- Deprecated `-l` option, simplifying the command-line interface
- The `file level` isn't being supported in order to focus on the functions instead of all the file.


PRs

- https://github.com/rohaquinlop/complexipy/pull/56

0.5.0

🐙 Now you can use complexipy from your python code!

andrewdea added this feature, now it's possible to call complexipy from your python code.

Here is an example:

python
>>> from complexipy import file_complexity
>>> fc = file_complexity("path/to/file.py")
>>> fc.complexity
1


Evaluate code snippet

python
>>> from complexipy import code_complexity
>>> snippet = """for x in range(0, 10):
print(x)
"""
>>> cc = code_complexity(snippet)
cc.complexity
1


What's Changed
* Expose library commands by andrewdea in https://github.com/rohaquinlop/complexipy/pull/45
* document library-usage in README by andrewdea in https://github.com/rohaquinlop/complexipy/pull/49
* feat(CI): 50 fix CI workflow by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/51
* feat(build): 52 improve usability of the package by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/53
* feat(docs): 52 update documentation by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/54

New Contributors
* andrewdea made their first contribution in https://github.com/rohaquinlop/complexipy/pull/45

**Full Changelog**: https://github.com/rohaquinlop/complexipy/compare/0.4.0...0.5.0

0.4.0

Breaking changes

The cognitive complexity now considers the `If Expression` used in the code.

Example:
python
def greet(name, is_morning):
greeting = "Good morning" if is_morning else "Hello"
print(f"{greeting}, {name}!")

greet("Alice", True)


This function has a cognitive complexity of 1 due to the `If Expression` used in the variable assignment, this also is considered when using a `Call Expression` and so on.

Fixed

Found an edge case that could cause a memory overflow, fixed this by filtering the cognitive complexity of the `orelse` values in an `If Statement` and kept propagating the nesting level subtraction.

What's Changed
* feat(back): 40 update cognitive complexity algorithm by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/44


**Full Changelog**: https://github.com/rohaquinlop/complexipy/compare/0.3.3...0.4.0

0.3.3

What's Changed
* fix(rust): 41 update ci and remove unused dependencies by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/43


**Full Changelog**: https://github.com/rohaquinlop/complexipy/compare/0.3.2...0.3.3

0.3.2

What's Changed

- When using `--details low`, in some cases the summary table is empty, so in this case then the table won't be printed but an informational message.

PRs
* feat(cli): 37 no files found by rohaquinlop in https://github.com/rohaquinlop/complexipy/pull/38


**Full Changelog**: https://github.com/rohaquinlop/complexipy/compare/0.3.1...0.3.2

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.