Skip to main content

"A TC Graphics style like Graphics Library"

Project description

A Borland Graphics Interface like Grahics library for python

Borland Graphics Interface, also known as Turbo C Graphics, is an easy-to-use graphics library bundled with Turbo C/Turbo C++/Borland C++.

Because it is easy to learn and use, it is very good for using for kids and beginners to learn basic programming , computer graphics.

Sample program

from easygraphics import *

def mainloop():
    x = 0;

    while is_run():
        x = ( x + 1 ) % 440;
        draw_ellipse(x + 100, 200, 100, 100);

init_graph(640, 480)

Special Thanks

Some code is taken from easygui_qt and qtutils, thanks a lot!



  • fix package error in

  • change turtle’s default speed to 10


  • add: move_arc() function to move turtle in arc


  • add: set_fill_rule() / get_fill_rule() function, to control how the polygons are filled.

  • add: FillRule consts

  • Finish chinese translations for apis.

  • fix: filling glitches in end_fill()


  • Revert 0.9.11 ‘s angle system change. Keep arc/pie/chord compatible with BGI.

  • add show_image() function, to display drawings in the jupyter qtconsole or notebook.

  • add show_image_dialog() function, to display a qimage in the dialog.


  • fix: now arc/pie/chord drawing functions has the same angle system with rotate()


  • add: easygraphics.turtle package which implements the turtle graphics.

  • change: now rotate()/skew() can transform around any point

  • change: now reflect() can using lines not passing the origin as the reflecting axis.


  • add set_flip_y() to make y-axis grows bottom-up. (use reflect() will make texts get reflected too.)

  • fix: legacy and music subpackage not packed in the binary distributions.


  • fix: delay_fps() now work properly in Manual render mode

  • finish chinese translations for tutorials


  • add: load_image() to load image from files

  • add: to_alpha() to make a transparently color

  • change: use Source Over as the default composition mode (the same with Qt)

  • more tutorials

  • add: show_table() to display table infomation in a dialog

  • change: rename mouse_msg() to has_mouse_msg()

  • change: rename kb_hit() to has_kb_hit()

  • change: rename get_mouse() to get_mouse_msg()

  • change: rename kb_msg() to has_kb_msg()

  • finish the tutorials.


  • add: reflection (mirror/flip) and shear (skew) operations.


  • add: headless mode support (no graphics window mode, use it to draw pictures)


  • add: easygraphics.legacy package to better compatible with old BGI programs.

  • add: get_click() function to get mouse click event

  • change: background implementation to make set_background_color() work correctly

  • add: now can use name (“red”), color string (“#ff0000), integer color rgb value (0xff0000)

    in set_color(), set_fill_color(), set_background_color() functions

  • add: cymk() and hsv() to get CYMK and HSV format color

  • more tutorials


  • fix : Readme


  • add: easygraphics functions can run in the interactive mode (eg. IPython) correctly

  • add: dialogs (in easygraphics.dialog package, adopted from

    easygui_qt )

  • add: create and save to/from file

  • add image transforms (translate/rotate/scale)

  • add view port support

  • add sphinx docs

  • upload docs to


  • add readme text

  • add delay_fps() and rgb() functions



  • First release on github

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

easygraphics-0.9.15.tar.gz (52.2 kB view hashes)

Uploaded Source

Built Distribution

easygraphics-0.9.15-py3-none-any.whl (73.2 kB view hashes)

Uploaded Python 3

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