Skip to content

Commit 7ca35dd

Browse files
committed
chore: resolved dependancy issues across all repos.
1 parent 27aabb4 commit 7ca35dd

File tree

10 files changed

+776
-373
lines changed

10 files changed

+776
-373
lines changed

.audit_cache.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"last_audit_time": 1752192414.7449267}
1+
{ "last_audit_time": 1752192414.7449267 }

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,3 +188,9 @@ coverage/
188188
# System-specific
189189
.DS_Store
190190
Thumbs.db
191+
192+
#vulnerabiltiy reports
193+
vulnerability_report.json
194+
195+
#pytest logs
196+
pytest.log

.pre-commit-config.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ repos:
9191
args: [-r, src, tests]
9292
pass_filenames: false
9393
language: python
94-
- repo: https://github.com/returntocorp/semgrep
95-
rev: v1.66.0
96-
hooks:
97-
- id: semgrep
98-
language: system # 👈 forces Semgrep to use your system Python install
99-
args: [--config=p/security-audit]
100-
pass_filenames: false
94+
# - repo: https://github.com/returntocorp/semgrep
95+
# rev: v1.66.0
96+
# hooks:
97+
# - id: semgrep
98+
# language: system # 👈 forces Semgrep to use your system Python install - this breaks commitzen
99+
# args: [--config=p/security-audit]
100+
# pass_filenames: false
101101
- repo: local
102102
hooks:
103103
- id: pip-audit
@@ -185,6 +185,7 @@ repos:
185185
args:
186186
- --upgrade
187187
- --strip-extras
188+
- --generate-hashes
188189
- --output-file=requirements.txt
189190
- requirements.in
190191
files: ^requirements\.in$
@@ -195,6 +196,7 @@ repos:
195196
args:
196197
- --upgrade
197198
- --strip-extras
199+
- --generate-hashes
198200
- --output-file=requirements-dev.txt
199201
- requirements-dev.in
200202
files: ^requirements-dev\.in$

