Cefpython Versions Save

Python bindings for the Chromium Embedded Framework (CEF)

v66.1

3 years ago

Installation

You can install the pypi/cefpython3 package using the pip tool. You can also download packages for offline installation that are attached in this release. The command to install with pip is:

pip install cefpython3==66.1

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9 Yes Yes Windows 7+ (Note that Python 3.9 supports Windows 8.1+)

Thank you to the sponsor

Thank you to Fivestars Loyalty, Inc. for sponsoring this release.

fivestars360

Changes and notes for this release

  • Support Python 3.8 and Python 3.9 (#546, #593, #594).
  • Update int range detection for Python 3 (#603).
  • Fix issues with urls containing special characters (#384). Backward compatibility break.
  • Add snippets in the "examples/snippets/" directory.
  • Add PySide2 support in the qt.py example (#438).
  • Update kivy_.py example to support Windows and Mac (#573)
  • Update the pysdl2.py example to support Python 3 (#543).
  • Fix tkinter focus issues on Windows (#535).
  • Fix focus issues in qt.py example (#404).
  • Fix Request.GetPostData() throwing UnicodeEncodeError (#517).
  • Fix V8ContextHandler.OnContextCreated and OnContextReleased never being called (#484).
  • Fix crash when setting a cookie with invalid domain (#459).
  • Update screenshot.py example. Disable GPU acceleration and add performance enhancing switches in OSR. (#463).
  • Fix maximize/restore events in tkinter_.py example.
  • Fix the bug of loading shared libraries. (#561).
  • Fix pango library wrong include path (hb.h: No such file or directory) (#589).
  • Fix pyinstaller 4.0 compatibility.
  • Update automate.py to add --use-ccache, --proprietary-codecs and --cef-git-url options (#474, #475, #483).

v49.0

5 years ago

A special release for legacy systems

This is a special release only for Windows for legacy systems such as Windows XP and Vista. This release includes Chromium 49.0.2623.110 which is the latest Chromium version that supports WinXP/Vista.

Installation

You can install pypi/cefpython3 package using pip tool. You can also download packages for offline installation available on this GitHub Release page. Command to install with pip:

pip --no-cache-dir install cefpython3==49.0

Please note that if you were previously installing cefpython3 package it is required to use the --no-cache-dir flag, otherwise pip will end up with error message No matching distribution found for cefpython3==49.0. This happens because 49.0 release occured after 57.0 and 66.0 releases.

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 Yes Yes Windows XP+

Thanks to the sponsor

Thanks to Fivestars Loyalty, Inc. for sponsoring this release. Please visit its website: https://www.fivestars.com/ .

fivestars360

Changes and notes for this release

  • Update to Chromium 49.0.2623.110 (#460)
  • Support for Windows XP SP3 or later (Vista, 7, 8, 10). Chromium requires at least SP3 on WinXP.
  • Support for Python 2.7 and 3.4. Python 3.4 is the last version of Python that supports Windows XP.
  • There were multiple changes in upstream CEF that are backward incompatible and thus require modifications in your app code. See the Migration Guide document for details.
  • Documentation is available in the docs/ directory in the cefpython49-winxp branch
  • API reference is available in the api/ directory in the cefpython49-winxp branch
  • Examples that were tested and do work fine: hello_world.py, gtk2.py, qt.py pyqt4, qt.py pyside, tutorial.py, screenshot.py, tkinter_.py and wxpython.py (all except gtk3.py which wasn't tested)
  • Add snippets in the examples/snippets/ directory
  • Update screenshot.py example to pass switches to disable GPU acceleration which is not supported in OSR mode and can cause issues if enabled. Also pass additional Chromium switches to enhance performance. (#463)
  • Do not call WindowUtils.OnSize function which can sometimes cause app hanging during window resize event. Call instead the new WindowUtils.UpdateBrowserSize function. Except when you use the pywin32.py example, in such case WindowUtils.OnSize must be called. (#463)
  • Known issue: qt.py pyqt4 and gtk2.py examples can sometimes hang app during window resize (rare, but happens from time to time)
  • Update unit tests and add OSR unit test
  • The cefpython57 branch was used as a base for the cefpython49-winxp branch and thus it comes with all the new build tools, fixes and new examples
  • Upstream CEF prebuilt binaries for this release are available in release tagged v49-upstream.

Known issues

  • Enter key doesn't work in Developer Tools window in the wxpython.py example. Enter key works fine when running the hello_world.py example, so this is only an issue with wxPython. To resolve it create either a devtools.py script or use remote debugging and open DevTools in a Google Chrome browser. The devtools.py script is basically a hello_world.py example with one change to url, set it to http://127.0.0.1:1234/. In your wxpython app set ApplicationSettings.remote_debugging_port to 1234 and open DevTools popup by executing subprocess.Popen([sys.executable, "devtools.py"]). The "Developer Tools" from mouse context menu won't work, however you can implement a custom context menu in javascript.

v49-upstream

5 years ago

With these upstream CEF prebuilt binaries and libraries you can build CEF Python from sources in less than 10 minutes. See the Build instructions document for details.

Prebult binaries and libraries were created according to build instructions with the automate.py script by running the automate.py --prebuilt-cef command.

Notes:

  • The cefclient and cefsimple sample applications require Vista or later. It should be possible to build these to support XP as well, but it would require modifications to CEF's cmake/ninja configuration in the cef_binary archives. If there are still issues on XP then see upstream Issue #1787.
  • The cef_binary archives contain only Release mode binaries
  • CEF binaries for v49 (branch 2623) are not available anymore in upstream CEF (neither cefbuilds nor Spotify), as this is an old unsuported branch

v66.0

5 years ago

Installation

You can install pypi/cefpython3 package using pip tool. On Linux pip 8.1+ is required. You can also download packages for offline installation that are attached to this GitHub release. Command to install with pip:

pip install cefpython3==66.0

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 / 3.7 Yes Yes Windows 7+
Linux 2.7 3.4 / 3.5 / 3.6 / 3.7 Yes Yes Debian 8+, Ubuntu 14.04+,
Fedora 24+, openSUSE 13.3+
Mac 2.7 3.4 / 3.5 / 3.6 / 3.7 No Yes MacOS 10.9+

Thanks to the sponsor

Many thanks to Lampix for sponsoring this release. Lampix is the first hardware and software solution that turns any surface into a smart, augmented reality or interactive surface. Please visit its website here: https://lampix.com/

lampix360

Changes and notes for this release

  • Update to CEF/Chromium 66.0.3359.181. (#403) See also the "Notable changes in upstream CEF" section further down on this release page.
  • Support for Python 3.7 (#433)
  • Debian 7 and Ubuntu 12/13 are no more supported due to upstream Chromium/CEF no more supporting these (#401)
  • Add Fedora 24+ and openSUSE 13.3+ to officially supported OSes (#466)
  • Bundle MSVCP dependencies on Windows [msvcp140.dll, msvcp100.dll, msvcp90.dll]. Previously these were not included and it was required for Visual C++ redistributables to be already installed on a system. (#359)
  • Add easy to understand code snippets in the "examples/snippets/" directory. These snippets show how to use various CEF features:
    • javascript_bindings.py - Communicate between Python and Javascript asynchronously using inter-process messaging with the use of Javascript Bindings.
    • javascript_errors.py - Two ways for intercepting Javascript errors.
    • mouse_clicks.py - Perform mouse clicks and mouse movements programmatically.
    • network_cookies.py - Implement interfaces to block or allow cookies over network requests.
    • onbeforeclose.py - Implement interface to execute custom code before browser window closes.
    • ondomready.py - Execute custom Python code on a web page as soon as DOM is ready.
    • onpagecomplete.py - Execute custom Python code on a web page when page loading is complete.
  • There were multiple changes in upstream CEF that are backward incompatible and thus require modifications to your code. See the Migration Guide document or see the "Breaking changes.." section further down on this release page.
  • A known issue: qt.py PyQt4 and PySide examples crash during browser creation on Linux. This is an upstream CEF issue and needs to be resolved in upstream first. (#452) PyQt5 example works fine on Linux.
  • A known issue: tkinter.py example hangs on exit and during window resize with Tk 8.5 on Windows (#441)
  • A known issue: "blob_storage/" and "webrtc_event_logs/" directories are created in current working directory when using in-memory cache (#432)
  • Add accessibility support. See Browser.SetAccessibilityState for both windowed and OSR browsers. See AccessibilityHandler for OSR browsers. (#449)
  • Add DisplayHandler.OnLoadingProgressChange
  • Support for loading certificate revocation lists. See cefpython.LoadCrlSetsFile for loading the existing "Certificate Revocation Lists" file that is managed by Google Chrome
  • Add RequestHandler.CanGetCookies and CanSetCookie to allow or block cookies over network requests
  • Add Browser.GetImage method to get browser visible contents as image. Available only on Linux. (#427)
  • Add Browser.Invalidate to force frame to be painted in OSR mode
  • Add CookieManager.GetBlockingManager
  • Add CookieManager.FlushStore to flush cookies to disk manually
  • Add BrowserSettings.inherit_client_handlers_for_popups option. This is enabled by default and makes client handlers/callbacks to be inherited by popup browsers created implicitilly e.g. via "window.open" in js
  • Handle more keyboard shortcuts on Mac and fix double Paste bug (#161)
  • Fix cookies not flushed to disk when closing app immediately (#365)
  • Fix High DPI support on Windows. Support High DPI in the wxpython.py example (#399)
  • Add DpiAware.Scale which is reliable with any DPI settings. The DpiAware.CalculateWindowSize method is deprecated. Fix DpiAware.GetSystemDpi. (#398)
  • Add DragData Image APIs on Windows and Mac (Linux was already supported): GetImage, GetImageHotspot, HasImage (#251)
  • Fix crashes on websites with multiple frames when closing app during loading (#431)
  • Fix two crashes when closing app immediately during initial loading (#454, #455)
  • Fix Request.SetPostData and GetPostData not working. All strings are expected to be byte strings. (#228)
  • Fix window glitchiness during initial loading on Mac by setting setWantsLayer:YES in the wxpython.py example (#371)
  • Fix process sometimes hanging when exiting app in the qt.py PySide example (#360)
  • Fix exception message sometimes not printed on Mac, an issue with cef.ExceptHook (#382)
  • Fix crash when closing print dialog on Linux (#435)
  • Fix creation of "GPUCache/" directory when using in-memory cache (#419)
  • Add RenderHandler.OnTextSelectionChanged
  • Add Browser.SetAutoResizeEnabled
  • Add DisplayHandler.OnAutoResize
  • Support linking to GTK 3 when building CEF from sources and when building cefpython module. Patch is available in comments in Issue #446.
  • Add --enable-profiling and --enable-linetracing flags to build.py tool to allow for profiling cefpython code with cProfile module (#424)
  • Add --no-depot-tools update flag to automate.py to allow of building old unsupported versions of Chromium. Update build instructions, see for more details. (#428)
  • Add Browser.GetSetting
  • Add Browser.HasDevTools
  • Add cefpython.SetGlobalClientHandler
  • Add cefpython.GetBrowserByIdentifier
  • Add cefpython.GetDataUrl
  • Linux patch that fixed HTTPS cache problems on pages with certificate errors was disabled, see here
  • Add unit tests for off-screen rendering mode, see osr_test.py (#59)
  • See Milestone v66 for all issues related with this release
  • Upstream CEF prebuilt binaries for this release are available in release tagged v66-upstream.

Breaking changes that are described in details in Migration Guide document

  • Changes to Mac apps that integrate into existing message loop (Qt, wxPython), see here
  • RequestHandler.OnBeforeBrowse has a new param 'user_gesture', see here
  • LifespanHandler.OnBeforePopup is now called on UI thread, see here
  • DisplayHandler.OnConsoleMessage has a new param 'level', see here
  • RequestHandler.GetCookieManager not getting called in some cases, see here
  • cef.Request.Flags changed, AllowCachedCredentials was removed and others were added, see here
  • Window transparency changes, see here
  • Threads removed: TID_DB, TID_PROCESS_LAUNCHER, TID_CACHE, see here
  • BrowserSettings.javascript_open_windows_disallowed option was removed, see here

Notable changes in upstream CEF

  • Windows: Add per monitor DPI support (upstream #2313)
  • Add support for WebRTC screen sharing (upstream #1065)
  • Fix IndexedDB quota (upstream #2070)
  • OSR: Fix GPU->CPU readback performance issues (upstream #2046)
  • Enable Brotli encoding (upstream #2303)
  • Support for SwiftShader, a high-performance CPU-based implementation of the OpenGL ES and Direct3D 9 graphics APIs
  • Remove geolocation API support (upstream #2380)
  • Add support for component=shared_library builds (upstream #1617)
  • Add support for automate-git.py --fast-update (upstream #2435)
  • Support for Chrome Extensions with partial API support (not yet exposed to cefpython, see #457)
  • Add CefServer API for handling HTTP/WebSocket requests (not yet exposed to cefpython, see #445)
  • Add support for V8 ArrayBuffers (not yet exposed to cefpython, see #450)

v66-upstream

5 years ago

This release will be updated with new binaries with time.

Master branch is currently v66. There is no cefpython66 branch at the moment.

With these upstream CEF prebuilt binaries and libraries you can build CEF Python from sources in less than 10 minutes. See the Build instructions document for details.

Built according to build instructions with the automate.py script. On Windows and Mac binaries from Spotify Automated Builds ("Standard distribution") were used and then ran automate.py --prebuilt-cef. On Linux CEF was build from sources by running automate.py --build-cef.

LINUX NOTE: Linux binaries were built on Ubuntu 14.04 64-bit. These binaries contain libcef.so with minimal symbols so that you can debug CEF with gdb and get a meaningful stack trace. Currently cefpython v54-v66 and later distribution packages on PyPI and on GH releases ship a stripped version of libcef.so with no symbols at all (Issue #262). Download archive from this release and switch libcef.so in your already installed package to allow for debugging CEF.

CEF Python 66.0:

  • cef66_3.3359.1774.gd49d25f_win32.zip (Windows 32-bit)
  • cef66_3.3359.1774.gd49d25f_win64.zip (Windows 64-bit)
  • cef66_3.3359.1774.gd49d25f_linux32.zip (Linux 32-bit)
  • cef66_3.3359.1774.gd49d25f_linux64.zip (Linux 64-bit)
  • cef66_3.3359.1774.gd49d25f_mac64.zip (Mac 64-bit)

v57.1

6 years ago

This release fixes some issues on Windows, including High DPI support. Version v57.1 is released only for Windows. See also v57.0 release which is available for all platforms.

Installation

You can install pypi/cefpython3 package using pip tool. Command to install with pip:

pip install cefpython3==57.1

If you get an error when importing the cefpython3 package on Windows then see this section in the Knowledge Base document: ImportError: DLL load failed (Windows).

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 Yes Yes Windows 7+

Changes and notes for this release

v57.0

6 years ago

Installation

You can install pypi/cefpython3 package using pip tool. On Linux pip 8.1+ is required. You can also download packages for offline installation that are attached to this GitHub release. Command to install with pip:

pip install cefpython3==57.0

If you get an error when importing the cefpython3 package on Windows then see this section in the Knowledge Base document: ImportError: DLL load failed (Windows).

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 Yes Yes Windows 7+
Linux 2.7 3.4 / 3.5 / 3.6 Yes Yes Debian 7+ / Ubuntu 12.04+
Mac 2.7 3.4 / 3.5 / 3.6 No Yes MacOS 10.9+

Changes and notes for this release

  • Update to Chromium 57.0.2987.133 (#341)
  • Support for PyQt5 in the qt.py example (#325)
  • GTK 3 example gtk3.py is now back working fine with this release (#261)
  • See Milestone v57 for all issues related with this release
  • Upstream CEF prebuilt binaries for this release are available in release tagged v57-upstream

Notable changes in upstream CEF:

  • Fix print to PDF - upstream #2129
  • Add PDF print scale factor setting - upstream #2106
  • Fix DevTools inspect element at - upstream #2115
  • Fix opening of popups from sandboxed iframes - upstream #2121
  • Fix crash when navigating back to file url - upstream #2125
  • Don't call OnLoadEnd for same page navigations - usptream #1852
  • Persist DevTools preferences with CefSettings.persist_user_preferences - upstream #2077
  • Fix crash on shutdown with multi_threaded_message_loop and extensions enabled on Windows - upstream #1680
  • Fix OSR popup transparency - upstream #2099

v57-upstream

6 years ago

With these upstream CEF prebuilt binaries and libraries you can build CEF Python from sources in less than 10 minutes. See the Build instructions document for details.

Built according to build instructions with the automate.py script. On Windows and Mac binaries from Spotify Automated Builds ("Standard distribution") were used and then ran automate.py --prebuilt-cef. On Linux CEF was build from sources by running automate.py --build-cef.

LINUX NOTE: Linux binaries were built on Ubuntu 14.04 64-bit. These binaries contain libcef.so with minimal symbols so that you can debug CEF with gdb and get a meaningful stack trace. Currently cefpython v54 and later distribution packages on PyPI and on GH releases ship a stripped version of libcef.so with no symbols at all (Issue #262). Download archive from this release and switch libcef.so in your already installed package to allow for debugging CEF.

This release will be updated with new binaries with time.

CEF Python 57.0:

  • cef57_3.2987.1601.gf035232_linux64.zip (Linux 64-bit)
  • cef57_3.2987.1601.gf035232_linux32.zip (Linux 32-bit)
  • cef57_3.2987.1601.gf035232_mac64.zip (Mac 64-bit)
  • cef57_3.2987.1601.gf035232_win32.zip (Windows 32-bit)
  • cef57_3.2987.1601.gf035232_win64.zip (Windows 64-bit)

v56.2

6 years ago

Installation

You can install with pip. On Linux pip 8.1+ is required. You can also download packages for offline installation that are attached to this GitHub release.

pip install cefpython3==56.2

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 Yes Yes Windows 7+
Linux 2.7 3.4 / 3.5 / 3.6 Yes Yes Debian 7+ / Ubuntu 12.04+
Mac 2.7 3.4 / 3.5 / 3.6 No Yes MacOS 10.9+

Changes and notes for this Release

  • Complete Tutorial doc (#256)
  • Complete Migration guide doc (#293)
  • Support wxPython 4.0 in the wxpython.py example (#348, #349, #350)
  • Support wxPython 3.0 in the wxpython.py example on Linux (all platforms now supported) (#349)
  • Fix false positives by Anti-virus software on Windows (#342)
  • Support setting window title in hello_world.py example (#339)
  • Do not call client handlers nor javascript bindings in DevTools windows (#344)
  • Fix page printing in hello_world.py and tkinter_.py examples on Linux (#340)
  • Fix race condition in gtk2.py example (#347)
  • Fix: ApplicationSettings.debug option causing GUI stuttering on Windows 10 when calling Python functions from JS (#277)
  • Fix logging of command line string for child processes (#351)
  • See Milestone v56 for all issues related with this release
  • Upstream CEF prebuilt binaries for this release are available in release tagged v56-upstream

v56.1

7 years ago

Installation

You can install with pip. On Linux pip 8.1+ is required. You can also download packages for offline installation that are attached to this GitHub release.

pip install cefpython3==56.1

Support matrix

OS Py2 Py3 32bit 64bit Requirements
Windows 2.7 3.4 / 3.5 / 3.6 Yes Yes Windows 7+
Linux 2.7 3.4 / 3.5 / 3.6 Yes Yes Debian 7+ / Ubuntu 12.04+
Mac 2.7 3.4 / 3.5 / 3.6 No Yes MacOS 10.9+

Changes and notes for this Release

  • Many thanks to ClearChat Inc. for sponsoring v55/v56 releases for all platforms
  • Initial unified release for all platforms / pythons / architectures (#335)
  • Chromium version 56.0.2924.76 (#276)
  • Python 3 support (#121)
  • 64-bit support on Windows (#316)
  • 32-bit support on Linux (#327)
  • Provide default implementation for js and file dialogs on Linux (#241)
  • Fix 'BadWindow' x11 errors in wxpython.py example (#334)
  • Fix segmentation fault during release of shared request context (#333)
  • Fix Browser references living forever which could cause issues when exiting app (#330)
  • See Milestone v56 for all issues related with this release
  • Upstream CEF prebuilt binaries for this release are available in release tagged v56-upstream