Skip to content

Conversation

CarterPerez-dev
Copy link
Owner

vapad

Copy link

🔒 Security Scan Results

⚠️ Bandit: Security Issues Found

Click to view security findings
📊 Summary:
Total issues: 0
Files with issues: 0

🔴 High severity: 0
🟡 Medium severity: 0
🟢 Low severity: 0

🟢 LOW SEVERITY: 1 issues found

Action Required: Please review and fix the security issues before merging.


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-12 14:25:17.157730436 +0000
+++ upgraded-requirements.txt	2025-09-12 14:26:27.039169335 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --output-file=upgraded-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-12 14:25:17.152730468 +0000
+++ upgraded-dev-requirements.txt	2025-09-12 14:26:44.040045575 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --extra=dev --output-file=upgraded-dev-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -239,9 +239,9 @@
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250822
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

github-actions bot commented Sep 12, 2025

QA Test & Coverage Report

Test Results

Pass Rate: 97.97%
Pass Threshold: 90%
Test Status: ✅ PASSED

Coverage Results

Current Coverage: 81%
Coverage Threshold: 70%
Coverage Status: ✅ PASSED


View detailed report on Codecov
Download HTML coverage report

Coverage breakdown
$(cat coverage-summary.md 2>/dev/null || echo "No detailed coverage available")

@CarterPerez-dev
Copy link
Owner Author

CarterPerez-dev commented Sep 12, 2025

🔒 Security Scan Results

⚠️ Bandit: Security Issues Found

Click to view security findings

📊 Summary:
Total issues: 0
Files with issues: 0

🔴 High severity: 0
🟡 Medium severity: 0
🟢 Low severity: 0

🟢 LOW SEVERITY: 1 issues found

Action Required: Please review and fix the security issues before merging.

Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

image

@CarterPerez-dev
Copy link
Owner Author

QA Test & Coverage Report

Test Results

Pass Rate: % Pass Threshold: 90% Test Status: ❌ FAILED

Coverage Results

Current Coverage: % Coverage Threshold: 70% Coverage Status: ❌ FAILED

View detailed report on Codecov Download HTML coverage report

Coverage breakdown

image

@CarterPerez-dev
Copy link
Owner Author

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.

👻 All checks passed!

image

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-12 15:13:35.809629034 +0000
+++ upgraded-requirements.txt	2025-09-12 15:14:43.097268472 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --output-file=upgraded-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-12 15:13:35.804628984 +0000
+++ upgraded-dev-requirements.txt	2025-09-12 15:14:58.707415905 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --extra=dev --output-file=upgraded-dev-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -239,9 +239,9 @@
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250822
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Copy link

codecov bot commented Sep 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-12 15:35:16.241661509 +0000
+++ upgraded-requirements.txt	2025-09-12 15:37:05.961356301 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --output-file=upgraded-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-12 15:35:16.236661475 +0000
+++ upgraded-dev-requirements.txt	2025-09-12 15:37:26.152466547 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --extra=dev --output-file=upgraded-dev-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -239,9 +239,9 @@
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250822
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Copy link

🔒 Security Scan Results

⚠️ Bandit: Security Issues Found

Click to view security findings
📊 Summary:
Total issues: 0
Files with issues: 0

🔴 High severity: 0
🟡 Medium severity: 0
🟢 Low severity: 0

🟢 LOW SEVERITY: 1 issues found

Action Required: Please review and fix the security issues before merging.


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

@CarterPerez-dev
Copy link
Owner Author

🔒 Security Scan Results

⚠️ Bandit: Security Issues Found

Click to view security findings

📊 Summary:
Total issues: 0
Files with issues: 0

🔴 High severity: 0
🟡 Medium severity: 0
🟢 Low severity: 0

🟢 LOW SEVERITY: 1 issues found

Action Required: Please review and fix the security issues before merging.

Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

image

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

🔒 Security Scan Results

✅ Bandit: Passed

