aiwaf 0.1.9.1.5__tar.gz → 0.1.9.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aiwaf might be problematic. Click here for more details.

Files changed (40) hide show
  1. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/PKG-INFO +7 -1
  2. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/README.md +6 -0
  3. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/__init__.py +1 -1
  4. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/check_dependencies.py +17 -1
  5. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf.egg-info/PKG-INFO +7 -1
  6. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/pyproject.toml +1 -1
  7. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/setup.py +1 -1
  8. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/LICENSE +0 -0
  9. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/apps.py +0 -0
  10. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/blacklist_manager.py +0 -0
  11. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/decorators.py +0 -0
  12. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/__init__.py +0 -0
  13. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/__init__.py +0 -0
  14. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/add_exemption.py +0 -0
  15. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/add_ipexemption.py +0 -0
  16. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/aiwaf_diagnose.py +0 -0
  17. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/aiwaf_logging.py +0 -0
  18. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/aiwaf_reset.py +0 -0
  19. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/clear_cache.py +0 -0
  20. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/debug_csv.py +0 -0
  21. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/detect_and_train.py +0 -0
  22. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/diagnose_blocking.py +0 -0
  23. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/regenerate_model.py +0 -0
  24. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/setup_models.py +0 -0
  25. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/test_exemption.py +0 -0
  26. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/management/commands/test_exemption_fix.py +0 -0
  27. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/middleware.py +0 -0
  28. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/middleware_logger.py +0 -0
  29. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/models.py +0 -0
  30. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/resources/model.pkl +0 -0
  31. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/storage.py +0 -0
  32. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/templatetags/__init__.py +0 -0
  33. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/templatetags/aiwaf_tags.py +0 -0
  34. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/trainer.py +0 -0
  35. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf/utils.py +0 -0
  36. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf.egg-info/SOURCES.txt +0 -0
  37. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf.egg-info/dependency_links.txt +0 -0
  38. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf.egg-info/requires.txt +0 -0
  39. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/aiwaf.egg-info/top_level.txt +0 -0
  40. {aiwaf-0.1.9.1.5 → aiwaf-0.1.9.1.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiwaf
3
- Version: 0.1.9.1.5
3
+ Version: 0.1.9.1.6
4
4
  Summary: AI-powered Web Application Firewall
5
5
  Home-page: https://github.com/aayushgauba/aiwaf
6
6
  Author: Aayush Gauba
@@ -249,6 +249,7 @@ python manage.py check_dependencies --upgrade --check-security --update-requirem
249
249
  - ✅ **Dry run mode** for testing upgrade plans
250
250
  - ✅ **AIWAF compatibility validation**
251
251
  - ✅ **Automatic requirements.txt updates** after successful upgrades
252
+ - ✅ **Pip cache clearing** to prevent cache-related issues
252
253
 
253
254
  **Safe Upgrade System:**
254
255
 
@@ -305,6 +306,9 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
305
306
 
306
307
  🎉 Upgrade complete: 2/2 packages upgraded successfully
307
308
 
309
+ 🧹 Clearing pip cache...
310
+ ✅ Pip cache cleared successfully
311
+
308
312
  📝 Updating requirements.txt...
309
313
  📋 Backup created: requirements.txt.backup
310
314
  📦 pandas: pandas>=1.3 → pandas>=1.5.3
@@ -323,6 +327,7 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
323
327
  - 🧪 **Dry Run Mode**: Test upgrade plans before execution
324
328
  - ⚠️ **Clear Blocking Reasons**: Explains why upgrades are blocked
325
329
  - 📝 **Requirements.txt Updates**: Automatically updates dependency files
330
+ - 🧹 **Cache Management**: Clears pip cache after successful upgrades
326
331
 
327
332
  **Recommended Upgrade Workflow:**
328
333
 
@@ -361,6 +366,7 @@ The system uses a multi-layer decision process:
361
366
  - **Layer 3**: Analyze cross-package dependencies
362
367
  - **Layer 4**: Select highest safe version within constraints
363
368
  - **Layer 5**: Execute with error handling and rollback capability
369
+ - **Layer 6**: Clear pip cache and update requirements.txt after success
364
370
 
365
371
  This will ensure the IP is never blocked by AI‑WAF. You can also manage exemptions via the Django admin interface.
366
372
 
@@ -226,6 +226,7 @@ python manage.py check_dependencies --upgrade --check-security --update-requirem
226
226
  - ✅ **Dry run mode** for testing upgrade plans
227
227
  - ✅ **AIWAF compatibility validation**
228
228
  - ✅ **Automatic requirements.txt updates** after successful upgrades
229
+ - ✅ **Pip cache clearing** to prevent cache-related issues
229
230
 
230
231
  **Safe Upgrade System:**
231
232
 
@@ -282,6 +283,9 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
282
283
 
283
284
  🎉 Upgrade complete: 2/2 packages upgraded successfully
284
285
 
286
+ 🧹 Clearing pip cache...
287
+ ✅ Pip cache cleared successfully
288
+
285
289
  📝 Updating requirements.txt...
286
290
  📋 Backup created: requirements.txt.backup
287
291
  📦 pandas: pandas>=1.3 → pandas>=1.5.3
@@ -300,6 +304,7 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
300
304
  - 🧪 **Dry Run Mode**: Test upgrade plans before execution
301
305
  - ⚠️ **Clear Blocking Reasons**: Explains why upgrades are blocked
302
306
  - 📝 **Requirements.txt Updates**: Automatically updates dependency files
307
+ - 🧹 **Cache Management**: Clears pip cache after successful upgrades
303
308
 
304
309
  **Recommended Upgrade Workflow:**
305
310
 
@@ -338,6 +343,7 @@ The system uses a multi-layer decision process:
338
343
  - **Layer 3**: Analyze cross-package dependencies
339
344
  - **Layer 4**: Select highest safe version within constraints
340
345
  - **Layer 5**: Execute with error handling and rollback capability
346
+ - **Layer 6**: Clear pip cache and update requirements.txt after success
341
347
 
342
348
  This will ensure the IP is never blocked by AI‑WAF. You can also manage exemptions via the Django admin interface.
343
349
 
@@ -1,6 +1,6 @@
1
1
  default_app_config = "aiwaf.apps.AiwafConfig"
2
2
 
3
- __version__ = "0.1.9.1.5"
3
+ __version__ = "0.1.9.1.6"
4
4
 
5
5
  # Note: Middleware classes are available from aiwaf.middleware
6
6
  # Import them only when needed to avoid circular imports during Django app loading
@@ -498,7 +498,9 @@ class Command(BaseCommand):
498
498
  else u['package']['name']
499
499
  for u in safe_upgrades
500
500
  ])
501
- self.stdout.write(f"Command that would be executed:\n {upgrade_cmd}")
501
+ self.stdout.write(f"Commands that would be executed:")
502
+ self.stdout.write(f" {upgrade_cmd}")
503
+ self.stdout.write(f" pip cache purge # Clear pip cache after upgrades")
502
504
  return []
503
505
  return []
504
506
  else:
@@ -537,6 +539,20 @@ class Command(BaseCommand):
537
539
  self.stdout.write(f"\n🎉 Upgrade complete: {success_count}/{len(safe_upgrades)} packages upgraded successfully")
538
540
 
539
541
  if success_count > 0:
542
+ # Clear pip cache after successful upgrades
543
+ self.stdout.write(self.style.HTTP_INFO("\n🧹 Clearing pip cache..."))
544
+ try:
545
+ cache_result = subprocess.run(['pip', 'cache', 'purge'],
546
+ capture_output=True, text=True, timeout=60)
547
+ if cache_result.returncode == 0:
548
+ self.stdout.write(self.style.SUCCESS(" ✅ Pip cache cleared successfully"))
549
+ else:
550
+ self.stdout.write(self.style.WARNING(f" ⚠️ Cache clear warning: {cache_result.stderr}"))
551
+ except subprocess.TimeoutExpired:
552
+ self.stdout.write(self.style.WARNING(" ⚠️ Pip cache clear timed out"))
553
+ except Exception as e:
554
+ self.stdout.write(self.style.WARNING(f" ⚠️ Could not clear pip cache: {e}"))
555
+
540
556
  self.stdout.write(self.style.HTTP_INFO("\n💡 Recommendations after upgrade:"))
541
557
  self.stdout.write(" 1. Run tests to ensure everything works correctly")
542
558
  self.stdout.write(" 2. Run 'python manage.py check_dependencies' again to verify")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiwaf
3
- Version: 0.1.9.1.5
3
+ Version: 0.1.9.1.6
4
4
  Summary: AI-powered Web Application Firewall
5
5
  Home-page: https://github.com/aayushgauba/aiwaf
6
6
  Author: Aayush Gauba
@@ -249,6 +249,7 @@ python manage.py check_dependencies --upgrade --check-security --update-requirem
249
249
  - ✅ **Dry run mode** for testing upgrade plans
250
250
  - ✅ **AIWAF compatibility validation**
251
251
  - ✅ **Automatic requirements.txt updates** after successful upgrades
252
+ - ✅ **Pip cache clearing** to prevent cache-related issues
252
253
 
253
254
  **Safe Upgrade System:**
254
255
 
@@ -305,6 +306,9 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
305
306
 
306
307
  🎉 Upgrade complete: 2/2 packages upgraded successfully
307
308
 
309
+ 🧹 Clearing pip cache...
310
+ ✅ Pip cache cleared successfully
311
+
308
312
  📝 Updating requirements.txt...
309
313
  📋 Backup created: requirements.txt.backup
310
314
  📦 pandas: pandas>=1.3 → pandas>=1.5.3
@@ -323,6 +327,7 @@ The upgrade system is designed to maintain AIWAF stability while keeping your pa
323
327
  - 🧪 **Dry Run Mode**: Test upgrade plans before execution
324
328
  - ⚠️ **Clear Blocking Reasons**: Explains why upgrades are blocked
325
329
  - 📝 **Requirements.txt Updates**: Automatically updates dependency files
330
+ - 🧹 **Cache Management**: Clears pip cache after successful upgrades
326
331
 
327
332
  **Recommended Upgrade Workflow:**
328
333
 
@@ -361,6 +366,7 @@ The system uses a multi-layer decision process:
361
366
  - **Layer 3**: Analyze cross-package dependencies
362
367
  - **Layer 4**: Select highest safe version within constraints
363
368
  - **Layer 5**: Execute with error handling and rollback capability
369
+ - **Layer 6**: Clear pip cache and update requirements.txt after success
364
370
 
365
371
  This will ensure the IP is never blocked by AI‑WAF. You can also manage exemptions via the Django admin interface.
366
372
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aiwaf"
3
- version = "0.1.9.1.5"
3
+ version = "0.1.9.1.6"
4
4
  description = "AI-powered Web Application Firewall"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -9,7 +9,7 @@ long_description = (HERE / "README.md").read_text(encoding="utf-8")
9
9
 
10
10
  setup(
11
11
  name="aiwaf",
12
- version="0.1.9.1.5",
12
+ version="0.1.9.1.6",
13
13
  description="AI‑driven, self‑learning Web Application Firewall for Django",
14
14
  long_description=long_description,
15
15
  long_description_content_type="text/markdown",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes