Skip to main content

An agent for agents to explore the web

Project description

WebExplorer CI/CD

New Version Deployed

AIWebExplorer 🌐

An agent for agents to explore the web

📦 Installation

This project uses uv for dependency management.

# Clone the repository
git clone <repository-url>
cd AIWebExplorer

# Install dependencies
uv sync

# Activate virtual environment
source .venv/bin/activate

🛠️ Development

# Run linting
uv run ruff check .

# Run formatting
uv run ruff format .

# Run type checking
uv run ruff check --select I

⚙️ Environment Variables

Copy .env.example to .env and adjust the values:

# Environment setting (DEV, TEST, CI, PROD)
AWE_ENV=DEV

# Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
AWE_LOG_LEVEL=INFO

# LLM Provider configuration (REQUIRED)
# Supported providers: openai, togetherai, deepseek
AWE_LLM_PROVIDER=openai

# LLM Model to use (REQUIRED)
# Examples:
# - OpenAI: gpt-4, gpt-4-turbo, gpt-3.5-turbo
# - TogetherAI: meta-llama/Llama-2-70b-chat-hf, mistralai/Mixtral-8x7B-Instruct-v0.1
# - DeepSeek: deepseek-chat, deepseek-coder
AWE_LLM_MODEL=gpt-4

# API Key for the selected provider (REQUIRED)
AWE_LLM_API_KEY=your-api-key-here

Configuration Options

  • AWE_ENV: Application environment (default: DEV)
    • Options: DEV, TEST, CI, PROD
  • AWE_LOG_LEVEL: Logging verbosity level (default: INFO)
    • Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
  • AWE_LLM_PROVIDER: LLM provider selection (REQUIRED)
    • Supported providers: openai, togetherai, deepseek
    • Can be overridden when creating agents programmatically
  • AWE_LLM_MODEL: Model identifier to use (REQUIRED)
    • Must be compatible with the selected provider
    • Can be overridden when creating agents programmatically
  • AWE_LLM_API_KEY: API key for authentication (REQUIRED)
    • Must be valid for the selected provider
    • Can be overridden when creating agents programmatically

Supported Providers

🤖 OpenAI

  • Provider: openai
  • Models: gpt-4, gpt-4-turbo, gpt-3.5-turbo, and more
  • API Key: Get from OpenAI Platform

🔗 TogetherAI

  • Provider: togetherai
  • Models: Various open-source models including Llama, Mixtral, etc.
  • API Key: Get from Together.ai

🔍 DeepSeek

  • Provider: deepseek
  • Models: deepseek-chat, deepseek-coder
  • API Key: Get from DeepSeek Platform

🧪 Testing

For comprehensive testing documentation, including how to run tests, use dependency injection for mocking, and write new tests, see the Tests README.

Running Tests

# Run all tests
pytest

# Run with verbose output
pytest -v

# Run specific test file
pytest tests/test_webexplorer_integration.py

📊 Evaluation Reports

Performance evaluation reports are available in the tests/reports/ directory:

These reports track the accuracy and performance of the WebExplorer across different types of websites and extraction tasks.

✨ New Features

To develop a new feature:

  1. Create a feature branch from develop:

    git checkout develop
    git pull origin develop
    git checkout -b feature/your-feature-name
    
  2. Work on your feature and commit changes:

    git add .
    git commit -m "feat: add your new feature"
    git push origin feature/your-feature-name
    
  3. Create a Pull Request to develop branch

  4. After review and merge, delete the feature branch

🚀 New Versions

Option 1: Automated Release (Recommended)

For automated releases, simply commit with the release message:

git commit -m "chore: release v1.2.0"
git push origin master

This will automatically:

  • Create the version tag
  • Publish to PyPI
  • Create a GitHub release

Option 2: Manual Release

  1. Create a release branch from develop:

    git checkout develop
    git pull origin develop
    git checkout -b release/v1.2.0
    
  2. Update CHANGELOG.md with your changes

  3. Merge to master and create version tag:

    git checkout master
    git merge release/v1.2.0
    git tag v1.2.0
    git push origin master --tags
    
  4. Merge back to develop:

    git checkout develop
    git merge release/v1.2.0
    git push origin develop
    

The CI/CD pipeline will automatically:

  • Run tests and linting
  • Build and publish to PyPI when version tags are pushed
  • Create GitHub releases

Version numbering:

  • Patch (1.0.0 → 1.0.1): Bug fixes
  • Minor (1.0.0 → 1.1.0): New features
  • Major (1.0.0 → 2.0.0): Breaking changes

License

[Add your license here]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiwebexplorer-0.0.4.tar.gz (91.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiwebexplorer-0.0.4-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file aiwebexplorer-0.0.4.tar.gz.

File metadata

  • Download URL: aiwebexplorer-0.0.4.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.5

File hashes

Hashes for aiwebexplorer-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3d719a4e9c33c479bf4cf88f0f237a82ff2f9aad8706fce0899d63b8a888218f
MD5 9b1737c01569a09b73c3e031302a1efc
BLAKE2b-256 43a242ceb55dfad2863f230c051d053e46bd37fed5f12f3b3aaa50c2661e4bb1

See more details on using hashes here.

File details

Details for the file aiwebexplorer-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for aiwebexplorer-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1408daf0cfecad3e2edd355d8475f75ba68250b56f69156324d56535f8c5b78c
MD5 00dd0d851e95c621b44ceeb9d1e332dc
BLAKE2b-256 8acf0afdb8e0d12db00fc17761ca05a21e8e930330f0343331775475ab743606

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page