|
| 1 | +# Copyright (C) 2024 Intel Corporation |
| 2 | +# SPDX-License-Identifier: Apache-2.0 |
1 | 3 |
|
2 | | -# AI/ML Libraries (for local processing) |
3 | | -# Alternative: Consider migrating to PyJWT or authlib for JWT handling |
4 | | -# Code Quality (dev dependencies) |
5 | | -# Data Processing |
6 | | -# Database |
7 | | -# HTTP Client |
8 | | -# Logging & Monitoring |
9 | | -# Note: python-jose has critical CVEs, using python-jose[cryptography] with patched version |
10 | | -# Redis & Caching |
11 | | -# Security |
12 | | -# Testing (dev dependencies) |
13 | | -# Utilities |
14 | | -# Validation |
15 | 4 | # Web Framework |
16 | | -PyPDF2==3.0.1 |
17 | | -PyYAML==6.0.2 |
18 | | -aiohttp==3.10.10 |
19 | | -alembic==1.13.3 |
20 | | -bcrypt==4.2.0 |
21 | | -black==24.10.0 |
22 | | -cryptography==43.0.1 |
23 | | -email-validator==2.2.0 |
24 | 5 | fastapi==0.115.0 |
25 | | -flake8==7.1.1 |
26 | | -hiredis==3.0.0 |
27 | | -httpx-mock==0.11.0 |
| 6 | +uvicorn[standard]==0.31.0 |
| 7 | + |
| 8 | +# Security - FIXED: Migrated from python-jose (CRITICAL CVE) to PyJWT |
| 9 | +PyJWT>=2.9.0 # Replaced python-jose[cryptography]==3.3.0 |
| 10 | +cryptography>=43.0.7 # FIXED: Updated from 43.0.1 (OpenSSL vulnerability) |
| 11 | +bcrypt==4.2.0 |
| 12 | +passlib[bcrypt]==1.7.4 |
| 13 | + |
| 14 | +# HTTP Client - FIXED: Updated aiohttp (memory leak and smuggling fixes) |
| 15 | +aiohttp>=3.11.0 # FIXED: Updated from 3.10.10 |
28 | 16 | httpx==0.27.2 |
29 | | -mypy==1.11.2 |
30 | | -numpy==2.1.2 |
| 17 | +httpx-mock==0.11.0 # License: MIT (verified) |
| 18 | + |
| 19 | +# Form Data - FIXED: Updated python-multipart (DoS vulnerability) |
| 20 | +python-multipart>=0.0.9 # FIXED: Updated from 0.0.12 |
| 21 | + |
| 22 | +# Database |
| 23 | +psycopg2-binary==2.9.10 |
| 24 | +sqlalchemy==2.0.35 |
| 25 | +alembic==1.13.3 |
| 26 | + |
| 27 | +# Redis & Caching |
| 28 | +redis==5.2.0 |
| 29 | +hiredis==3.0.0 |
| 30 | + |
| 31 | +# Data Processing - FIXED: Migrated from PyPDF2 to pypdf (infinite loop fix) |
| 32 | +pypdf>=4.0.0 # Replaced PyPDF2==3.0.1 (License: BSD-3-Clause, verified) |
31 | 33 | openpyxl==3.1.5 |
| 34 | +python-docx==1.1.2 |
32 | 35 | pandas==2.2.3 |
33 | | -passlib[bcrypt]==1.7.4 |
34 | | -psycopg2-binary==2.9.10 |
35 | | -pydantic-settings==2.5.2 |
| 36 | +numpy==2.1.2 |
| 37 | +scikit-learn==1.5.2 |
| 38 | + |
| 39 | +# Validation |
36 | 40 | pydantic==2.9.2 |
37 | | -pytest-asyncio==0.24.0 |
38 | | -pytest-cov==6.0.0 |
39 | | -pytest==8.3.3 |
40 | | -python-docx==1.1.2 |
| 41 | +pydantic-settings==2.5.2 |
| 42 | +email-validator==2.2.0 |
| 43 | + |
| 44 | +# Utilities |
41 | 45 | python-dotenv==1.0.1 |
42 | | -python-jose[cryptography]==3.3.0 # TODO: Migrate to PyJWT>=2.9.0 or authlib>=1.3.0 |
43 | 46 | python-json-logger==2.0.7 |
44 | | -python-multipart==0.0.12 |
45 | | -redis==5.2.0 |
46 | | -scikit-learn==1.5.2 |
47 | | -sqlalchemy==2.0.35 |
48 | | -uvicorn[standard]==0.31.0 |
| 47 | +PyYAML==6.0.2 |
| 48 | + |
| 49 | +# Logging & Monitoring |
| 50 | +# (using standard library and python-json-logger) |
| 51 | + |
| 52 | +# Testing (dev dependencies) |
| 53 | +pytest==8.3.3 |
| 54 | +pytest-asyncio==0.24.0 |
| 55 | +pytest-cov==6.0.0 |
| 56 | + |
| 57 | +# Code Quality (dev dependencies) |
| 58 | +black==24.10.0 |
| 59 | +flake8==7.1.1 |
| 60 | +mypy==1.11.2 |
0 commit comments