4. A Python a web service
Tools & Utilities
WEB APPLICATION
5. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
6. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
7. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
management tools
supporting services
Worker Process
8. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
management tools
user interface
supporting services
api service
data persistence
auth
crud admin
Worker Process
9. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
data persistence
auth
crud admin
10. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
data persistence
auth
crud admin
11. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
data persistence
auth
crud admin
12. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
data persistence
auth
crud admin
13. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
data persistence
auth
crud admin
14. A Python a web service
Single codebase are
EVIL!
15. A Python a web service
WEB APPLICATION
Tools & Utilities
Web Process
Worker Process
management tools
user interface
deferred tasks
supporting services
api service
scheduled tasks
SS
E
M
AL
T
TO
data persistence
auth
crud admin
21. A Python a web service
Good API
Intuitive
similar things should be similar,
ugly things should look ugly
Documented
Opinionated
22. A Python a web service
Features
posting of data
with validation
pagination
propper HTTP
response handling
permissions
throttling
serialization
authentification
23. A Python a web service
Django
regex routing system
24. A Python a web service
Django
regex routing system
built-in orm
25. A Python a web service
Django
users = Users.objects.filter(last_login__lt=timestamp)
26. A Python a web service
Django
regex routing system
built-in orm
templating system
auth
management tools
crud admin
migrations
testing tools
makes decision for you
61. A Python a web service
class ParentResource(ModelResource):
children = fields.ToManyField(ChildResource, ‘children’)
def prepend_urls(self):
return [
url(r”^(?P<resource_name>%s)/(?P<pk>w[w/-]*)/children%s$” % (self._meta.resource_name, trailing_
slash()), self.wrap_view(‘get_children’), name=”api_get_children”),
]
def get_children(self, request, **kwargs):
try:
bundle = self.build_bundle(data={‘pk’: kwargs[‘pk’]}, request=request)
obj = self.cached_obj_get(bundle=bundle, **self.remove_api_resource_names(kwargs))
except ObjectDoesNotExist:
return HttpGone()
except MultipleObjectsReturned:
return HttpMultipleChoices(“More than one resource is found at this URI.”)
child_resource = ChildResource()
return child_resource.get_detail(request, parent_id=obj.pk)
62. A Python a web service
Depends on Django >
get all the Django mess
63. A Python a web service
Can do lot black magic
Can do aalot of black magic
67. A Python a web service
from flask import Flask
app = Flask(__name__)
@app.route(“/”)
def hello():
return “Hello World!”
if __name__ == “__main__”:
app.run()
68. A Python a web service
Werkzeug, Jinja 2 and good intentions
69. A Python a web service
Very small and easy to learn
(super intuitive)
70. A Python a web service
Solid and well documented
71. A Python a web service
Awesome and strong community
84. A Python a web service
Resources
Kenneth Reitz
Flask Goodness
API Driven Development
How I develop Things and Why?
Kevin Lacker
How to Design Great APIs?
85. A Python a web service
Thank you!
DRINK ALL THE BEERS!