Sign in

Lightpanda

@lightpanda.bsky.social
12 followers 2 following 87 posts

A new browser built for machines. Not a fork. Not a patch. Come chat: discord.gg/K63XeymfB5

PostsRepliesMedia
Lightpanda @lightpanda.bsky.social · 30/09/2026
⏳
000
Lightpanda @lightpanda.bsky.social · 25/09/2026
gist.github.com/katie-lpd/61...
gist.github.com
How many browser agents fit on one laptop: Lightpanda vs Chrome on a real booking site
How many browser agents fit on one laptop: Lightpanda vs Chrome on a real booking site - agents_per_laptop.py
000
Lightpanda @lightpanda.bsky.social · 25/09/2026
@typesafeai.bsky.social
100
Lightpanda @lightpanda.bsky.social · 25/09/2026
Jev and Lightpanda are getting on well. Jev decides, Lightpanda clicks. We sent them to browse SF hostels with parking on a startup budget 🍜 > 129 agents fit on one laptop vs 12 with Chrome > 11x less memory than Chrome > 6.7s per task with Jev vs 14.1s with gemini-3.8-flash Code in comments
100
Lightpanda @lightpanda.bsky.social · 24/09/2026
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...
lightpanda.io
Lightpanda for Python: a browser in one pip install - Blog | Lightpanda
pip install lightpanda gives you a headless browser and its Python bindings in one command, browser included. Scrape JavaScript-rendered pages and hand the data straight to pandas.
011
Lightpanda @lightpanda.bsky.social · 17/09/2026
> We cut out all the extra work they do. > It's the same script you'd already write, but it runs inside the Lightpanda browser. > We put it through four real scraping tasks against Puppeteer and Playwright. Up to 17x less memory and 14x faster.
000
Lightpanda @lightpanda.bsky.social · 17/09/2026
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.io
PandaScript vs Puppeteer and Playwright - Blog | Lightpanda
The same scraping tasks written as PandaScripts and as Puppeteer and Playwright scripts. Nearly identical code, 4x to 17x less memory, and one binary instead of two processes and a protocol.
100
Lightpanda @lightpanda.bsky.social · 16/09/2026
github.com/lightpanda-i...
github.com
Release 0.4.1 · lightpanda-io/browser
CORS (experimental) CORS is off by default. Enable it with --experimental-features cors. CORS implementation: obey cross-origin checks on fetch/XHR instead of allowing them unconditionally Origin ...
000
Lightpanda @lightpanda.bsky.social · 16/09/2026
Lightpanda 0.4.1 is out > CORS support, --experimental-features cors to opt in > nth-* selectors ~140x faster > native ad-blocker regex + request engine > --strip-mode for cleaner content extraction > Full click pointer/mouse sequence + real wheel scroll > --locale and --timezone
100
Lightpanda @lightpanda.bsky.social · 15/09/2026
gist.github.com/katie-lpd/b0...
gist.github.com
Lightpanda CDP input demo: full click sequence (#3431) + viewport wheel scroll (#3479), before 0.4.0 vs nightly, on real pages
Lightpanda CDP input demo: full click sequence (#3431) + viewport wheel scroll (#3479), before 0.4.0 vs nightly, on real pages - install-lightpanda-nightly.sh
000
Lightpanda @lightpanda.bsky.social · 15/09/2026
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...
100
Lightpanda @lightpanda.bsky.social · 11/09/2026
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...
001
Lightpanda @lightpanda.bsky.social · 03/09/2026
gist.github.com/katie-lpd/09...
gist.github.com
Same scrape three ways: requests, Selenium + Chrome, Lightpanda. 100 quotes, 1121 MB vs 39 MB.
Same scrape three ways: requests, Selenium + Chrome, Lightpanda. 100 quotes, 1121 MB vs 39 MB. - lightpanda-vs-selenium.py
000
Lightpanda @lightpanda.bsky.social · 03/09/2026
📣 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/...
100
Lightpanda @lightpanda.bsky.social · 02/09/2026
github.com/lightpanda-i...
github.com
WebDriver BiDi by karlseguin · Pull Request #3209 · lightpanda-io/browser
Adds support for connecting to websocket server using WebSocket BiDi. The driver to use is determined by the path, CDP and BiDi connections can be established side-by-side. Depends on lightpanda-io...
000
Lightpanda @lightpanda.bsky.social · 02/09/2026
Lightpanda speaks WebDriver BiDi. It is early. > Demo is Selenium's Python client. > Lightpanda serves BiDi and CDP off the same port and picks the driver from the path. > Enable bidi with --protocol webdriver. Pass both --protocol webdriver --protocol cdp. > We'd love to hear what's missing.
100
Lightpanda @lightpanda.bsky.social · 01/09/2026
> WebDriver BiDi support is WIP. More on this soon. We'd love your feedback on what's not working
000
Lightpanda @lightpanda.bsky.social · 01/09/2026
> --http-header sets headers on every request, and --http-version 1.1 pins the connection > PDF and PNG output: --dump pdf and --dump png render the page's markdown, so text and structure rather than a pixel match. Same for Page.printToPDF and Page.captureScreenshot over CDP
100
Lightpanda @lightpanda.bsky.social · 01/09/2026
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
100
Lightpanda @lightpanda.bsky.social · 31/08/2026
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.io
Best Practices for Using Lightpanda - Blog | Lightpanda
Lightpanda is a browser for machines, from agents acting on behalf of a user to data extraction at scale and indexing. Best practice looks different according to your use case.
000
Lightpanda @lightpanda.bsky.social · 28/08/2026
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...
100
Lightpanda @lightpanda.bsky.social · 27/08/2026
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...
000
Lightpanda @lightpanda.bsky.social · 23/08/2026
gist.github.com/katie-lpd/3f...
gist.github.com
Lightpanda agent searching with Exa (browser#3225)
Lightpanda agent searching with Exa (browser#3225) - demo-exa-search.sh
000
Lightpanda @lightpanda.bsky.social · 23/08/2026
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...
101
Lightpanda @lightpanda.bsky.social · 19/08/2026
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...
github.com
Release 0.3.7 · lightpanda-io/browser
New Web APIs Scheduler (window and worker) Full SVG DOM: geometry, structural elements, text DOM, resource elements, live collections, live scalar values Element/ShadowRoot getHTML Request#formDat...
000
Lightpanda @lightpanda.bsky.social · 13/08/2026
perf.lightpanda.io/wpt
perf.lightpanda.io
Lightpanda | Performance & Benchmark
000
Lightpanda @lightpanda.bsky.social · 13/08/2026
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.
120
Lightpanda @lightpanda.bsky.social · 12/08/2026
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...
010
Lightpanda @lightpanda.bsky.social · 11/08/2026
github.com/lightpanda-i...
github.com
Entry Limit for HTTP Cache by mookums · Pull Request #3157 · lightpanda-io/browser
This adds a http_cache_entry_limit flag that allows you to limit the maximum number of entries that persist in the HTTP Cache. It currently uses stored_at times as a heuristic to determine what get...
010
Lightpanda @lightpanda.bsky.social · 11/08/2026
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...
110
Lightpanda @lightpanda.bsky.social · 09/08/2026
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...
github.com
webapi: implement SVG geometry by mh0pe · Pull Request #3033 · lightpanda-io/browser
Summary add live typed geometry attributes and SVGGeometryElement.pathLength compute analytic fill bounds through SVGGraphicsElement.getBBox parse all SVG path command families with error recovery...
000
Lightpanda @lightpanda.bsky.social · 08/08/2026
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-...
000
Lightpanda @lightpanda.bsky.social · 06/08/2026
github.com/lightpanda-i...
github.com
Sqlite Cache Backend by mookums · Pull Request #2631 · lightpanda-io/browser
This is a new SQLite backend for the Cache. This is built off of the Cache Revalidation PR (#2570)
000
Lightpanda @lightpanda.bsky.social · 06/08/2026
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...
100
Lightpanda @lightpanda.bsky.social · 30/07/2026
github.com/lightpanda-i...
github.com
forms: include optgroup children in a select's list of options by navidemad · Pull Request #3058 · lightpanda-io/browser
Closes #3057 HTMLSelectElement collected its options from its direct children only, so an <option> inside an <optgroup> was invisible to options, length, value, selectedIndex, selectedO...
000
Lightpanda @lightpanda.bsky.social · 30/07/2026
Grouped dropdowns now work in Lightpanda. Every <option> inside an <optgroup> used to be invisible to .options, .value and form submission. It reads them all now, matching the HTML spec.
100
Lightpanda @lightpanda.bsky.social · 27/07/2026
gist.github.com/katie-lpd/8c...
gist.github.com
Lightpanda respects CSS @layer priority (PR #2983) - runnable demo
Lightpanda respects CSS @layer priority (PR #2983) - runnable demo - layer-demo.sh
000
Lightpanda @lightpanda.bsky.social · 27/07/2026
Lightpanda now respects CSS @layer priority, so the cascade resolves the way modern stylesheets expect. github.com/lightpanda-i...
100
Lightpanda @lightpanda.bsky.social · 24/07/2026
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...
021
Lightpanda @lightpanda.bsky.social · 17/07/2026
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...
github.com
Release 0.3.5 · lightpanda-io/browser
New Web APIs SharedWorker EventSource (including relative URLs) IndexedDB (base implementation) DOMPoint / DOMPointReadOnly; improved DOMRect Various SVG types; SVGAElement.relList Static Response...
000
Lightpanda @lightpanda.bsky.social · 17/07/2026
Lightpanda now preloads every script on the page. A pre-parsing pass scans the HTML up front and fetches all the script tags together, instead of one at a time as the parser reaches them. Same page, 1815ms to 305ms. 6x faster. ⚡ github.com/lightpanda-i...
021
Lightpanda @lightpanda.bsky.social · 16/07/2026
The lightpanda agent REPL now renders markdown as styled terminal output. Piped output stays raw. github.com/lightpanda-i...
032
Lightpanda @lightpanda.bsky.social · 15/07/2026
Lightpanda now exposes Prometheus metrics. Point your existing dashboards at Lightpanda and track requests, memory and more in real time. github.com/lightpanda-i...
031
Lightpanda @lightpanda.bsky.social · 12/07/2026
IndexedDB has landed in Lightpanda. Base implementation is now in main, so scripts relying on client-side IndexedDB storage now run. github.com/lightpanda-i...
github.com
webapi: IndexedDB base by karlseguin · Pull Request #2841 · lightpanda-io/browser
Add IndexedDB support This API is large and introduces new interaction points (e.g. with the js.Context and events) and new lifetime concerns. There are two design decisions worth noting: 1 - Only...
000
Lightpanda @lightpanda.bsky.social · 09/07/2026
Lightpanda no longer lets lazy-loaded iframes hold up a page's load event. If your target uses loading=lazy iframes, stop waiting on content they don't need. --disable-subframes to skip loading --v8-max-heap-mb to configure max v8 heap size per browser/CDP conn github.com/lightpanda-i...
github.com
perf: Iframes with loading=lazy don't delay parent's "load" event by karlseguin · Pull Request #2895 · lightpanda-io/browser
When an iframe has &quot;loading=lazy&quot; it no longer delays the parent&#39;s &quot;load&quot; event. It&#39;s still loaded (subject to --disable-subframes parameter). Many sites use loading=laz...
010
Lightpanda @lightpanda.bsky.social · 29/06/2026
000
Lightpanda @lightpanda.bsky.social · 29/06/2026
Your agent is paying for pixels it rarely looks at. agent-browser from @vercel.com defaults to Chromium but you can swap the engine to Lightpanda with one flag. On AssistantBench and GAIA benchmarks, Lightpanda came out ahead and quartered timeout. lightpanda.io/blog/posts/u...
lightpanda.io
Using Lightpanda with agent-browser - Blog | Lightpanda
agent-browser drives Lightpanda over CDP with a one-flag switch. Here is how to get the most out of the integration, plus a demo script you can run today.
110
Lightpanda @lightpanda.bsky.social · 26/06/2026
gist.github.com/katie-lpd/e8...
gist.github.com
Lightpanda concurrent fetch demo (PR #2808): one command, all URLs at once
Lightpanda concurrent fetch demo (PR #2808): one command, all URLs at once - concurrent-fetch.sh
000
Lightpanda @lightpanda.bsky.social · 26/06/2026
Lightpanda now fetches multiple URLs in a single command 3x faster, one flag ⚡ Same 4 pages - Sequential: 15.9s - Concurrent: 5.4s github.com/lightpanda-i...
111
Lightpanda @lightpanda.bsky.social · 24/06/2026
Lightpanda Agent now runs with llama.cpp Open source agent, open source model, both running on your hardware.
001