- Enhance MCP Server Functionality and CLI Improvements
This commit introduces significant updates to the MCP server and CLI for flight search:
-
MCP Server Enhancements:
- Added
search_datestool for finding cheapest travel dates. - Improved parameter handling in
FlightSearchParamsandDateSearchParamsfor better clarity and usability. - Refactored server to streamline request handling and improve error messaging.
- Added
-
CLI Updates:
- Updated command options to reflect new parameter names and improve user experience.
- Enhanced validation and parsing utilities for better error handling.
- Improved documentation and examples for MCP server integration.
-
Core Utilities:
- Introduced shared parsing and building utilities to reduce code duplication between CLI and MCP.
These changes aim to enhance the overall functionality and user experience of the flight search tools.
- Refactor CLI Commands and Enhance Flight Search Functionality
This commit updates the CLI commands for flight searches, replacing the previous search and cheap commands with flights and dates. Key changes include:
-
CLI Command Updates:
- Renamed commands to better reflect their functionality.
- Updated documentation and examples to align with new command names.
-
New Command Implementations:
- Introduced
dates.pyfor searching the cheapest travel dates. - Implemented
flights.pyfor searching specific flights with enhanced filtering options.
- Introduced
-
Testing Enhancements:
- Added comprehensive tests for both new commands to ensure functionality and reliability.
These changes aim to improve user experience and streamline the flight search process.
-
Bump Package Version to 0.7.0
-
Format
-
Add plotext dependency and integrate sparkline chart in date results display
This commit introduces the plotext library as a new dependency for rendering sparkline charts. The display_date_results function is updated to visualize price trends over dates using a sparkline chart, enhancing the user experience by providing a graphical representation of data alongside the existing table format. The chart includes proper labeling and formatting for clarity.
- Add retry logic for flight search API calls
This commit introduces a new search_with_retry function that implements retry logic for the flight search API, utilizing the tenacity library. The function attempts to search for flights up to three times with exponential backoff if the initial search returns empty results. This enhancement aims to improve the reliability of flight search results in the face of flaky API responses.