This repository has been archived by the owner on Jul 9, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.rst.in
122 lines (77 loc) · 3.05 KB
/
README.rst.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
=========================================================
Gaidaros: @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 @name@
From source
~~~~~~~~~~~
::
$ git clone https://github.com/@username@/@name@.git
$ cd @name@ && pip install -r requirements.txt
From latest released tarball
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
$ wget --no-check-certificate https://github.com/@username@/@name@/tarball/@version@
Build Status
------------
When properly integrated with Travis the project's status
should appear below this:
.. image:: https://secure.travis-ci.org/@username@/@name@.png?branch=master
:alt: Build Status
:target: https://secure.travis-ci.org/@username@/@name@
Authors
-------
@author@ <@author_email@>
License
-------
Gaidaros uses the MIT license, check LICENSE file.
Contributors
------------
* Just @author@, so far...
Thanks also to
--------------
* Scott Doyle for the `well-written blog-post about epoll <http://scotdoyle.com/python-epoll-howto.html>`_ which inspired me to start this project.
.. figure:: http://farm1.staticflickr.com/10/11189916_202acb3d5a_z.jpg
:width: 50%
:alt: "donkey kiss" image by wgdavis (CC BY-NC-SA 2.0)
:target: http://www.flickr.com/photos/garth/11189916/
"Donkey kiss" image from `flickr <http://www.flickr.com/photos/garth/11189916/>`_ (CC BY-NC-SA 2.0)