pip-audit.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"dependencies": [{"name": "boto3", "version": "1.40.6", "vulns": []}, {"name": "botocore", "version": "1.40.6", "vulns": []}, {"name": "jmespath", "version": "1.0.1", "vulns": []}, {"name": "python-dateutil", "version": "2.9.0.post0", "vulns": []}, {"name": "s3transfer", "version": "0.13.1", "vulns": []}, {"name": "urllib3", "version": "2.5.0", "vulns": []}, {"name": "certifi", "version": "2025.8.3", "vulns": []}, {"name": "charset-normalizer", "version": "3.4.3", "vulns": []}, {"name": "greenlet", "version": "3.2.4", "vulns": []}, {"name": "hvac", "version": "2.3.0", "vulns": []}, {"name": "requests", "version": "2.32.4", "vulns": []}, {"name": "idna", "version": "3.10", "vulns": []}, {"name": "pika", "version": "1.3.2", "vulns": []}, {"name": "prometheus-client", "version": "0.22.1", "vulns": []}, {"name": "python-json-logger", "version": "3.3.0", "vulns": []}, {"name": "six", "version": "1.17.0", "vulns": []}, {"name": "sqlalchemy", "version": "2.0.42", "vulns": []}, {"name": "tenacity", "version": "9.1.2", "vulns": []}, {"name": "typing-extensions", "version": "4.14.1", "vulns": []}, {"name": "annotated-types", "version": "0.7.0", "vulns": []}, {"name": "argcomplete", "version": "3.6.2", "vulns": []}, {"name": "arrow", "version": "1.3.0", "vulns": []}, {"name": "astroid", "version": "3.3.11", "vulns": []}, {"name": "asttokens", "version": "3.0.0", "vulns": []}, {"name": "attrs", "version": "25.3.0", "vulns": []}, {"name": "backcall", "version": "0.2.0", "vulns": []}, {"name": "bandit", "version": "1.8.6", "vulns": []}, {"name": "beautifulsoup4", "version": "4.13.4", "vulns": []}, {"name": "black", "version": "25.1.0", "vulns": []}, {"name": "bleach", "version": "6.2.0", "vulns": []}, {"name": "boltons", "version": "21.0.0", "vulns": []}, {"name": "boolean-py", "version": "5.0", "vulns": []}, {"name": "bracex", "version": "2.6", "vulns": []}, {"name": "build", "version": "1.3.0", "vulns": []}, {"name": "cachecontrol", "version": "0.14.3", "vulns": []}, {"name": "msgpack", "version": "1.1.1", "vulns": []}, {"name": "cfgv", "version": "3.4.0", "vulns": []}, {"name": "chardet", "version": "5.2.0", "vulns": []}, {"name": "click", "version": "8.1.8", "vulns": []}, {"name": "click-option-group", "version": "0.5.7", "vulns": []}, {"name": "colorama", "version": "0.4.6", "vulns": []}, {"name": "commitizen", "version": "4.8.3", "vulns": []}, {"name": "decli", "version": "0.6.3", "vulns": []}, {"name": "importlib-metadata", "version": "8.7.0", "vulns": []}, {"name": "questionary", "version": "2.1.0", "vulns": []}, {"name": "prompt-toolkit", "version": "3.0.51", "vulns": []}, {"name": "termcolor", "version": "3.1.0", "vulns": []}, {"name": "tomlkit", "version": "0.13.3", "vulns": []}, {"name": "coverage", "version": "7.10.2", "vulns": []}, {"name": "cyclonedx-bom", "version": "7.0.0", "vulns": []}, {"name": "cyclonedx-python-lib", "version": "9.1.0", "vulns": []}, {"name": "license-expression", "version": "30.4.4", "vulns": []}, {"name": "packageurl-python", "version": "0.17.5", "vulns": []}, {"name": "packaging", "version": "25.0", "vulns": []}, {"name": "pip-requirements-parser", "version": "32.0.1", "vulns": []}, {"name": "py-serializable", "version": "2.1.0", "vulns": []}, {"name": "defusedxml", "version": "0.7.1", "vulns": []}, {"name": "sortedcontainers", "version": "2.4.0", "vulns": []}, {"name": "jsonschema", "version": "4.25.0", "vulns": []}, {"name": "lxml", "version": "5.4.0", "vulns": []}, {"name": "cyclonedx-py", "version": "1.0.1", "vulns": []}, {"name": "decorator", "version": "5.2.1", "vulns": []}, {"name": "deprecated", "version": "1.2.18", "vulns": []}, {"name": "wrapt", "version": "1.17.2", "vulns": []}, {"name": "deptry", "version": "0.23.1", "vulns": []}, {"name": "requirements-parser", "version": "0.13.0", "vulns": []}, {"name": "dill", "version": "0.4.0", "vulns": []}, {"name": "distlib", "version": "0.4.0", "vulns": []}, {"name": "distro", "version": "1.9.0", "vulns": []}, {"name": "docopt", "version": "0.6.2", "vulns": []}, {"name": "exceptiongroup", "version": "1.2.2", "vulns": []}, {"name": "executing", "version": "2.2.0", "vulns": []}, {"name": "face", "version": "24.0.0", "vulns": []}, {"name": "fastjsonschema", "version": "2.21.1", "vulns": []}, {"name": "filelock", "version": "3.18.0", "vulns": []}, {"name": "flake8", "version": "7.3.0", "vulns": []}, {"name": "mccabe", "version": "0.7.0", "vulns": []}, {"name": "pycodestyle", "version": "2.14.0", "vulns": []}, {"name": "pyflakes", "version": "3.4.0", "vulns": []}, {"name": "fqdn", "version": "1.5.1", "vulns": []}, {"name": "ghp-import", "version": "2.1.0", "vulns": []}, {"name": "glom", "version": "22.1.0", "vulns": []}, {"name": "googleapis-common-protos", "version": "1.70.0", "vulns": []}, {"name": "protobuf", "version": "4.25.8", "vulns": []}, {"name": "identify", "version": "2.6.13", "vulns": []}, {"name": "iniconfig", "version": "2.1.0", "vulns": []}, {"name": "ipython", "version": "8.12.3", "vulns": []}, {"name": "isoduration", "version": "20.11.0", "vulns": []}, {"name": "isort", "version": "6.0.1", "vulns": []}, {"name": "jedi", "version": "0.19.2", "vulns": []}, {"name": "parso", "version": "0.8.4", "vulns": []}, {"name": "jinja2", "version": "3.1.6", "vulns": []}, {"name": "jsonpointer", "version": "3.0.0", "vulns": []}, {"name": "jsonschema-specifications", "version": "2025.4.1", "vulns": []}, {"name": "jupyter-client", "version": "8.6.3", "vulns": []}, {"name": "jupyter-core", "version": "5.8.1", "vulns": []}, {"name": "jupyterlab-pygments", "version": "0.3.0", "vulns": []}, {"name": "maison", "version": "2.0.0", "vulns": []}, {"name": "toml", "version": "0.10.2", "vulns": []}, {"name": "markdown", "version": "3.8.2", "vulns": []}, {"name": "markdown-it-py", "version": "3.0.0", "vulns": []}, {"name": "mdurl", "version": "0.1.2", "vulns": []}, {"name": "markupsafe", "version": "3.0.2", "vulns": []}, {"name": "matplotlib-inline", "version": "0.1.7", "vulns": []}, {"name": "mergedeep", "version": "1.3.4", "vulns": []}, {"name": "mistune", "version": "3.1.3", "vulns": []}, {"name": "mkdocs", "version": "1.6.1", "vulns": []}, {"name": "mkdocs-autorefs", "version": "1.4.2", "vulns": []}, {"name": "mkdocs-get-deps", "version": "0.2.0", "vulns": []}, {"name": "mkdocstrings", "version": "0.30.0", "vulns": []}, {"name": "mypy-extensions", "version": "1.1.0", "vulns": []}, {"name": "nbclient", "version": "0.10.2", "vulns": []}, {"name": "nbconvert", "version": "7.16.6", "vulns": []}, {"name": "nbformat", "version": "5.10.4", "vulns": []}, {"name": "nodeenv", "version": "1.9.1", "vulns": []}, {"name": "numpy", "version": "2.3.2", "vulns": []}, {"name": "pandocfilters", "version": "1.5.1", "vulns": []}, {"name": "pathspec", "version": "0.12.1", "vulns": []}, {"name": "pbr", "version": "6.1.1", "vulns": []}, {"name": "peewee", "version": "3.18.2", "vulns": []}, {"name": "pickleshare", "version": "0.7.5", "vulns": []}, {"name": "pip-api", "version": "0.0.34", "vulns": []}, {"name": "pip-audit", "version": "2.9.0", "vulns": []}, {"name": "pip-tools", "version": "7.5.0", "vulns": []}, {"name": "pipdeptree", "version": "2.28.0", "vulns": []}, {"name": "pipreqs", "version": "0.5.0", "vulns": []}, {"name": "platformdirs", "version": "4.3.8", "vulns": []}, {"name": "pluggy", "version": "1.6.0", "vulns": []}, {"name": "pre-commit", "version": "4.3.0", "vulns": []}, {"name": "prettier", "version": "0.0.7", "vulns": []}, {"name": "pure-eval", "version": "0.2.3", "vulns": []}, {"name": "pydantic", "version": "2.11.7", "vulns": []}, {"name": "pydantic-core", "version": "2.33.2", "vulns": []}, {"name": "pygments", "version": "2.19.2", "vulns": []}, {"name": "pylint", "version": "3.3.8", "vulns": []}, {"name": "pymdown-extensions", "version": "10.16.1", "vulns": []}, {"name": "pyparsing", "version": "3.2.3", "vulns": []}, {"name": "pyproject-hooks", "version": "1.2.0", "vulns": []}, {"name": "pyright", "version": "1.1.403", "vulns": []}, {"name": "pytest", "version": "8.4.1", "vulns": []}, {"name": "pytest-cov", "version": "6.2.1", "vulns": []}, {"name": "pywin32", "version": "311", "vulns": []}, {"name": "pyyaml", "version": "6.0.2", "vulns": []}, {"name": "pyyaml-env-tag", "version": "1.1", "vulns": []}, {"name": "pyzmq", "version": "27.0.1", "vulns": []}, {"name": "referencing", "version": "0.36.2", "vulns": []}, {"name": "rfc3339-validator", "version": "0.1.4", "vulns": []}, {"name": "rfc3987", "version": "1.3.8", "vulns": []}, {"name": "rich", "version": "13.5.3", "vulns": []}, {"name": "rpds-py", "version": "0.27.0", "vulns": []}, {"name": "ruamel-yaml", "version": "0.18.14", "vulns": []}, {"name": "ruamel-yaml-clib", "version": "0.2.12", "vulns": []}, {"name": "ruff", "version": "0.12.8", "vulns": []}, {"name": "ruyaml", "version": "0.91.0", "vulns": []}, {"name": "soupsieve", "version": "2.7", "vulns": []}, {"name": "stack-data", "version": "0.6.3", "vulns": []}, {"name": "stevedore", "version": "5.4.1", "vulns": []}, {"name": "tinycss2", "version": "1.4.0", "vulns": []}, {"name": "tomli", "version": "2.0.2", "vulns": []}, {"name": "tornado", "version": "6.5.2", "vulns": []}, {"name": "traitlets", "version": "5.14.3", "vulns": []}, {"name": "types-python-dateutil", "version": "2.9.0.20250809", "vulns": []}, {"name": "typing-inspection", "version": "0.4.1", "vulns": []}, {"name": "uri-template", "version": "1.3.0", "vulns": []}, {"name": "virtualenv", "version": "20.33.1", "vulns": []}, {"name": "watchdog", "version": "6.0.0", "vulns": []}, {"name": "wcmatch", "version": "8.5.2", "vulns": []}, {"name": "wcwidth", "version": "0.2.13", "vulns": []}, {"name": "webcolors", "version": "24.11.1", "vulns": []}, {"name": "webencodings", "version": "0.5.1", "vulns": []}, {"name": "yamlfix", "version": "1.17.0", "vulns": []}, {"name": "yarg", "version": "0.1.9", "vulns": []}, {"name": "zipp", "version": "3.23.0", "vulns": []}], "fixes": []}

