/cefpython

Python bindings for the Chromium Embedded Framework.  ★ Forum:

Primary LanguageC++OtherNOASSERTION

CEF Python

IMPORTANT NOTES:

  • Master branch is a work in progress. The last stable release is in the cefpython31 branch. Up-to-date API docs for the cefpython31 branch can be viewed in commit 169a1b2.
  • Repository rewritten on 2016-02-15 to reduce its size. Please clone it again.

Table of contents:

Introduction

CEF Python is an open source project founded by Czarek Tomczak in 2012 to provide python bindings for the Chromium Embedded Framework. See the growing list of applications using CEF on wikipedia. Examples of embedding CEF browser are available for many popular GUI toolkits including: wxPython, PyGTK, PyQt, PySide, Kivy, Panda3D and PyWin32.

Some use cases for CEF:

  • Embed a web browser control with great HTML5 support (based on Chromium)
  • Use it to create a HTML5 based GUI in an application. This can act as a replacement for GUI toolkits like wxWidgets/Qt/Gtk. For native communication between javascript and python use javascript bindings. Another option is to run an internal python web server and use websockets/XMLHttpRequest for js<>python communication. This way you can write a desktop app in the same way you write web apps.
  • Render web content off-screen in applications that use custom drawing frameworks. See the Kivy and Panda3D examples.
  • Use it for automated testing of existing web applications. Use it for web scraping, or as a web crawler or other kind of internet bots.

Compatibility

  • Supported Python versions: 2.7. For Python 3.4 / 3.5 support see Issue #121.
  • Supported platforms: Windows, Linux, Mac. Both 32bit and 64bit binaries are available for all platforms.

Downloads

On Win/Mac you can install from PyPI using this command: pip install cefpython3.

New releases RSS/Atom feed
To be notified of new releases subscribe to this Atom feed.

Support

  • Documentation:
  • Ask questions and report problems on the Forum
  • Please do not ask questions in the Issue Tracker

Changes in API during updates

CEF Python depends on CEF and API breaks are inevitable when updating to a newer CEF. When updating cefpython to a new version go to the GitHub Releases page and check release notes for all the releases that appeared between your old version and the new version. Look for lists named "Changes in API that break backward compatibility".

Donate

If you would like to support general CEF Python development efforts by making a donation see the Donations wiki page.