forked from evite/nudge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
executable file
·73 lines (57 loc) · 2.89 KB
/
README
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
#
# Copyright (C) 2011 Evite LLC
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street,
# Fifth Floor, Boston, MA 02110-1301 USA
Nudge is a free, open-source pure python mini-framework created to make
developing web service applications a breeze.
Nudge allows you to publish simple python functions and methods as
wsgi request handlers. You design your api independently of any specific
web technologies.
This allows nudge (and in turn your service classes) to work with any
wsgi compatible python http server (ours have run in production with
tornado and eventlet). It also allows for a very elegant api description,
and removes a ton of repeated and tedious http specific code typically
found when developing under other web frameworks.
Since your application classes and funtions are abstracted from HTTP,
writing tests has never been easier. No more HTTP simulation.
Questions or comments about nudge? Join the google group!
Google group: python-nudge
Installation:
The following will create a new directory called nudge:
git clone git://github.com/evite/nudge.git
cd nudge
activate a virtual environment (if desired)
python setup.py install
Further nudge rationalization:
Nudge was created to make Evite's python services portable. We did not want
to be tied to any specific web technology, and we wanted to be able to write
clean python classes that were not directly tied to http requests.
At the time we were using tornado directly where you supply one class for
each uri. This resulted in over a hundred classes, and a complete breakdown
in organization.
We also wanted to steer clear of typical "handler" code which usually
does some error checking and request routing, and always requires a lot
of repeated and unorganized code.
What Nudge IS:
- A web service layer mini framework
- A great solution for making a RESTful API
- Used to make a WSGI compatible Python application that can be run
by a Python HTTP server.
- Also good for making traditional web applications, but this is not the
normal use case.
What Nudge is NOT:
- Intended to replace full stack frameworks like Django
- An HTTP server
- A presentation layer framework (but can be easily combined with other
free Python tools to make a nice presentation layer)
- Might not be the best choice for simple classic web sites.