requirements-dev.in

Lines changed: 175 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,175 @@
1-
# Import all core app dependencies
2-
-r requirements.in
3-
4-
# ======================
5-
# Core testing tools
6-
# ======================
7-
pytest==8.3.5 # Unit and integration testing
8-
pytest-cov==6.1.1 # Coverage reporting
9-
pytest-benchmark==5.1.0 # Performance benchmarking
10-
pytest-html==4.1.1 # Optional: HTML test reports
11-
pytest-mock==3.14.0 # Mocking/stubbing dependencies in tests
12-
13-
# ======================
14-
# Linting and code quality
15-
# ======================
16-
flake8==7.2.0 # Traditional linter
17-
flake8-docstrings==1.7.0 # Enforce docstring conventions (PEP257)
18-
pylint==3.3.6 # Deeper code analysis
19-
mypy==1.15.0 # Static type checking
20-
black==25.1.0 # Code formatter
21-
isort==6.0.1 # Import sorter
22-
ruff==0.11.6 # Fast all-in-one linter/formatter (CI-friendly)
23-
24-
# ======================
25-
# Code complexity
26-
# ======================
27-
xenon==0.9.3 # Enforce maximum code complexity
28-
29-
# ======================
30-
# Security tools
31-
# ======================
32-
bandit==1.8.3 # Scan for security issues
33-
34-
# ======================
35-
# Documentation tools
36-
# ======================
37-
commitizen>=3.12
38-
mkdocs>=1.5
39-
mkdocs-material>=9.0
40-
41-
# ======================
42-
# Build & Packaging
43-
# ======================
44-
build==1.2.2.post1 # Build Python packages (PEP 517)
45-
twine==6.1.0 # Publish to PyPI
46-
bump-my-version==1.1.2 # Automated version bumping
47-
48-
# ======================
49-
# Git & Dev tooling
50-
# ======================
51-
pre-commit==4.2.0 # Git hook manager
52-
53-
# ======================
54-
# Type stubs for mypy (common packages)
55-
# ======================
56-
types-requests==2.32.0.20250328
57-
types-python-dateutil==2.9.0.20241206
58-
types-pyyaml==6.0.12.20250402
59-
termcolor==2.3.0
60-
61-
# Security: Fix pip-audit vulnerabilities
62-
requests>=2.32.4
63-
urllib3>=2.5.0
64-
pillow==11.3.0
1+
annotated-types==0.7.0
2+
argcomplete==3.6.2
3+
arrow==1.3.0
4+
astroid==3.3.11
5+
asttokens==3.0.0
6+
attrs==25.3.0
7+
backcall==0.2.0
8+
bandit==1.8.6
9+
beautifulsoup4==4.13.4
10+
black==25.1.0
11+
bleach==6.2.0
12+
boltons==21.0.0
13+
boolean.py==5.0
14+
boto3==1.40.6
15+
botocore==1.40.6
16+
bracex==2.6
17+
build==1.3.0
18+
CacheControl==0.14.3
19+
certifi==2025.8.3
20+
cfgv==3.4.0
21+
chardet==5.2.0
22+
charset-normalizer==3.4.3
23+
click==8.1.8
24+
click-option-group==0.5.7
25+
colorama==0.4.6
26+
commitizen==4.8.3
27+
coverage==7.10.2
28+
cyclonedx-bom==7.0.0
29+
cyclonedx-py==1.0.1
30+
cyclonedx-python-lib==9.1.0
31+
decli==0.6.3
32+
decorator==5.2.1
33+
defusedxml==0.7.1
34+
Deprecated==1.2.18
35+
deptry==0.23.1
36+
dill==0.4.0
37+
distlib==0.4.0
38+
distro==1.9.0
39+
docopt==0.6.2
40+
exceptiongroup==1.2.2
41+
executing==2.2.0
42+
face==24.0.0
43+
fastjsonschema==2.21.1
44+
filelock==3.18.0
45+
flake8==7.3.0
46+
fqdn==1.5.1
47+
ghp-import==2.1.0
48+
glom==22.1.0
49+
googleapis-common-protos==1.70.0
50+
greenlet==3.2.4
51+
hvac==2.3.0
52+
identify==2.6.13
53+
idna==3.10
54+
importlib_metadata==8.7.0
55+
iniconfig==2.1.0
56+
ipython==8.12.3
57+
isoduration==20.11.0
58+
isort==6.0.1
59+
jedi==0.19.2
60+
Jinja2==3.1.6
61+
jmespath==1.0.1
62+
jsonpointer==3.0.0
63+
jsonschema==4.25.0
64+
jsonschema-specifications==2025.4.1
65+
jupyter_client==8.6.3
66+
jupyter_core==5.8.1
67+
jupyterlab_pygments==0.3.0
68+
license-expression==30.4.4
69+
lxml==5.4.0
70+
maison==2.0.0
71+
Markdown==3.8.2
72+
markdown-it-py==3.0.0
73+
MarkupSafe==3.0.2
74+
matplotlib-inline==0.1.7
75+
mccabe==0.7.0
76+
mdurl==0.1.2
77+
mergedeep==1.3.4
78+
mistune==3.1.3
79+
mkdocs==1.6.1
80+
mkdocs-autorefs==1.4.2
81+
mkdocs-get-deps==0.2.0
82+
mkdocstrings==0.30.0
83+
msgpack==1.1.1
84+
mypy_extensions==1.1.0
85+
nbclient==0.10.2
86+
nbconvert==7.16.6
87+
nbformat==5.10.4
88+
nodeenv==1.9.1
89+
numpy==2.3.2
90+
packageurl-python==0.17.5
91+
packaging==25.0
92+
pandocfilters==1.5.1
93+
parso==0.8.4
94+
pathspec==0.12.1
95+
pbr==6.1.1
96+
peewee==3.18.2
97+
pickleshare==0.7.5
98+
pika==1.3.2
99+
pip-api==0.0.34
100+
pip-requirements-parser==32.0.1
101+
pip-tools==7.5.0
102+
pip_audit==2.9.0
103+
pipdeptree==2.28.0
104+
pipreqs==0.5.0
105+
platformdirs==4.3.8
106+
pluggy==1.6.0
107+
pre_commit==4.3.0
108+
prettier==0.0.7
109+
prometheus_client==0.22.1
110+
prompt_toolkit==3.0.51
111+
protobuf==4.25.8
112+
pure_eval==0.2.3
113+
py-serializable==2.1.0
114+
pycodestyle==2.14.0
115+
pydantic==2.11.7
116+
pydantic_core==2.33.2
117+
pyflakes==3.4.0
118+
Pygments==2.19.2
119+
pylint==3.3.8
120+
pymdown-extensions==10.16.1
121+
pyparsing==3.2.3
122+
pyproject_hooks==1.2.0
123+
pyright==1.1.403
124+
pytest==8.4.1
125+
pytest-cov==6.2.1
126+
python-dateutil==2.9.0.post0
127+
python-json-logger==3.3.0
128+
pywin32==311
129+
PyYAML==6.0.2
130+
pyyaml_env_tag==1.1
131+
pyzmq==27.0.1
132+
questionary==2.1.0
133+
referencing==0.36.2
134+
requests==2.32.4
135+
requirements-parser==0.13.0
136+
rfc3339-validator==0.1.4
137+
rfc3987==1.3.8
138+
rich==13.5.3
139+
rpds-py==0.27.0
140+
ruamel.yaml==0.18.14
141+
ruamel.yaml.clib==0.2.12
142+
ruff==0.12.8
143+
ruyaml==0.91.0
144+
s3transfer==0.13.1
145+
setuptools==80.9.0
146+
six==1.17.0
147+
sortedcontainers==2.4.0
148+
soupsieve==2.7
149+
SQLAlchemy==2.0.42
150+
stack-data==0.6.3
151+
stevedore==5.4.1
152+
tenacity==9.1.2
153+
termcolor==3.1.0
154+
tinycss2==1.4.0
155+
toml==0.10.2
156+
tomli==2.0.2
157+
tomlkit==0.13.3
158+
tornado==6.5.2
159+
traitlets==5.14.3
160+
types-python-dateutil==2.9.0.20250809
161+
typing-inspection==0.4.1
162+
typing_extensions==4.14.1
163+
uri-template==1.3.0
164+
urllib3==2.5.0
165+
virtualenv==20.33.1
166+
watchdog==6.0.0
167+
wcmatch==8.5.2
168+
wcwidth==0.2.13
169+
webcolors==24.11.1
170+
webencodings==0.5.1
171+
wheel==0.45.1
172+
wrapt==1.17.2
173+
yamlfix==1.17.0
174+
yarg==0.1.9
175+
zipp==3.23.0

0 commit comments

Comments
 (0)