Skip to main content

The hackable IDE, built with Python3, PyQt5 and pyQode

Project description

Latest PyPI version Number of PyPI downloads Travis-CI Build Status Appveyor Build Status API Coverage Code issues

Join the chat at


The hackable IDE, built with Python3, PyQt5 and pyQode.

HackEdit is an open platform to build an Integrated Development Environment.

This repository contains the core application which setups a basic IDE with a plugin infrastructure and an API that you can use to enhance the application and make it a full stack IDE for a particular technology.

The name stands from Hackable Editor, but there is another meaning: once you’ve contributed to the project or made your own plugin, you can say that you’ve hacked it.

Note that the core application is actually pretty dumb, you need to install some Plugins to make something out of HackEdit!


HackEdit is in ALPHA. Expects to find bugs and features not implemented.

At the moment there is no user manual, no documentation, no Windows installer, no linux packages.

All those will come with future releases.

The API is not considered stable and we don’t recommend to hack in HackEdit. It’s probably better to wait for the beta release, at that point, there will be more resources available.

For now, just give it a try and report any issue you encountered, give your feedback and submit any idea that you have.

You can discuss about HackEdit on Gitter.



HackEdit is released under the GPL version 2.

We are using the Hack font which is licensed under the Hack Open Font License v2.0 and the Bitstream Vera License and the Breeze icon theme, licensed under the LGPL.


The core application provides the following features:

  • cross platform: works on Linux, OS X and Windows

  • coded in 100% pure Python, using the PyQt GUI toolkit

  • plugin architecture with customisable workspaces: you can choose exactly what plugins to use for a specific project

  • multi-window IDE with multiple undo stack

  • splittable editor tabs

  • supports multiple programming languages through plugins (at the momement we have support for Python and COBOL)

  • configurable interface (custom shortcuts, native theme or dark theme,…)

  • a clean and simple high level API for interacting with the IDE

  • core plugins included: find/search in directories, editor outline view, simple terminal widget for running commands, open documents view, image viewer


Main dependencies:

Optional dependencies:

  • babel (to see translated language name instead of the language code in the application preferences)

  • PyGObject and libnotify on GNU/Linux for nicer notifications on gtk based desktops.

The following dependencies are bundled with the hackedit package:


Plugins are regular python packages that install one or more setuptools entry-points.

You can install plugins for HackEdit either by using the builtin plugin manager interface or by using the python package manager: pip.

Here is the list of official plugins (made by the core team):

Note: the plugin manager interface has not been implemented yet, you need to use pip to install the plugins

Here is how you can install the official plugins:

pip3 install hackedit-python hackedit-cobol


General instructions:

Install the following dependencies using your favorite package manager:

  • Python 3

  • pip (the python package manager) for Python3

  • PyQt5 for python3 .

Use pip to install hackedit and its python dependencies:

pip3 install hackedit --pre --upgrade

To install the latest development version, run the following command instead:

pip3 install git+ --upgrade

Once you’ve installed the core application, you will want to install some Plugins.



  1. Install pip, setuptools and pyqt5:

    sudo apt-get install python3-setuptools python3-pip python3-pyqt5 python3-pyqt5.qtsvg git
  2. Install optional dependencies (for nicer notifications on Gnome Shell 3.x/Unity):

    sudo apt-get install python3-gi libnotify-dev
  3. Install hackedit:

    sudo pip3 install hackedit --pre --upgrade --install-option="--install-layout=deb"
  4. If you’re using a gtk based desktop, update the gtk icon cache:

    sudo gtk-update-icon-cache /usr/share/icons/hicolor/
  5. Run hackedit:



  1. Install pip, setuptools and pyqt5 using pacman:

    sudo pacman -S python-pyqt5 python-pip python-setuptools qt5-svg git
  2. Install optional dependencies (for nicer notification on Gnome Shell 3.x):

    sudo pacman -S libnotify python-gobject
  3. Install hackedit:

    sudo pip3 install hackedit --pre --upgrade
  4. If you’re using a gtk based desktop, update the gtk icon cache:

    sudo gtk-update-icon-cache /usr/share/icons/hicolor/
  5. Run hackedit:



  1. Install Python 3.4

  2. Install PyQt5 for Python 3.4

  3. Open a command line prompt and run the following commands:

  • Install hackedit using pip:

    pip install hackedit --pre --upgrade
  • Run hackedit in GUI mode:

  • Or, run hackedit in console mode:


Note: In the future, there will be a windows installer with a native launcher that your can pin to you taskbar.


  1. Install Homebrew

  2. Install Python3 and PyQt5 using:

    brew install pyqt5 --with-python3
  3. Install hackedit:

    pip3 install hackedit --pre --upgrade
  4. Run hackedit from the terminal:


Note: in the future, you will have a native launcher that you can keep in your dock.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hackedit-1.0a2.tar.gz (9.9 MB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page