Skip to main content

Async server micro-framework for control freaks

Project description

Gaidaros is an async socket server framework which has been designed for network developers, with an emphasis on easy low-level configurability and speed, with sane standard defaults. This means it can be quickly reused and adapted to each new project’s requirements, while keeping features out of the way unless requested.

Its first iteration is presently in alpha phase (e.g. edge-triggered epoll only), but has a clear list of development milestones ahead. See the TODO.rst file for details.

Gaidaros (Γάιδαρος) is Greek for donkey. I like donkeys. This framework doesn’t try to implement every trendy feature under the sun, it just tries to do all the basics accurately and reliably - like a donkey. So, that’s the naming rationale issue out of the way…

Features

  • Minimalism (priority on leanness, speed, configurability and base completeness rather than added features)

  • Thin wrapper to underlying async socket mechanisms

  • Everything configurable by config-files and passed arguments

  • Pass in handlers by name, (module, class) or as pre-created functions, methods or code objects

  • TODO: Multiple server processors can be run on the polling socket using multiprocessing (or a pool thereof)

  • TODO: Handlers can be run in threads, greenthreads, multiprocesses, and pools of any of those three

  • TODO: Handlers can be run on a cluster using parallel processing (“pp”/”pyparallel”). Cluster nodes can in turn use threads, greenthreads, multiprocesses, or pools thereof too

  • IPv4 and/or IPv6, SSL (TLSv1, SSLv3, SSLv23) or not

  • TCP, TODO: UDP, unixsocket, etc

  • TODO: Can be used with various frontends (e.g. Tornado)

Installation

From pypi

$ pip install gaidaros

From source

$ git clone https://github.com/rowanthorpe/gaidaros.git
$ cd gaidaros && pip install -r requirements.txt

From latest released tarball

$ wget --no-check-certificate https://github.com/rowanthorpe/gaidaros/tarball/0.3.13

Build Status

When properly integrated with Travis the project’s status should appear below this:

Build Status

Authors

Rowan Thorpe <rowan@rowanthorpe.com>

License

Gaidaros uses the MIT license, check LICENSE file.

Contributors

  • Just Rowan Thorpe, so far…

Thanks also to

"donkey kiss" image by wgdavis (CC BY-NC-SA 2.0)

“Donkey kiss” image from flickr (CC BY-NC-SA 2.0)

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

gaidaros-0.3.13.tar.gz (18.7 kB view details)

Uploaded Source

File details

Details for the file gaidaros-0.3.13.tar.gz.

File metadata

  • Download URL: gaidaros-0.3.13.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gaidaros-0.3.13.tar.gz
Algorithm Hash digest
SHA256 71ebd9d9ec78f49d2b5f3946cc64da0b2f09c07d2a5f4a247cbdb3e1599178f1
MD5 c835f16aad3adee27820053e061bfc06
BLAKE2b-256 9496cb1049de8ca2344362416b8f38951328f8e511ea68bedb3369f5c1112c03

See more details on using hashes here.

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