Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# History

## v0.14.0 - 2026-01-16

### Maintenance

* Support Python 3.14 - Issue [#503](https://github.com/sdv-dev/Copulas/issues/503) by @gsheni

## v0.13.0 - 2026-01-02

### Bugs Fixed
Expand Down
134 changes: 37 additions & 97 deletions static_code_analysis.txt
Original file line number Diff line number Diff line change
@@ -1,98 +1,7 @@
Run started:2026-01-02 18:18:51.008857
Run started:2026-01-16 17:19:08.126514

Test results:
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
Severity: Low Confidence: High
CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/blacklists/blacklist_imports.html#b403-import-pickle
Location: ./copulas/multivariate/base.py:3:0
2
3 import pickle
4

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Severity: Medium Confidence: High
CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/blacklists/blacklist_calls.html#b301-pickle
Location: ./copulas/multivariate/base.py:178:19
177 with open(path, 'rb') as pickle_file:
178 return pickle.load(pickle_file)
179

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Severity: Low Confidence: High
CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/plugins/b101_assert_used.html
Location: ./copulas/optimize/__init__.py:26:4
25 """
26 assert (f(xmin) <= 0.0).all()
27 assert (f(xmax) >= 0.0).all()

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Severity: Low Confidence: High
CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/plugins/b101_assert_used.html
Location: ./copulas/optimize/__init__.py:27:4
26 assert (f(xmin) <= 0.0).all()
27 assert (f(xmax) >= 0.0).all()
28

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Severity: Low Confidence: High
CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/plugins/b101_assert_used.html
Location: ./copulas/optimize/__init__.py:71:4
70 shape = np.shape(fa)
71 assert shape == np.shape(fb)
72

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Severity: Low Confidence: High
CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/plugins/b101_assert_used.html
Location: ./copulas/optimize/__init__.py:77:4
76 # Make sure we are bracketing a root in each case
77 assert (np.sign(fa) * np.sign(fb) <= 0).all()
78 t = 0.5

--------------------------------------------------
>> Issue: [B403:blacklist] Consider possible security implications associated with pickle module.
Severity: Low Confidence: High
CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/blacklists/blacklist_imports.html#b403-import-pickle
Location: ./copulas/univariate/base.py:3:0
2
3 import pickle
4 from abc import ABC

--------------------------------------------------
>> Issue: [B301:blacklist] Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.
Severity: Medium Confidence: High
CWE: CWE-502 (https://cwe.mitre.org/data/definitions/502.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/blacklists/blacklist_calls.html#b301-pickle
Location: ./copulas/univariate/base.py:488:19
487 with open(path, 'rb') as pickle_file:
488 return pickle.load(pickle_file)
489

--------------------------------------------------
>> Issue: [B110:try_except_pass] Try, Except, Pass detected.
Severity: Low Confidence: High
CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
More Info: https://bandit.readthedocs.io/en/1.7.7/plugins/b110_try_except_pass.html
Location: ./copulas/univariate/selection.py:32:8
31 best_model = model
32 except Exception:
33 # Distribution not supported
34 pass
35

--------------------------------------------------
No issues identified.

Code scanned:
Total lines of code: 3996
Expand All @@ -102,12 +11,43 @@ Code scanned:
Run metrics:
Total issues (by severity):
Undefined: 0
Low: 7
Medium: 2
Low: 0
Medium: 0
High: 0
Total issues (by confidence):
Undefined: 0
Low: 0
Medium: 0
High: 9
Files skipped (0):
High: 0
Files skipped (31):
./copulas/__init__.py (exception while scanning file)
Copy link
Collaborator

@gsheni gsheni Jan 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll try upgrade bandit / not using python 3.14

./copulas/bivariate/__init__.py (exception while scanning file)
./copulas/bivariate/base.py (exception while scanning file)
./copulas/bivariate/clayton.py (exception while scanning file)
./copulas/bivariate/frank.py (exception while scanning file)
./copulas/bivariate/gumbel.py (exception while scanning file)
./copulas/bivariate/independence.py (exception while scanning file)
./copulas/bivariate/utils.py (exception while scanning file)
./copulas/datasets.py (exception while scanning file)
./copulas/errors.py (exception while scanning file)
./copulas/multivariate/__init__.py (exception while scanning file)
./copulas/multivariate/base.py (exception while scanning file)
./copulas/multivariate/gaussian.py (exception while scanning file)
./copulas/multivariate/tree.py (exception while scanning file)
./copulas/multivariate/vine.py (exception while scanning file)
./copulas/optimize/__init__.py (exception while scanning file)
./copulas/univariate/__init__.py (exception while scanning file)
./copulas/univariate/base.py (exception while scanning file)
./copulas/univariate/beta.py (exception while scanning file)
./copulas/univariate/gamma.py (exception while scanning file)
./copulas/univariate/gaussian.py (exception while scanning file)
./copulas/univariate/gaussian_kde.py (exception while scanning file)
./copulas/univariate/log_laplace.py (exception while scanning file)
./copulas/univariate/selection.py (exception while scanning file)
./copulas/univariate/student_t.py (exception while scanning file)
./copulas/univariate/truncated_gaussian.py (exception while scanning file)
./copulas/univariate/uniform.py (exception while scanning file)
./copulas/utils.py (exception while scanning file)
./copulas/visualization.py (exception while scanning file)
./docs/conf.py (exception while scanning file)
./tasks.py (exception while scanning file)