No security issues found. Your code passed all security checks! 🎉


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-12 15:42:03.634634861 +0000
+++ upgraded-requirements.txt	2025-09-12 15:43:07.930880941 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --output-file=upgraded-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-12 15:42:03.629634835 +0000
+++ upgraded-dev-requirements.txt	2025-09-12 15:43:23.039928598 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --extra=dev --output-file=upgraded-dev-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -239,9 +239,9 @@
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250822
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

@CarterPerez-dev
Copy link
Owner Author

🔒 Security Scan Results

✅ Bandit: Passed

No security issues found. Your code passed all security checks! 🎉

Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

image

Copy link

🔒 Security Scan Results

✅ Bandit: Passed

No security issues found. Your code passed all security checks! 🎉


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-14 12:04:29.714480033 +0000
+++ upgraded-requirements.txt	2025-09-14 12:05:45.467821058 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --output-file=upgraded-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-14 12:04:29.709480017 +0000
+++ upgraded-dev-requirements.txt	2025-09-14 12:06:04.557897658 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --extra=dev --output-file=upgraded-dev-requirements.txt
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -239,9 +239,9 @@
     #   flask
 jiter==0.10.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -412,7 +410,7 @@
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
+pyparsing==3.2.4
     # via pip-requirements-parser
 pyproject-hooks==1.2.0
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250914
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Copy link

🔒 Security Scan Results

✅ Bandit: Passed

No security issues found. Your code passed all security checks! 🎉


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

Copy link

📝 TypeScript Type Check Results

Perfect! No TypeScript type errors found 🎉

Your TypeScript code passes all strict type checking requirements!

What was checked:

  • Strict type checking with exactOptionalPropertyTypes
  • No unused locals or parameters
  • Proper return types and void expressions
  • Module resolution and import/export syntax

Commands:

  • make types-admin - Run TypeScript type checking locally
  • cd frontend/admin-app && npm run lint:types - Direct command
  • TypeScript config: frontend/admin-app/tsconfig.app.json

Copy link

🔍 ESLint Results

Perfect! No ESLint issues found 🎉

Your TypeScript and React code follows all the coding standards perfectly!

What was checked:

  • TypeScript strict type checking and stylistic rules
  • React component patterns and hooks usage
  • Code complexity, naming conventions, and best practices
  • Accessibility (jsx-a11y) and React Refresh compatibility

Commands:

  • make lint-eslint-admin - Run ESLint locally
  • cd frontend/admin-app && npm run lint:eslint - Direct command
  • ESLint config: frontend/admin-app/eslint.config.js

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-19 01:59:32.497491994 +0000
+++ upgraded-requirements.txt	2025-09-19 02:00:37.711046898 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --cert=None --client-cert=None --index-url=None --output-file=upgraded-requirements.txt --pip-args=None
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
-jiter==0.10.0
+jiter==0.11.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-19 01:59:32.492491951 +0000
+++ upgraded-dev-requirements.txt	2025-09-19 02:00:55.136182431 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --cert=None --client-cert=None --extra=dev --index-url=None --output-file=upgraded-dev-requirements.txt --pip-args=None
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -237,11 +237,11 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-jiter==0.10.0
+jiter==0.11.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -412,7 +410,7 @@
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
+pyparsing==3.2.4
     # via pip-requirements-parser
 pyproject-hooks==1.2.0
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250915
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

🔒 Security Scan Results

✅ Bandit: Passed

No security issues found. Your code passed all security checks! 🎉


Security scans help identify potential vulnerabilities in your code. Learn more about Bandit

Copy link

📝 TypeScript Type Check Results

Perfect! No TypeScript type errors found 🎉

Your TypeScript code passes all strict type checking requirements!

What was checked:

  • Strict type checking with exactOptionalPropertyTypes
  • No unused locals or parameters
  • Proper return types and void expressions
  • Module resolution and import/export syntax

Commands:

  • make types-admin - Run TypeScript type checking locally
  • cd frontend/admin-app && npm run lint:types - Direct command
  • TypeScript config: frontend/admin-app/tsconfig.app.json

Copy link

🔍 ESLint Results

Perfect! No ESLint issues found 🎉

Your TypeScript and React code follows all the coding standards perfectly!

What was checked:

  • TypeScript strict type checking and stylistic rules
  • React component patterns and hooks usage
  • Code complexity, naming conventions, and best practices
  • Accessibility (jsx-a11y) and React Refresh compatibility

Commands:

  • make lint-eslint-admin - Run ESLint locally
  • cd frontend/admin-app && npm run lint:eslint - Direct command
  • ESLint config: frontend/admin-app/eslint.config.js

Copy link

🔍 Lint & Type Check Results

✅ Pylint: Passed

No pylint issues found.

✅ Ruff: Passed

No ruff issues found.

✅ Mypy: Passed

No mypy issues found.


👻 All checks passed!

Copy link

Dependency Analysis Report

A report on the current state and potential upgrades for my project dependencies.

Current Vulnerabilities Prod

Production (requirements.txt)

No vulnerabilities found.

Development (dev-requirements.txt)

No vulnerabilities found.
Upgrade Simulation Results

Proposed Changes (diff)

--- requirements.txt	2025-09-19 15:32:11.112620463 +0000
+++ upgraded-requirements.txt	2025-09-19 15:33:16.846242955 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev
+#    pip-compile --cert=None --client-cert=None --index-url=None --output-file=upgraded-requirements.txt --pip-args=None
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -26,13 +26,6 @@
     #   google-genai
     #   httpx
     #   openai
-astroid==3.3.11
-    # via
-    #   pylint
-    #   pylint-celery
-    #   pylint-flask
-asttokens==3.0.0
-    # via stack-data
 attrs==25.3.0
     # via
     #   aiohttp
@@ -40,8 +33,6 @@
     #   referencing
 authlib==1.6.1
     # via certgames (pyproject.toml)
-bandit[toml]==1.8.6
-    # via certgames (pyproject.toml)
 bcrypt==4.3.0
     # via certgames (pyproject.toml)
 bidict==0.23.1
@@ -54,14 +45,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-boolean-py==5.0
-    # via license-expression
-build==1.3.0
-    # via pip-tools
-cachecontrol[filecache]==0.14.3
-    # via
-    #   cachecontrol
-    #   pip-audit
 cachelib==0.13.0
     # via flask-session
 cachetools==5.5.2
@@ -78,8 +61,6 @@
     # via
     #   certgames (pyproject.toml)
     #   cryptography
-cfgv==3.4.0
-    # via pre-commit
 charset-normalizer==3.4.3
     # via requests
 click==8.2.1
@@ -89,39 +70,19 @@
     #   click-didyoumean
     #   click-plugins
     #   click-repl
-    #   deptry
     #   flask
-    #   pip-tools
 click-didyoumean==0.3.1
     # via celery
 click-plugins==1.1.1.2
     # via celery
 click-repl==0.3.0
     # via celery
-colorama==0.4.6
-    # via radon
-coverage[toml]==7.10.3
-    # via pytest-cov
 cryptography==45.0.6
     # via
     #   authlib
     #   certgames (pyproject.toml)
-    #   types-pyopenssl
-    #   types-redis
-cyclonedx-python-lib==9.1.0
-    # via pip-audit
-decorator==5.2.1
-    # via ipython
-defusedxml==0.7.1
-    # via py-serializable
 deprecated==1.2.18
     # via limits
-deptry==0.23.1
-    # via certgames (pyproject.toml)
-dill==0.4.0
-    # via pylint
-distlib==0.4.0
-    # via virtualenv
 distro==1.9.0
     # via openai
 dnspython==2.7.0
@@ -131,23 +92,12 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
-    # via stack-data
-factory-boy==3.3.3
-    # via certgames (pyproject.toml)
 faker==37.5.3
-    # via
-    #   certgames (pyproject.toml)
-    #   factory-boy
-filelock==3.18.0
-    # via
-    #   cachecontrol
-    #   virtualenv
+    # via certgames (pyproject.toml)
 flask==3.1.1
     # via
     #   certgames (pyproject.toml)
     #   flask-cors
