mirror of
https://github.com/LearningCircuit/local-deep-research.git
synced 2026-06-16 03:51:07 +03:00
* feat: extend resource leak hook to detect database session leaks The pre-commit hook now detects unsafe usage of get_auth_db_session() and suggests using the auth_db_session() context manager instead. This prevents database session leaks when exceptions occur. Changes: - Add FUNCTIONS_REQUIRING_CONTEXT to detect function calls that return resources needing cleanup - Fix nested try/finally detection for close() calls - Update user_exists() in encrypted_db.py to use context manager - Update example files to use auth_db_session() context manager * fix: prevent session use after close and add search engine cleanup - Move config dict creation inside with block in api_routes.py to prevent using SettingsManager after database session is closed (was causing errors) - Remove redundant session.close() call that was after context manager exit - Add close() method and context manager support to BaseSearchEngine so search engines with HTTP sessions can be properly cleaned up
Advanced HTTP API Examples
This folder contains more comprehensive HTTP API examples for learning advanced features and production use cases.
📁 Available Examples
📚 simple_http_example.py - COMPREHENSIVE GUIDE
- ✅ Automatic user creation
- 📊 Multiple API examples (research, settings, history)
- 🔍 Progress monitoring with status updates
- ⏱️ Runtime: 3-15 minutes (more comprehensive testing)
Perfect for: Learning different API endpoints, understanding the full API surface
🚀 http_api_examples.py - ADVANCED CLIENT
- 🔧 Reusable client class for integration
- 📈 Advanced features (batch processing, polling)
- 🎛️ Comprehensive patterns for production use
- ⏱️ Runtime: 5-30 minutes (extensive testing)
Perfect for: Building applications, production integration, advanced use cases
🚀 Quick Start
1. Run the Comprehensive Example
cd advanced
python simple_http_example.py
2. Try the Advanced Client
cd advanced
python http_api_examples.py
⚠️ Important Notes
- Longer Runtime: These examples take longer than the basic example
- More Features: They demonstrate additional API endpoints and patterns
- Learning Focused: Designed to help you understand the full API surface
- Production Ready: Advanced examples include patterns for production use
📚 What These Examples Demonstrate
simple_http_example.py
- ✅ All basic functionality from the main example
- ✅ Settings management (get/update configuration)
- ✅ Research history access
- ✅ Progress polling and monitoring
- ✅ Multiple research scenarios
- ✅ Error handling patterns
http_api_examples.py
- ✅ All functionality from simple_http_example.py
- ✅ Reusable client class for application integration
- ✅ Batch processing capabilities
- ✅ Advanced polling strategies
- ✅ Production-ready error handling
- ✅ Comprehensive API coverage
- ✅ Settings management patterns