Skip to content

Open source ETL framework for retrieval augmented generation (RAG). Sync data from your SaaS tools to a vector store, where they can be easily queried by GPT apps

License

Notifications You must be signed in to change notification settings

woakes070048/sidekick

 
 

Repository files navigation

🦊 Finic

A fleet of stealth browsers at your fingertips.

License Issues

Finic provides browser infrastructure for developers building web scrapers, browser automations, and AI agents in Python. It does this by giving you a browser in the cloud you can control remotely using Playwright or Puppeteer (in just a few lines), or Selenium (with some work).

Finic is designed to be unopionated about the development process, and simply provide browser and network-level utilities to make sure your automations don't get blocked.

Quickstart

git clone https://github.com/finic-ai/finic.git

Running Locally

Run the image locally the same as any other Docker container.

sudo docker-compose up --build

Once the container is running, you can connect to it like this.

CDP_URL = "ws://localhost:8000/ws"

async def main():
    print("Connecting to Browser...")
    async with async_playwright() as pw:
        browser = await pw.chromium.connect_over_cdp(CDP_URL)
        try:
            print("Connected! Navigating...")
            page = await browser.new_page()
            await page.goto("https://example.com", timeout=2 * 60 * 1000)
            print("Navigated! Scraping page content...")
            html = await page.content()
            print(html)
        finally:
            await browser.close()

asyncio.run(main())

Or run python testscript.py to test out the container.

If you want to use a Finic browser with an existing project, simply replace this line:

browser = playwright.chromium.launch(headless=False)

with this one: with this:

browser = playwright.chromium.connect_over_cdp("ws://localhost:8080/ws")

About

Open source ETL framework for retrieval augmented generation (RAG). Sync data from your SaaS tools to a vector store, where they can be easily queried by GPT apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 67.9%
  • Python 28.7%
  • JavaScript 1.5%
  • HTML 0.7%
  • Dockerfile 0.7%
  • Shell 0.2%
  • Other 0.3%