-    #   flask-debugtoolbar
     #   flask-jwt-extended
     #   flask-limiter
     #   flask-migrate
@@ -156,11 +106,8 @@
     #   flask-session
     #   flask-socketio
     #   flask-sqlalchemy
-    #   pytest-flask
 flask-cors==6.0.1
     # via certgames (pyproject.toml)
-flask-debugtoolbar==0.16.0
-    # via certgames (pyproject.toml)
 flask-jwt-extended==4.7.1
     # via certgames (pyproject.toml)
 flask-limiter==3.12
@@ -177,8 +124,6 @@
     # via certgames (pyproject.toml)
 flask-sqlalchemy==3.1.1
     # via flask-migrate
-freezegun==1.5.5
-    # via certgames (pyproject.toml)
 frozenlist==1.7.0
     # via
     #   aiohttp
@@ -207,8 +152,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
-    # via pre-commit
 idna==3.10
     # via
     #   anyio
@@ -219,40 +162,26 @@
     #   yarl
 importlib-resources==6.5.2
     # via flask-restx
-iniconfig==2.1.0
-    # via pytest
-ipython==9.4.0
-    # via certgames (pyproject.toml)
-ipython-pygments-lexers==1.1.1
-    # via ipython
-isort==6.0.1
-    # via pylint
 itsdangerous==2.2.0
     # via
     #   certgames (pyproject.toml)
     #   flask
-jedi==0.19.2
-    # via ipython
 jinja2==3.1.6
     # via
     #   certgames (pyproject.toml)
     #   flask
-jiter==0.10.0
+jiter==0.11.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
-license-expression==30.4.4
-    # via cyclonedx-python-lib
 limits==5.5.0
     # via flask-limiter
 mako==1.3.10
     # via alembic
-mando==0.7.1
-    # via radon
 markdown-it-py==4.0.0
     # via rich
 markupsafe==3.0.2
@@ -264,189 +193,66 @@
     #   werkzeug
 marshmallow==4.0.0
     # via certgames (pyproject.toml)
-matplotlib-inline==0.1.7
-    # via ipython
 maxminddb==2.8.2
     # via geoip2
-mccabe==0.7.0
-    # via pylint
 mdurl==0.1.2
     # via markdown-it-py
 mongoengine==0.29.1
     # via certgames (pyproject.toml)
-mongomock==4.3.0
-    # via certgames (pyproject.toml)
-msgpack==1.1.1
-    # via cachecontrol
 msgspec==0.19.0
     # via flask-session
 multidict==6.6.4
     # via
     #   aiohttp
     #   yarl
-mypy==1.17.1
-    # via certgames (pyproject.toml)
-mypy-extensions==1.1.0
-    # via mypy
-nodeenv==1.9.1
-    # via pre-commit
 numpy==2.3.2
     # via certgames (pyproject.toml)
 openai==1.99.6
     # via certgames (pyproject.toml)
 ordered-set==4.1.0
     # via flask-limiter
-packageurl-python==0.17.5
-    # via cyclonedx-python-lib
 packaging==25.0
     # via
-    #   build
-    #   deptry
     #   kombu
     #   limits
-    #   mongomock
-    #   pip-audit
-    #   pip-requirements-parser
-    #   pip-review
-    #   pytest
-    #   requirements-parser
-parso==0.8.4
-    # via jedi
-pathspec==0.12.1
-    # via mypy
-pbr==7.0.0
-    # via stevedore
-pexpect==4.9.0
-    # via ipython
-pip-api==0.0.34
-    # via pip-audit
-pip-audit==2.9.0
-    # via certgames (pyproject.toml)
-pip-requirements-parser==32.0.1
-    # via pip-audit
-pip-review==1.3.0
-    # via certgames (pyproject.toml)
-pip-tools==7.5.0
-    # via certgames (pyproject.toml)
-platformdirs==4.3.8
-    # via
-    #   pip-audit
-    #   pylint
-    #   virtualenv
-    #   yapf
-pluggy==1.6.0
-    # via
-    #   pytest
-    #   pytest-cov
-pre-commit==4.3.0
-    # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
-    # via
-    #   click-repl
-    #   ipython
+prompt-toolkit==3.0.52
+    # via click-repl
 propcache==0.3.2
     # via
     #   aiohttp
     #   yarl
 psutil==7.0.0
     # via certgames (pyproject.toml)
-ptyprocess==0.7.0
-    # via pexpect
-pure-eval==0.2.3
-    # via stack-data
-py-serializable==2.1.0
-    # via cyclonedx-python-lib
 pyasn1==0.6.1
     # via
     #   pyasn1-modules
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-    #   pylint-pydantic
 pydantic-core==2.33.2
     # via pydantic
 pygments==2.19.2
-    # via
-    #   ipython
-    #   ipython-pygments-lexers
-    #   pytest
-    #   rich
+    # via rich
 pyjwt==2.10.1
     # via
     #   certgames (pyproject.toml)
     #   flask-jwt-extended
-pylint==3.3.8
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-plugin-utils
-    #   pylint-pydantic
-pylint-celery==0.3
-    # via certgames (pyproject.toml)
-pylint-flask==0.6
-    # via certgames (pyproject.toml)
-pylint-mongoengine==0.6.0
-    # via certgames (pyproject.toml)
-pylint-per-file-ignores==1.4.0
-    # via certgames (pyproject.toml)
-pylint-plugin-utils==0.9.0
-    # via
-    #   certgames (pyproject.toml)
-    #   pylint-celery
-    #   pylint-flask
-    #   pylint-mongoengine
-    #   pylint-pydantic
-pylint-pydantic==0.3.5
-    # via certgames (pyproject.toml)
 pymongo[srv]==4.14.0
     # via
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
-    # via pip-requirements-parser
-pyproject-hooks==1.2.0
-    # via
-    #   build
-    #   pip-tools
-pytest==8.4.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-asyncio
-    #   pytest-cov
-    #   pytest-dotenv
-    #   pytest-env
-    #   pytest-flask
-    #   pytest-mock
-pytest-asyncio==1.1.0
-    # via certgames (pyproject.toml)
-pytest-cov==6.2.1
-    # via certgames (pyproject.toml)
-pytest-dotenv==0.5.2
-    # via certgames (pyproject.toml)
-pytest-env==1.1.5
-    # via certgames (pyproject.toml)
-pytest-flask==1.3.0
-    # via certgames (pyproject.toml)
-pytest-mock==3.14.1
-    # via certgames (pyproject.toml)
 python-dateutil==2.9.0.post0
-    # via
-    #   celery
-    #   freezegun
+    # via celery
 python-dotenv==1.1.1
-    # via
-    #   certgames (pyproject.toml)
-    #   pytest-dotenv
+    # via certgames (pyproject.toml)
 python-engineio==4.12.2
     # via
     #   certgames (pyproject.toml)
@@ -459,14 +265,6 @@
     # via
     #   certgames (pyproject.toml)
     #   flask-restx
-    #   mongomock
-pyyaml==6.0.2
-    # via
-    #   bandit
-    #   pre-commit
-    #   watchdog
-radon==6.0.1
-    # via certgames (pyproject.toml)
 redis==6.4.0
     # via certgames (pyproject.toml)
 referencing==0.36.2
@@ -475,86 +273,45 @@
     #   jsonschema-specifications
 requests==2.32.4
     # via
-    #   cachecontrol
     #   certgames (pyproject.toml)
     #   geoip2
     #   google-genai
-    #   pip-audit
     #   resend
     #   stripe
-requirements-parser==0.13.0
-    # via deptry
 resend==2.12.0
     # via certgames (pyproject.toml)
 rich==13.9.4
-    # via
-    #   bandit
-    #   flask-limiter
-    #   pip-audit
-rpds-py==0.27.0
+    # via flask-limiter
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
 rsa==4.9.1
     # via google-auth
