Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎃 Hacktoberfest: Extend web browsing in the developer toolkit to support multiple browser engines beyond Chromium (e.g., Firefox, WebKit) #170

Open
5 tasks
blackgirlbytes opened this issue Oct 19, 2024 · 0 comments

Comments

@blackgirlbytes
Copy link
Collaborator

blackgirlbytes commented Oct 19, 2024

🎃 Hacktoberfest: Extend Developer Toolkit Web Browsing

🌐 Support Multiple Browser Engines (Chromium, Firefox, WebKit)

📝 Description

The Developer toolkit currently supports web browsing via the fetch_web_content method, but it's limited to Chromium. We need to expand this to support Firefox and WebKit for improved versatility and compatibility.

🎯 Objective

Enhance fetch_web_content to allow users to choose between Chromium, Firefox, and WebKit for web content fetching.

🛠️ Implementation Steps

  1. Update fetch_web_content to accept a browser option
  2. Implement browser selection logic using Playwright
  3. Add error handling for unsupported browser options
  4. Update documentation for new browser options
  5. Extend test suite to cover all supported browsers

✨ Key Features

  • Support for Chromium, Firefox, and WebKit
  • User-specifiable browser preference
  • Fallback mechanism for unavailable browsers
  • Consistent content fetching across browsers

🚀 Getting Started

  1. Fork the repository
  2. Review the documentation
  3. Locate fetch_web_content in the Developer toolkit
  4. Implement browser selection logic
  5. Add tests for Firefox and WebKit
  6. Update toolkit documentation

💻 Running Locally

Prerequisites

  • uv for dependency management
  • ruff for formatting
  • just for command shortcuts (optional)

Setup

  1. Clone Goose repository
  2. Install uv
  3. Run uv in your local Goose directory to set up the virtualenv and install dependencies

Development Commands

  • Run Goose: uv run goose session start
  • Run tests: uv run pytest tests -m "not integration" or just test
  • Create dev alias: alias goosedev=\uv run which goose``

📚 Example Usage

After implementation:

content_path = toolkit.fetch_web_content(url, browser_name="firefox")

🧪 Testing Checklist

  • Content fetching with each supported browser
  • Handling of unsupported browser options
  • Fallback behavior for unavailable browsers

📘 Documentation Updates

  • Browser specification instructions
  • Browser-specific considerations/limitations

We welcome contributions of all levels. If you have questions, please ask in the comments!

@blackgirlbytes blackgirlbytes changed the title Hacktoberfest: Extend web browsing in the developer toolkit to support multiple browser engines beyond Chromium (e.g., Firefox, WebKit) 🎃 Hacktoberfest: Extend web browsing in the developer toolkit to support multiple browser engines beyond Chromium (e.g., Firefox, WebKit) Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant