CEF Python
CEF Python is an open source project founded by Czarek Tomczak in 2012 to provide Python bindings for the Chromium Embedded Framework (CEF). The Chromium project focuses mainly on Google Chrome application development while CEF focuses on facilitating embedded browser use cases in third-party applications. Lots of applications use CEF control, there are more than 100 million CEF instances installed around the world. There are numerous use cases for CEF:
- Use it as a modern HTML5 based rendering engine that can act as a replacement for classic desktop GUI frameworks. Think of it as Electron for Python.
- Embed a web browser widget in a classic Qt / GTK / wxPython desktop application
- Render web content off-screen in applications that use custom drawing frameworks
- Use it for automated testing of web applications with more advanced capabilities than Selenium web browser automation due to CEF low level programming APIs
- Use it for web scraping, as a web crawler or other kind of internet bots
CEF Python also provides examples of embedding CEF for many Python GUI frameworks such as PyQt, wxPython, PyGTK, PyGObject, Tkinter, Kivy, Panda3D, PyGame, PyOpenGL, PyWin32, PySide and PySDL2.
Install
You can install pypi/cefpython3 package using pip tool. On Linux pip 8.1+ is required. You can also download packages for offline installation available on the GitHub Releases pages. Command to install with pip:
pip install cefpython3==66.0
Tutorial
See the Tutorial.md document.
Examples
See the README-examples.md and README-snippets.md documents.
Support
- Ask questions and report problems on the Forum
- Supported examples are listed in the README-examples.md file
- Documentation is in the docs/ directory:
- Build instructions
- Contributing code
- Knowledge Base
- Migration guide
- Tutorial
- API reference is in the api/ directory:
- API categories
- API index
- Additional documentation is available in Issues labelled Knowledge Base
- To search documentation use GitHub "This repository" search at the top. To narrow results to documentation only select "Markdown" in the right pane.
- You can vote on issues in the tracker to let us know which issues are important to you. To do that add a +1 thumb up reaction to the first post in the issue. See Most popular issues sorted by reactions.
Releases
Information on planned new and current releases, supported platforms, python versions, architectures and requirements. If you want to support old operating systems then choose the v31 release.
Next release
- To see planned new features or bugs to be fixed in the near future in one of next releases, see the next release label in the tracker
- To see planned new features or bugs to be fixed in further future, see the next release 2 label in the tracker
Latest release
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+) |
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+ |
These platforms are not supported yet:
- ARM - see Issue #267
- Android - see Issue #307
v49 release (WinXP/Vista)
OS | Py2 | Py3 | 32bit | 64bit | Requirements |
---|---|---|---|---|---|
Windows | 2.7 | 3.4 | Yes | Yes | Windows XP+ |
- Install with command:
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 messageNo matching distribution found for cefpython3==49.0
. This happens because 49.0 release occured after 57.0 and 66.0 releases. - Downloads are available on GitHub Releases tagged v49.0.
- See Migration guide document for changes in this release
- 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
v31 release (old systems)
OS | Py2 | Py3 | 32bit | 64bit | Requirements |
---|---|---|---|---|---|
Windows | 2.7 | No | Yes | Yes | Windows XP+ |
Linux | 2.7 | No | Yes | Yes | Debian 7+ / Ubuntu 12.04+ |
Mac | 2.7 | No | Yes | Yes | MacOS 10.7+ |
Additional information for v31.2 release:
- On Windows/Mac you can install with command:
pip install cefpython3==31.2
- Downloads are available on the GitHub Releases page tagged v31.2.
- API reference is available in revision 169a1b2
- Other documentation can be downloaded by cloning the cefpython.wiki repository:
git clone [email protected]:cztomczak/cefpython.wiki.git