Lightpanda 1.0.2 is out: > fetch --dump structured_data returns a page’s JSON-LD > --markdown-alternate gets the docs’ own .md file > Playwright clicks reach buttons inside shadow DOM Full notes here: github.com/lightpanda-i...
Lightpanda
Lightpanda
@lightpanda.bsky.social
A new browser built for machines. Not a fork. Not a patch. Come chat: https://discord.gg/K63XeymfB5
13 followers2 following97 posts
Lightpanda agent runs on Le Chonk from Mistral 🧡 The Mona Lisa has seen many things, but not this. lightpanda agent \ --provider mistral \ --model mistral-large-4 \ --task "go to collections.louvre.fr/en/ark:/5335... and extract the title, date and dimensions in cm as JSON"
Agents using Lightpanda now read a page the way a person sees it. On npr.org: > The page went from 1,710 lines to 566 > 132 KB to 48 KB The site’s stylesheets load by default, so anything hidden on screen stays hidden. Fewer tokens and less noise to reason through. github.com/lightpanda-i...
Lightpanda 1.0 works with Selenium. That makes Lightpanda the only browser that natively speaks every web automation protocol: CDP, WebDriver and MCP. > Change one fixture and your existing tests run on it > Up to 4.4x faster than headless Chrome and 7.8x less memory lightpanda.io/blog/posts/s...
A fetch to the NeurIPS proceedings page gets zero papers, because the list is built by JavaScript. 🫥 From Python, Lightpanda reads all 5,858 out of the live DOM. On a 100 quote scrape: > 3s and 35 MB on Lightpanda > 6s and 1.2 GB for Selenium + headless Chrome lightpanda.io/blog/posts/l...
Puppeteer or Playwright users: every job you run starts up a full copy of Chrome in the background. It takes seconds to boot and is heavy on memory. They weren't built for this. That's why we built PandaScript, the same way we built the browser. lightpanda.io/blog/posts/p...
Lightpanda clicks and scrolls like a real browser now. A click fires the full pointer/mouse sequence, so menus that open on mousedown open, and the wheel scrolls the viewport. 🐭📜 Code in comments github.com/lightpanda-i... github.com/lightpanda-i...
Several big perf improvements in the latest Lightpanda nightly 🔥 > nth-* selectors: Now caches sibling positions. 56ms → 0.4ms/query, ~140x (PR 3449) > class matching: ~33% faster, close to Firefox (PR 3457) > getBoundingClientRect stops re-walking the DOM (PR 3467) github.com/lightpanda-i...
📣 Python users, you can just pip install lightpanda. The browser ships in the wheel. Same 100 quotes off a JavaScript-rendered page: > Selenium and Chrome need 1121 MB > Lightpanda needs 39 MB lightpanda.io/docs/guides/...
Lightpanda 0.4.0 is out > Breaking: iframes and workers no longer load by default (restore with --load-resources iframe and --load-resources worker) > New Web APIs inc URLPattern, navigator.geolocation and WorkerNavigator More in comments github.com/lightpanda-io/browser/releases/tag/0.4.0
Back to school, back to basics. We wrote an article on how to actually use Lightpanda. 🧑🏫 Local vs cloud. CLI, CDP, MCP, our native agent, or PandaScript. Easy to get confused about which fits. How to think it through before you build ⤵️ lightpanda.io/blog/posts/b...
Lightpanda's agent now searches the web with no API key. The Keenable public endpoint is the new default. It used to fall back to scraping a DuckDuckGo SERP, which their robots.txt disallows. In the clip, every search credential is unset. Two tool calls, 19 seconds. lightpanda.io/docs/usage/a...
Lightpanda can take screenshots now. lightpanda fetch --dump png renders the page's markdown representation to a PNG, and Page.captureScreenshot returns a real image instead of the placeholder, so you see what your agent saw. github.com/lightpanda-i...
Asked Lightpanda's agent for an open source headless browser that isn't a Chromium fork. It searched with Exa, opened the top result and read the release and stars off the page. Exa joins Brave and Tavily as a search backend. github.com/lightpanda-i...
Lightpanda 0.3.7 is out. > full SVG DOM > Playwright redirect chains resolve > fetch returns at load by default > HTTP cache on a SQLite backend > lower memory per DOM node Full release notes ⤵️ github.com/lightpanda-i...
1.64m passing wpt tests, up 33k from yesterday. Shadow DOM work: Element.getHTML() and node tracking across shadow roots >>> github.com/lightpanda-i... One web API at a time.
Zig's new self-hosted compiler dropped local Lightpanda builds from ~60s to ~10s. Via the opt-in -Ddev_fast=true flag on main (Linux x86-64). No more excuses. github.com/lightpanda-i...
Lightpanda's HTTP cache now takes a --http-cache-entry-limit flag, default 1000. Cap how many responses persist, and it evicts the oldest by stored time once the cache is full (0 means no limit). Code >>> gist.github.com/katie-lpd/6b...
We added SVG DOM support: geometry, structural and text elements, plus live collections. Also shipped formData() on Request and Response in its Fetch API. github.com/lightpanda-i...
Live: playground in Lightpanda's console 🕹️ Write a Puppeteer or Playwright script, hit run, and it executes on Lightpanda Cloud. Both clients are preinstalled and we set CDP_WS_URL for you, so there's no token to paste. > Try it console.lightpanda.io/signup > Docs lightpanda.io/docs/run-on-...
Lightpanda has an SQLite HTTP cache now. Point it at a cache dir and responses persist across runs, revalidating with ETag when stale. Same fetch twice here, the second served from SQLite. Code --> gist.github.com/katie-lpd/b8...
Lightpanda now respects CSS @layer priority, so the cascade resolves the way modern stylesheets expect. github.com/lightpanda-i...
We upgraded Lightpanda to Zig 0.16. The new std.Io dropped in behind one global instance, so our libcurl integration and event loop needed zero changes. Migration notes: github.com/lightpanda-i...
Lightpanda 0.3.5 just dropped ⚡️ `lightpanda update` to get the latest version Loads of events and DOM spec work. If a site broke two weeks ago, try it again now. IndexedDB, SharedWorker and EventSource landed too, and MCP now does HTTP transport and multi-session. github.com/lightpanda-i...