April 5, 2013
pygi-aio-3.4.2rev11.7z (binary only, for python 2.6, 2.7 and 3.3)
pygi-aio-3.4.2rev10_opt.7z (locales, docs, gi, devel files, other data)
Warning: I just realize that python 3.3 is using msvc 2010 (msvcr100.dll), while my build is using msvcr90.dll, A more proper build will need complete recompile. Oops.Content:
gobject-introspection-1.34.2
*gtk 3.6.4 + adwaita theme [comment out gtk\etc\gtk-3.0\settings.ini to enable]
*glib 2.34.3 + networking (libproxy 0.4.11)
*pango 1.32.6 (harfbuzz 0.9.12, graphite2 1.2.0)
*cairo 1.12.10 (pixman 0.28.2) + GL (glew) + xml
fontconfig 2.10.91
freetype 2.4.10
*gdk-pixbuf 2.26.4 (jasper) + tiff + svg + wmf + psd + webp, alternative version with gdiplus available
*champlain 0.12.3 + *memphis 0.2.3
libxml2 2.9.0
dbus 1.6.8 + dbus-glib 0.100
enchant 1.6.0 + aspell English + hunspell [no dict] + voikko
geoclue 0.12.99
*geocode-glib 0.99.0
*telepathy-glib 0.20.1
*gdl 3.6.2
*clutter/cogl 1.12.2
*clutter-gst 2.0.0
*clutter-gtk 1.4.2
*glade 3.14.2
devhelp 3.6.1
*gtksourceview 3.6.3
*gtkspell3 3.0
*libpeas 1.6.2
*webkitgtk 1.10.2 (libxslt 1.1.28, sqlite 3.7.13)
*librsvg 2.36.4 (libcroco 0.6.8)
*libgda 5.03 (postgres 9 client, mdbtool) + jdbc + sqlite + bdb
*poppler 0.22.1 (openjpeg, lcms2)
*gstreamer 1.0.5 + *base + good + libav + ugly + bad
*gegl 0.2.0 + *babl 0.1.6 + *gegl-gtk3
gnutls 2.12.22 + gcrypt 1.5 + gpgerror
*libsoup-2.40.3, libsoup-gnome
*json-glib 0.14.2
*Gtranslator 2.91.6
*Gedit 3.6.2
*Gucharmap 3.6.1
*GooCanvas 2.0.1
*libGoffice 0.10.0
*libLasem 0.4.1
*osm-gps-map 0.8git
*Vips 7.30
*GVnc 0.5.1, *GtkVnc
* GExiv2
January 27, 2013
September 15, 2012
Experimental builds:
PyGI 3.3.91 for python 2.6, 2.7, 3.3 for Windows 32bit/64bit
GIRepo and typelibs
Runtime win32 Bundle
Runtime win64 bundle (GTK2/3 only)
Gobject Introspection 1.33.10 (static build) for python 2.6/2.7
These are PyGI, do not confused it with PyGTK see http://live.gnome.org/PyGObject/IntrospectionPorting
Example available at http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Minimal debug environment available (with mypaint as test-case): http://opensourcepack.blogspot.com/2013/01/mypaint-and-pygi.html
For comments:
Original Post
Still running gtk2? try:
Conservative PyGTK AIO or PyGTK 64bit
cairo-demo.py:
#!/usr/bin/env python
"""
Based on cairo-demo/X11/cairo-demo.c
"""
import cairo
from gi.repository import Gtk
SIZE = 30
def triangle(ctx):
ctx.move_to(SIZE, 0)
ctx.rel_line_to(SIZE, 2 * SIZE)
ctx.rel_line_to(-2 * SIZE, 0)
ctx.close_path()
def square(ctx):
ctx.move_to(0, 0)
ctx.rel_line_to(2 * SIZE, 0)
ctx.rel_line_to(0, 2 * SIZE)
ctx.rel_line_to(-2 * SIZE, 0)
ctx.close_path()
def bowtie(ctx):
ctx.move_to(0, 0)
ctx.rel_line_to(2 * SIZE, 2 * SIZE)
ctx.rel_line_to(-2 * SIZE, 0)
ctx.rel_line_to(2 * SIZE, -2 * SIZE)
ctx.close_path()
def inf(ctx):
ctx.move_to(0, SIZE)
ctx.rel_curve_to(0, SIZE, SIZE, SIZE, 2 * SIZE, 0)
ctx.rel_curve_to(SIZE, -SIZE, 2 * SIZE, -SIZE, 2 * SIZE, 0)
ctx.rel_curve_to(0, SIZE, -SIZE, SIZE, - 2 * SIZE, 0)
ctx.rel_curve_to(-SIZE, -SIZE, - 2 * SIZE, -SIZE, - 2 * SIZE, 0)
ctx.close_path()
def draw_shapes(ctx, x, y, fill):
ctx.save()
ctx.new_path()
ctx.translate(x + SIZE, y + SIZE)
bowtie(ctx)
if fill:
ctx.fill()
else:
ctx.stroke()
ctx.new_path()
ctx.translate(3 * SIZE, 0)
square(ctx)
if fill:
ctx.fill()
else:
ctx.stroke()
ctx.new_path()
ctx.translate(3 * SIZE, 0)
triangle(ctx)
if fill:
ctx.fill()
else:
ctx.stroke()
ctx.new_path()
ctx.translate(3 * SIZE, 0)
inf(ctx)
if fill:
ctx.fill()
else:
ctx.stroke()
ctx.restore()
def fill_shapes(ctx, x, y):
draw_shapes(ctx, x, y, True)
def stroke_shapes(ctx, x, y):
draw_shapes(ctx, x, y, False)
def draw(da, ctx):
ctx.set_source_rgb(0, 0, 0)
ctx.set_line_width(SIZE / 4)
ctx.set_tolerance(0.1)
ctx.set_line_join(cairo.LINE_JOIN_ROUND)
ctx.set_dash([SIZE / 4.0, SIZE / 4.0], 0)
stroke_shapes(ctx, 0, 0)
ctx.set_dash([], 0)
stroke_shapes(ctx, 0, 3 * SIZE)
ctx.set_line_join(cairo.LINE_JOIN_BEVEL)
stroke_shapes(ctx, 0, 6 * SIZE)
ctx.set_line_join(cairo.LINE_JOIN_MITER)
stroke_shapes(ctx, 0, 9 * SIZE)
fill_shapes(ctx, 0, 12 * SIZE)
ctx.set_line_join(cairo.LINE_JOIN_BEVEL)
fill_shapes(ctx, 0, 15 * SIZE)
ctx.set_source_rgb(1, 0, 0)
stroke_shapes(ctx, 0, 15 * SIZE)
def main():
win = Gtk.Window()
win.connect('destroy', lambda w: Gtk.main_quit())
win.set_default_size(450, 550)
drawingarea = Gtk.DrawingArea()
win.add(drawingarea)
drawingarea.connect('draw', draw)
win.show_all()
Gtk.main()
if __name__ == '__main__':
main()