-ruff==0.12.8
-    # via certgames (pyproject.toml)
 schedule==1.2.2
     # via certgames (pyproject.toml)
-sentinels==1.1.1
-    # via mongomock
 simple-websocket==1.1.0
     # via
     #   certgames (pyproject.toml)
     #   python-engineio
 six==1.17.0
-    # via
-    #   mando
-    #   python-dateutil
+    # via python-dateutil
 sniffio==1.3.1
     # via
     #   anyio
     #   openai
-sortedcontainers==2.4.0
-    # via cyclonedx-python-lib
 sqlalchemy==2.0.43
     # via
     #   alembic
     #   flask-sqlalchemy
-stack-data==0.6.3
-    # via ipython
-stevedore==5.4.1
-    # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
 tenacity==9.1.2
     # via google-genai
-toml==0.10.2
-    # via pip-audit
-tomlkit==0.13.3
-    # via pylint
 tqdm==4.67.1
     # via
     #   certgames (pyproject.toml)
     #   openai
-traitlets==5.14.3
-    # via
-    #   ipython
-    #   matplotlib-inline
-types-cffi==1.17.0.20250809
-    # via types-pyopenssl
-types-pyopenssl==24.1.0.20240722
-    # via types-redis
-types-pytz==2025.2.0.20250809
-    # via certgames (pyproject.toml)
-types-pyyaml==6.0.12.20250809
-    # via certgames (pyproject.toml)
-types-redis==4.6.0.20241004
-    # via certgames (pyproject.toml)
-types-requests==2.32.4.20250809
-    # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
-    # via types-cffi
 typing-extensions==4.14.1
     # via
     #   aiosignal
@@ -563,7 +320,6 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   limits
-    #   mypy
     #   openai
     #   pydantic
     #   pydantic-core
@@ -584,9 +340,7 @@
 ua-parser-builtins==0.18.0.post1
     # via ua-parser
 urllib3==2.5.0
-    # via
-    #   requests
-    #   types-requests
+    # via requests
 user-agents==2.2.0
     # via certgames (pyproject.toml)
 uwsgi==2.0.30
@@ -596,12 +350,6 @@
     #   amqp
     #   celery
     #   kombu
-virtualenv==20.34.0
-    # via pre-commit
-vulture==2.14
-    # via certgames (pyproject.toml)
-watchdog[watchmedo]==6.0.0
-    # via certgames (pyproject.toml)
 wcwidth==0.2.13
     # via prompt-toolkit
 websockets==15.0.1
@@ -613,22 +361,16 @@
     #   flask-cors
     #   flask-jwt-extended
     #   flask-restx
-    #   pytest-flask
-wheel==0.45.1
-    # via pip-tools
 wrapt==1.17.3
     # via deprecated
 wsproto==1.2.0
     # via simple-websocket
-yapf==0.43.0
-    # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:
-# pip
 # setuptools
--- dev-requirements.txt	2025-09-19 15:32:11.107620399 +0000
+++ upgraded-dev-requirements.txt	2025-09-19 15:33:33.786536290 +0000
@@ -2,7 +2,7 @@
 # This file is autogenerated by pip-compile with Python 3.12
 # by the following command:
 #
-#    pip-compile --extra=dev --output-file=dev-requirements.tx
+#    pip-compile --cert=None --client-cert=None --extra=dev --index-url=None --output-file=upgraded-dev-requirements.txt --pip-args=None
 #
 aiohappyeyeballs==2.6.1
     # via aiohttp
@@ -10,7 +10,7 @@
     # via geoip2
 aiosignal==1.4.0
     # via aiohttp
-alembic==1.16.4
+alembic==1.16.5
     # via flask-migrate
 amqp==5.3.1
     # via kombu
@@ -100,7 +100,7 @@
     # via celery
 colorama==0.4.6
     # via radon
-coverage[toml]==7.10.3
+coverage[toml]==7.10.6
     # via pytest-cov
 cryptography==45.0.6
     # via
