{"categories":[{"label":"Testing","url":"https://skillfed.io/packages/category/software-development-testing"}],"enrichment":{"capability":"Choreographer provides remote control of Chrome-based browsers from Python via the DevTools Protocol, enabling programmatic browser automation and interaction.","skillfed_tags":["browser-automation","devtools-protocol","async-first"],"use_cases":["Generate static images from browser-based charting tools or web applications without maintaining a custom Chrome build","Automate browser interactions for testing or data collection from JavaScript-heavy websites","Control multiple browser tabs programmatically to coordinate navigation and event handling","Subscribe to browser lifecycle events (page load, crashes, navigation) for monitoring or conditional logic","Integrate browser automation into Python async applications without blocking the event loop"],"what_it_does":"Choreographer is a Python wrapper around the Chrome DevTools Protocol that lets you control a browser programmatically\u2014navigating pages, executing JavaScript, capturing screenshots, and subscribing to browser events. It was created to replace the custom Chrome build approach used by Kaleido, instead leveraging the Chrome binary already on your machine, similar to how Puppeteer works. The package is designed primarily for async/await workflows and provides both high-level Browser and Tab interfaces and lower-level Target and Session interfaces for advanced use.\n\nThe package is actively maintained but explicitly in a work-in-progress state: only Chrome-ish browsers are supported at present, and the developers are seeking community help to test on different platforms and use cases. It requires Python 3.8 or later and depends on logistro, platformdirs, and simplejson. Synchronous use is possible but discouraged in favor of asyncio patterns.","worth_installing":"Yes, if you need Chrome automation from Python and are comfortable with a work-in-progress library. The low install friction, active maintenance, MIT license, and zero known vulnerabilities make it a reasonable choice for browser control tasks. However, be aware that only Chrome-ish browsers are supported, the package is still evolving, and you must have Chrome installed on your system. For production use, verify stability on your target platform first."},"id":"choreographer","links":{"html":"https://skillfed.io/packages/choreographer","md":"https://skillfed.io/packages/choreographer.md","pypi":"https://pypi.org/project/choreographer/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-04-28","license_spdx":null,"license_treatment":"unclear","name":"choreographer","python_support":"supports_current","summary":"Devtools Protocol implementation for chrome."},"popularity":{"monthly_downloads":6420920,"position":1914,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"1.3.0"}
