tarzi 0.1.11

Rust-native lite search for AI applications
Documentation
Rust API Reference
===================

Complete reference for the tarzi Rust API.

Quick Reference
---------------

**Core Modules**
   - ``tarzi::converter`` - HTML conversion functionality
   - ``tarzi::fetcher`` - Web page fetching
   - ``tarzi::search`` - Search engine integration
   - ``tarzi::search::parser`` - Search result parsing

**Main Structs**
   - ``Converter`` - HTML conversion
   - ``WebFetcher`` - Web page fetching
   - ``SearchEngine`` - Web search operations
   - ``ParserFactory`` - Parser creation and management

**Base Parser Traits**
   - ``BaseSearchParser`` - Core parser trait
   - ``WebSearchParser`` - HTML-based parsing
   - ``ApiSearchParser`` - JSON-based parsing
   - ``UnifiedParser`` - Combined web and API parsing

**Enums**
   - ``Format`` - Output formats (Markdown, JSON, YAML, HTML)
   - ``FetchMode`` - Fetching strategies
   - ``SearchMode`` - Search strategies
   - ``SearchEngineType`` - Supported search engines

Basic Usage
-----------

.. code-block:: rust

   use tarzi::{Converter, WebFetcher, SearchEngine, Format, FetchMode, SearchMode};
   use tarzi::search::parser::{ParserFactory, SearchEngineType};

   #[tokio::main]
   async fn main() -> Result<(), Box<dyn std::error::Error>> {
       // Convert HTML
       let converter = Converter::new();
       let markdown = converter.convert("<h1>Hello</h1>", Format::Markdown).await?;

       // Fetch web page
       let mut fetcher = WebFetcher::new();
       let content = fetcher.fetch("https://example.com", FetchMode::PlainRequest, Format::Markdown).await?;

       // Search web
       let mut search_engine = SearchEngine::new();
       let results = search_engine.search("agentic AI", SearchMode::WebQuery, 10).await?;

       // Use parser factory
       let factory = ParserFactory::new();
       let parser = factory.get_parser(&SearchEngineType::Google, SearchMode::WebQuery);
       let parsed_results = parser.parse(html_content, 10)?;

       Ok(())
   }