🚀 New Features
Course Code Filtering
- Specific Course Queries: Filter live courses by exact course codes using the new
course_codesparameter - Flexible Formatting: Supports various formats (
COMP1001,COMP 1001, case insensitive) - Multiple Courses: Query multiple specific courses with comma-separated values
- Cross-Subject Support: Filter courses from different subjects in a single request
FastAPI Server Enhancements
- Enhanced Live Courses Endpoint:
/universities/{university}/live-coursesnow supports course code filtering - Complete Parameter Set:
term,year,subjects,course_codes,limit,include_ratings - Comprehensive Documentation: Updated API docs with usage examples and parameter descriptions
🔧 Technical Improvements
Virtual Environment Support
- Environment Boundary Enforcement: Respects virtual environment boundaries for asset discovery
- Proper Asset Resolution: Fixed asset path resolution when installed via pip in virtual environments
- Cross-Platform Compatibility: Works correctly in development and production environments
Discovery Service Enhancements
- Unified Asset Discovery: CarletonDiscovery now uses centralized discovery service
- Improved Path Resolution: Better handling of package installation paths
- Virtual Environment Priority: Prioritizes venv assets over system-wide installations
📚 Documentation Updates
API Response Formats
- New Course Filtering Section: Complete documentation for
course_codesparameter - Usage Examples: Four common use cases with practical examples
- Parameter Reference: Complete parameter documentation for all endpoints
- Version Updates: Updated to reflect version 2.4.3
💻 Usage Examples
Get Specific Course
curl "http://localhost:8000/universities/carleton/live-courses?term=fall&year=2025&subjects=COMP&course_codes=COMP1001&include_ratings=true"Multiple Specific Courses
curl "http://localhost:8000/universities/carleton/live-courses?term=fall&year=2025&subjects=COMP&course_codes=COMP1001,COMP1005&include_ratings=true"Cross-Subject Filtering
curl "http://localhost:8000/universities/carleton/live-courses?term=fall&year=2025&subjects=COMP,MATH&course_codes=COMP1001,MATH1007&include_ratings=true"🛠️ Installation
pip install schedulo-api==2.4.3
schedulo-api --university carleton server --port 8000Access API documentation at: http://localhost:8000/docs
🐛 Bug Fixes
- Fixed virtual environment asset discovery issues
- Resolved package installation path problems
- Fixed CarletonDiscovery catalog loading when installed via pip
📦 Dependencies
- FastAPI for REST API framework
- Uvicorn for ASGI server
- Pydantic for request/response validation
- All existing dependencies maintained
Full Changelog: v2.4.2...v2.4.3