Skip to main content

An implementation of some functionalities of gobject/glib/gio in pure python, but adding a lot of new features.

Project description

pygel
=====

*pygel* is a pure-python event loop library that works on *Python 2.7+*, *Python 3.4+* and PyPy as well

*pygel* implements its own event loop library from scratch using [socketqueue](http://github.com/caetanus/socketqueue/)

it was initially based on pygtk2/gobject interfaces but has gained its own life and its own interfaces and the pygtk2/gobject is no longer supported anymore

it can interface with another event libraries as Qt4, Qt5, Gi(work in progress), pygtk2(work in progress)

in some level it mimicks single flow application in some methods as: *sleep*, *selector* and *@threaded_wrapper*

A more deatailed documentation is in progress.


Usage Example
---------------------


```python

"""
example using pygel
"""

import socket
from gel import Gel

reactor = Gel()
socket_server = socket.socket()
socket_server.bind(("", 12345))
socket_server.listen()
my_socket = socket.socket()
my_socket.connect(socket_server.getsockname())
connection, _ = socket_server.accept()

def application():
connection.send(b"some data")
reactor.sleep(2000)
print("sleeping doesn't stop the main_loop")

def on_socket_read(sock):
print("data received", sock.recv(1024))

def timeout():
print("i'm called after the timeout.")
reactor.main_quit()

reactor.register_io(my_socket)
reactor.idle_call(application)
reactor.timeout_call_seconds(3.0, timeout)
reactor.main()
```


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

pygel-0.6.5.tar.gz (13.6 kB view details)

Uploaded Source

File details

Details for the file pygel-0.6.5.tar.gz.

File metadata

  • Download URL: pygel-0.6.5.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pygel-0.6.5.tar.gz
Algorithm Hash digest
SHA256 32dae6b6d342bb13f2af471245a8d2f14191796ec00b89aac348f0f73d2dddeb
MD5 e30cb7a1162db6928225464a1e5a2fcd
BLAKE2b-256 b95bfbdb1f69b91da49ddc4d9fe9b97f80b9aad8965e7bb1a772222a63cb9f8c

See more details on using hashes here.

Supported by

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