<commit_before># LGI

LGI is gobject-introspection based dynamic Lua binding to GObject
based libraries.  It allows using GObject-based libraries directly
from Lua.

Licensed under
[MIT-style](http://www.opensource.org/licenses/mit-license.php)
license, see LICENSE file for full text.

Home of the project is on [GitHub](http://github.com/pavouk/lgi).

LGI is tested and compatible with standard Lua 5.1, Lua 5.2 and
LuaJIT2.  Compatibility with other Lua implementations is not tested
yet.

If you need to support pre-gobject-introspection GTK (ancient GTK+ 2.x
releases), use [Lua-Gnome](http://sourceforge.net/projects/lua-gnome/).

## Installation:

In order to be able to compile native part of lgi,
gobject-introspection >= 0.10.8 development package must be installed,
although preferred version is >= 1.30.  The development package is
called `libgirepository1.0-dev` on debian-based systems (like Ubuntu)
and `gobject-introspection-devel` on RedHat-based systems (like Fedora).

Using LuaRocks:

    luarocks install lgi

Alternatively, use make-based installation:

    make
    [sudo] make install [PREFIX=<prefix>] [DESTDIR=<destdir>]

Please note that on BSD-systems you may need to use 'gmake'.

## Usage

See examples in samples/ directory.  Documentation is available in
doc/ directory in markdown format.  Process it with your favorite
Markdown processor if you want to read it in HTML.

## Credits

List of contributors, in no particular order:

- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>

Many other people contributed to what lgi is today, in many forms -
writing patches, reporting bugs, packaging for distributions,
providing ideas, spreading a word...  *Many thanks to all of you!*

## History

### 0.8.0 (02-Jul-2013)

 - new feature: add automatically-generated wrappers for
   do_async()/do_finish() pairs.  Documented as Gio.Async namespace
   functionality.
 - new feature: automatically initialize objects implementing
   Gio.Initable and Gio.AsyncInitable interfaces.
 - new feature: GLib.Error is now handled properly, functions
   returning errors return GLib.Error instances instead of error
   numbers and strings.  This also allows overriding virtual methods
   from Lua which report errors by returning GLib.Error
 - new feature: GLib.Bytes support, adding # operator and 'data'
   property allowing easy use of GLib.Bytes object.  This leads to
   deprecation of seldomly used modifiable buffers extensions.
 - optimization: type attribute caching brings significant speedup of
   method and property lookups.
 - fix: Gtk: override for Gtk.Menu.popup() compatible with new GTK
   annotation.
 - fix: cairo: assorted small fixes of bad signatures, added some
   convenience properties.
 - fix: GLib: add overrides for GLib.MarkupParser
 - fix: Gio: add overrides for Gio.DBus*Info structures
 - fix: Pango: add override for Pango.GlyphString.glyphs array
 - fix: Gdk: Add override inheriting specific Gdk.EventXxx from Gdk.Event<commit_msg>Fix incorrect date in History section of README.md<commit_after># LGI

LGI is gobject-introspection based dynamic Lua binding to GObject
based libraries.  It allows using GObject-based libraries directly
from Lua.

Licensed under
[MIT-style](http://www.opensource.org/licenses/mit-license.php)
license, see LICENSE file for full text.

Home of the project is on [GitHub](http://github.com/pavouk/lgi).

LGI is tested and compatible with standard Lua 5.1, Lua 5.2 and
LuaJIT2.  Compatibility with other Lua implementations is not tested
yet.

If you need to support pre-gobject-introspection GTK (ancient GTK+ 2.x
releases), use [Lua-Gnome](http://sourceforge.net/projects/lua-gnome/).

## Installation:

In order to be able to compile native part of lgi,
gobject-introspection >= 0.10.8 development package must be installed,
although preferred version is >= 1.30.  The development package is
called `libgirepository1.0-dev` on debian-based systems (like Ubuntu)
and `gobject-introspection-devel` on RedHat-based systems (like Fedora).

Using LuaRocks:

    luarocks install lgi

Alternatively, use make-based installation:

    make
    [sudo] make install [PREFIX=<prefix>] [DESTDIR=<destdir>]

Please note that on BSD-systems you may need to use 'gmake'.

## Usage

See examples in samples/ directory.  Documentation is available in
doc/ directory in markdown format.  Process it with your favorite
Markdown processor if you want to read it in HTML.

## Credits

List of contributors, in no particular order:

- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>
- <NAME>

Many other people contributed to what lgi is today, in many forms -
writing patches, reporting bugs, packaging for distributions,
providing ideas, spreading a word...  *Many thanks to all of you!*

## History

### 0.8.0 (02-Jul-2014)

 - new feature: add automatically-generated wrappers for
   do_async()/do_finish() pairs.  Documented as Gio.Async namespace
   functionality.
 - new feature: automatically initialize objects implementing
   Gio.Initable and Gio.AsyncInitable interfaces.
 - new feature: GLib.Error is now handled properly, functions
   returning errors return GLib.Error instances instead of error
   numbers and strings.  This also allows overriding virtual methods
   from Lua which report errors by returning GLib.Error
 - new feature: GLib.Bytes support, adding # operator and 'data'
   property allowing easy use of GLib.Bytes object.  This leads to
   deprecation of seldomly used modifiable buffers extensions.
 - optimization: type attribute caching brings significant speedup of
   method and property lookups.
 - fix: Gtk: override for Gtk.Menu.popup() compatible with new GTK
   annotation.
 - fix: cairo: assorted small fixes of bad signatures, added some
   convenience properties.
 - fix: GLib: add overrides for GLib.MarkupParser
 - fix: Gio: add overrides for Gio.DBus*Info structures
 - fix: Pango: add override for Pango.GlyphString.glyphs array
 - fix: Gdk: Add override inheriting specific Gdk.EventXxx from Gdk.Event
{'fraction_non_alphanumeric': 0.07897774113767518, 'fraction_numerical': 0.007914262159934049, 'mean_word_length': 4.101766190075693, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1901798', 'n_tokens_mistral': 1835, 'n_tokens_neox': 1750, 'n_words': 736}