@@ -131,7 +131,7 @@
     #   pymongo
 email-validator==2.2.0
     # via certgames (pyproject.toml)
-executing==2.2.0
+executing==2.2.1
     # via stack-data
 factory-boy==3.3.3
     # via certgames (pyproject.toml)
@@ -139,7 +139,7 @@
     # via
     #   certgames (pyproject.toml)
     #   factory-boy
-filelock==3.18.0
+filelock==3.19.1
     # via
     #   cachecontrol
     #   virtualenv
@@ -207,7 +207,7 @@
     #   certgames (pyproject.toml)
     #   google-genai
     #   openai
-identify==2.6.13
+identify==2.6.14
     # via pre-commit
 idna==3.10
     # via
@@ -237,11 +237,11 @@
     # via
     #   certgames (pyproject.toml)
     #   flask
-jiter==0.10.0
+jiter==0.11.0
     # via openai
-jsonschema==4.25.0
+jsonschema==4.25.1
     # via flask-restx
-jsonschema-specifications==2025.4.1
+jsonschema-specifications==2025.9.1
     # via jsonschema
 kombu==5.5.4
     # via celery
@@ -310,12 +310,10 @@
     #   pip-review
     #   pytest
     #   requirements-parser
-parso==0.8.4
+parso==0.8.5
     # via jedi
 pathspec==0.12.1
     # via mypy
-pbr==7.0.0
-    # via stevedore
 pexpect==4.9.0
     # via ipython
 pip-api==0.0.34
@@ -328,7 +326,7 @@
     # via certgames (pyproject.toml)
 pip-tools==7.5.0
     # via certgames (pyproject.toml)
-platformdirs==4.3.8
+platformdirs==4.4.0
     # via
     #   pip-audit
     #   pylint
@@ -340,7 +338,7 @@
     #   pytest-cov
 pre-commit==4.3.0
     # via certgames (pyproject.toml)
-prompt-toolkit==3.0.51
+prompt-toolkit==3.0.52
     # via
     #   click-repl
     #   ipython
@@ -362,7 +360,7 @@
     #   rsa
 pyasn1-modules==0.4.2
     # via google-auth
-pycparser==2.22
+pycparser==2.23
     # via cffi
 pydantic==2.11.7
     # via
@@ -412,7 +410,7 @@
     #   certgames (pyproject.toml)
     #   flask-pymongo
     #   mongoengine
-pyparsing==3.2.3
+pyparsing==3.2.4
     # via pip-requirements-parser
 pyproject-hooks==1.2.0
     # via
@@ -491,7 +489,7 @@
     #   bandit
     #   flask-limiter
     #   pip-audit
-rpds-py==0.27.0
+rpds-py==0.27.1
     # via
     #   jsonschema
     #   referencing
@@ -523,7 +521,7 @@
     #   flask-sqlalchemy
 stack-data==0.6.3
     # via ipython
-stevedore==5.4.1
+stevedore==5.5.0
     # via bandit
 stripe==12.4.0
     # via certgames (pyproject.toml)
@@ -541,7 +539,7 @@
     # via
     #   ipython
     #   matplotlib-inline
-types-cffi==1.17.0.20250809
+types-cffi==1.17.0.20250915
     # via types-pyopenssl
 types-pyopenssl==24.1.0.20240722
     # via types-redis
@@ -553,7 +551,7 @@
     # via certgames (pyproject.toml)
 types-requests==2.32.4.20250809
     # via certgames (pyproject.toml)
-types-setuptools==80.9.0.20250809
+types-setuptools==80.9.0.20250822
     # via types-cffi
 typing-extensions==4.14.1
     # via
@@ -624,9 +622,9 @@
     # via certgames (pyproject.toml)
 yarl==1.20.1
     # via aiohttp
-zope-event==5.1.1
+zope-event==6.0
     # via gevent
-zope-interface==7.2
+zope-interface==8.0
     # via gevent
 
 # The following packages are considered to be unsafe in a requirements file:

Vulnerabilities After Upgrade

No vulnerabilities found in upgraded packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant