-
Notifications
You must be signed in to change notification settings - Fork 22
Comparing changes
Open a pull request
base repository: SL-Mar/quantcoder-cli
base: main
head repository: SL-Mar/quantcoder-cli
compare: beta
- 13 commits
- 18 files changed
- 3 contributors
Commits on Nov 11, 2025
-
[REFACTOR] Modernize QuantCoder to v1.0.0 - OpenAI SDK 1.x Migration
## Major Changes ### OpenAI SDK Migration (0.28 → 1.x+) - Created LLMClient abstraction layer (quantcli/llm_client.py) - Migrated all openai.ChatCompletion.create() calls to new SDK - Removed global openai.api_key configuration - Added LLMResponse dataclass for standardized responses - Improved error handling and logging for LLM calls ### Dependency Updates - Bumped Python requirement to >= 3.9 - Updated OpenAI SDK to >= 1.0.0 - Added modern dependencies: rich, pytest, mypy, ruff - Created clean requirements.txt (replaced legacy freeze) - Updated setup.py to v1.0.0 with enhanced metadata ### Testing Infrastructure - Added pytest configuration (pytest.ini) - Created test suite for LLMClient (tests/test_llm_client.py) - Configured coverage reporting - Added test markers (unit/integration/slow) ### Documentation - Completely rewrote README.md (removed "legacy" branding) - Added CHANGELOG.md with migration guide - Updated installation instructions - Added badges and modern formatting - Highlighted v1.0.0 improvements ### Code Quality - Added LLMClient with proper type hints - Improved logging in processor.py - Token usage tracking for cost monitoring - Structured error handling ## Breaking Changes - Requires OpenAI SDK >= 1.0.0 (incompatible with 0.28) - Python >= 3.9 required (was 3.8) ## Migration Path Users can upgrade seamlessly: ```bash pip install --upgrade openai>=1.0.0 pip install -e . ``` No code changes required - LLMClient handles SDK differences internally. --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eb1265f - Browse repository at this point
Copy the full SHA eb1265fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 39b4cda - Browse repository at this point
Copy the full SHA 39b4cdaView commit details -
Fix tkinter dependency - make GUI imports lazy
- Move tkinter imports from module level to function level in processor.py - Make GUI imports conditional in cli.py - CLI commands now work without python3-tk system package - Interactive mode shows helpful error message if tkinter unavailable - All other CLI commands (search, list, download, etc.) fully functional
Configuration menu - View commit details
-
Copy full SHA for f05a87b - Browse repository at this point
Copy the full SHA f05a87bView commit details -
Add code quality improvements for v1.1.0
PROBLEM: Generated algorithms had 3 runtime errors on first backtest - NoneType comparison in max/min operations - Division by zero in position sizing - Missing null guards before trading logic SOLUTION: Multi-layered quality improvements 1. Enhanced Code Generation Prompt - Added explicit defensive programming requirements - Included safety pattern examples (None checks, division guards) - Emphasized PRODUCTION-READY code generation 2. Enhanced Refinement Prompt - Added safety checklist to refinement process - Ensures all defensive patterns are present 3. New QuantConnectValidator Class - Runtime safety validation layer - Detects: division by zero, None comparisons, missing IsReady checks - Provides actionable fix suggestions - File: quantcli/qc_validator.py 4. CLI Improvements - Fixed None return value handling in generate-code command - Better error messages for failed code generation IMPACT: - Improves generated code reliability - Reduces manual fixes required - Moves toward production-ready algorithms TODO (v1.1.0): - Integrate validator into generation pipeline - Add test suite - Document in CHANGELOG Issue: See /tmp/github_issue_quality.md for full details
Configuration menu - View commit details
-
Copy full SHA for 826f92d - Browse repository at this point
Copy the full SHA 826f92dView commit details -
Add security improvements and environment configuration
## Security Enhancements - Add missing `requests` import in utils.py (CRITICAL BUG FIX) - Implement URL validation before webbrowser.open() calls - Add validate_url() function to check URL safety - Replace hardcoded email with UNPAYWALL_EMAIL environment variable ## Configuration - Create .env.example documenting all environment variables - Add support for UNPAYWALL_EMAIL configuration ## Changes - quantcli/utils.py: Add requests import, urlparse, validate_url() - quantcli/cli.py: Add URL validation to browser operations - quantcli/gui.py: Add URL validation to browser operations - .env.example: Document all configurable environment variables These changes improve security by validating all URLs before opening them in the browser and fix the critical missing requests import bug.
Configuration menu - View commit details
-
Copy full SHA for 9fc699a - Browse repository at this point
Copy the full SHA 9fc699aView commit details -
Add comprehensive testing guide for v1.0.0
- Installation verification steps - Security testing procedures - Example workflows - Troubleshooting guide - Complete CLI command reference
Configuration menu - View commit details
-
Copy full SHA for 79e8626 - Browse repository at this point
Copy the full SHA 79e8626View commit details -
Configuration menu - View commit details
-
Copy full SHA for de7eac0 - Browse repository at this point
Copy the full SHA de7eac0View commit details -
Merge pull request #7 from SL-Mar/claude/refactor-modernize-2025-011C…
…V1sadPRrxj5sPHjWp7Wa Claude/refactor modernize 2025 011 cv1sad p rrxj5s p hj wp7 wa
Configuration menu - View commit details
-
Copy full SHA for 9a5f173 - Browse repository at this point
Copy the full SHA 9a5f173View commit details
Commits on Dec 15, 2025
-
Configuration menu - View commit details
-
Copy full SHA for cc0857d - Browse repository at this point
Copy the full SHA cc0857dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ad462e - Browse repository at this point
Copy the full SHA 7ad462eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cccb28 - Browse repository at this point
Copy the full SHA 1cccb28View commit details -
Merge pull request #11 from SL-Mar/claude/add-enhanced-help-beta-JwrsM
Claude/add enhanced help beta jwrs m
Configuration menu - View commit details
-
Copy full SHA for c14a447 - Browse repository at this point
Copy the full SHA c14a447View commit details
Commits on Dec 16, 2025
-
Configuration menu - View commit details
-
Copy full SHA for e41263d - Browse repository at this point
Copy the full SHA e41263dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...beta