Frameworks make life easier for developers. They automate a lot of things that could be painful sometimes. In this article we will see the most common python frameworks that could be useful on your way to becoming a back-end developer. <!--more--> <h2>Django</h2> Supports : Python 3 | <a href="https://www.djangoproject.com/" target="_blank" rel="noopener">Official Website</a> | <a href="https://github.com/django" target="_blank" rel="noopener">GitHub</a> | <a href="https://pypi.python.org/pypi/Django/1.11.1" target="_blank" rel="noopener">PyPI</a> <h4><a href="http://bencagri.com/blog/media/django-hosting.png"><center><img class="wp-image-6726 aligncenter" src="http://bencagri.com/blog/media/django-hosting.png" alt="" width="316" height="174" /></center><br/></a></h4> <h4></h4> <h4></h4> <h4></h4> <h4></h4> Django is the most known python mvc framework and it has great community. As a framework, it provides you Model Layer, View Layer, Forms, Caching, Logging, Sending Emails. Pagination Serialization, Sessions, Data Validation and more. Django works with are PostgreSQL, MySQL, SQLite, and Oracle, but third-party drivers allow you to use others as well. <strong>Advantages</strong> - Great community - Documentation - Easy to learn - Scalable <strong>Disadvantages </strong>- Slow, when you compare with others. - Too monolithic - Everything is based on Django ORM - Components get deployed together <h2>Web2Py</h2> Supports: Python 2 | <a href="http://www.web2py.com/" target="_blank" rel="noopener">Official Website</a><a href="http://bencagri.com/blog/media/logo_lb.png"> | </a><a href="https://github.com/web2py" target="_blank" rel="noopener">GitHub</a><a href="http://bencagri.com/blog/media/logo_lb.png"> | </a><a href="https://pypi.python.org/pypi/web2py" target="_blank" rel="noopener">PyPI</a><a href="http://bencagri.com/blog/media/logo_lb.png"><center><img class="wp-image-6729 aligncenter" src="http://bencagri.com/blog/media/logo_lb.png" alt="" width="615" height="125" /></center><br/></a> Web2py is a scalable open-source full-stack Python framework. However, you should know before reading further that Web2py <em>does not</em> support Python 3. <strong>Advantages</strong> - Web Based IDE - Database Abstraction Layer - Forms and Validation <strong>Disadvantages</strong> - Regular Python in View - Not enough community - Not well documentation <h2>Sanic</h2> Supports: Python 3 | <a href="http://sanic.readthedocs.io/en/latest/" target="_blank" rel="noopener">Official Website</a> | <a href="https://github.com/channelcat/sanic" target="_blank" rel="noopener">GitHub</a> | <a href="https://pypi.python.org/pypi/Sanic" target="_blank" rel="noopener">PyPI</a> <a href="http://bencagri.com/blog/media/sanic.png"><center><img class=" wp-image-6734 aligncenter" src="http://bencagri.com/blog/media/sanic.png" alt="" width="476" height="209" /></center><br/></a> Sanic has been created for fast HTTP responses via asynchronous request handling. Its built top on <a href="https://github.com/MagicStack/uvloop" target="_blank" rel="noopener">uvloop</a> and it compatible with Python 3.5โs async/await functions.This enhances its speed, offering non-blocking capabilities. In benchmart tests, Sanic was able to handle up to 60k Request/Per second. <strong>Advantages</strong> - Fast - Asynchronous - Middleware Support - Good Documentation <strong>Disadvantages</strong> - Sanic is kinda new, so you might google for most of the things. <h2>Weppy</h2> Supports: Python 3 | <a href="http://weppy.org/" target="_blank" rel="noopener">Official Website</a> | <a href="https://github.com/gi0baro/weppy" target="_blank" rel="noopener">GitHub</a> | <a href="https://pypi.org/project/weppy/" target="_blank" rel="noopener">PyPI</a><a href="http://bencagri.com/blog/media/logo-big.png"><center><img class=" wp-image-6738 aligncenter" src="http://bencagri.com/blog/media/logo-big.png" alt="" width="359" height="202" /></center><br/></a>Weppy is a full-stack python web framework designed with simplicity in mind.ย It comes with beatiful ORM integrated migrations, validation system, authentication system, form generator, simple routing and powerful templating system. <strong>Advatages</strong> - Nice choice if you want organized - Easy to learn - Fast development (just focus on product) - Good documentation <strong>Disadvantages</strong> - Not enough community - Not much contributors to develop <h2>Vibora</h2> Supports: Python 3 | <a href="https://vibora.io/" target="_blank" rel="noopener">Official Website</a> | <a href="https://github.com/vibora-io/vibora" target="_blank" rel="noopener">GitHub</a> | <a href="https://pypi.org/project/vibora/" target="_blank" rel="noopener">PyPI</a> <a href="http://bencagri.com/blog/media/vidora.jpg"><center><img class=" wp-image-6740 aligncenter" src="http://bencagri.com/blog/media/vidora.jpg" alt="" width="399" height="122" /></center><br/></a>A new player on the field. Vibora was designed from scratch to be efficient.Vibora APIs were heavily inspired by the awesome Flask. Builtin features were also based on many famous libraries as jinja2, marshmallow, websockets by aaugustin, werkzeug and many others. Schemas validation, template engine, sessions and many more features were written from scratch to provide great performance along with an elegant async interface. <strong>Advantages</strong> - Super Fast (can handle 150k requests per second) - Asynchronous - Good documentation <strong>Disadvantages</strong> - Doesnt have ORM (or any persistance layer) - Not enough community - Due to using uvloop, no chance to develop under Windows (i dont think this is a disadvantage) <h2>Tornado</h2> Supports: Python 3 | <a href="http://www.tornadoweb.org/en/latest/" target="_blank" rel="noopener">Official Website</a> | <a href="https://github.com/tornadoweb/tornado" target="_blank" rel="noopener">GitHub</a> | <a href="https://pypi.python.org/pypi/tornado" target="_blank" rel="noopener">PyPI</a> <a href="http://bencagri.com/blog/media/top_10_python_frameworks_to_learn_in_2018_image_8.png"><center><img class=" wp-image-6737 aligncenter" src="http://bencagri.com/blog/media/top_10_python_frameworks_to_learn_in_2018_image_8.png" alt="" width="625" height="219" /></center><br/></a> Tornado was used for friendfeed. Thanks to bret taylor to create this web framework and asynchronous networking library. It uses a non-blocking network I/O and if configured properly, it can handle 10,000+ concurrent connections. After <a href="https://techcrunch.com/2009/08/10/facebook-acquires-friendfeed/" target="_blank" rel="noopener">facebook acquired friendfeed</a> tornado continued being developed under facebook. <strong>Advantages</strong> - User authentication - Real-time services - High-quality performance <strong>Disadvantages </strong> - There is no ORM - Templates do not auto-escape <h1>Conclusion</h1> There are alsoย <a href="http://flask.pocoo.org/" target="_blank" rel="noopener">Flask</a>, <a href="https://trypyramid.com/" target="_blank" rel="noopener">Pyramid</a>, <a href="https://github.com/aio-libs/aiohttp" target="_blank" rel="noopener">Aiohttp.</a>ย The point of this post is to choose correct needs based on project. If you want to create async application, Tornado seems correct choice. If you need performance then go with Vibora. If you want to get support very quickly then Django is your solution. There are, of course, differences all above frameworks. But, if you choosing language and framework is based on project. <a href="https://www.quora.com/Why-did-Quora-choose-Python-for-its-development-What-technological-challenges-did-the-founders-face-before-they-decided-to-go-with-Python-rather-than-PHP/answer/Adam-DAngelo?share=1&srid=iQJO" target="_blank" rel="noopener">This reply</a> from Adam D'Angelo (Founder of Quora) would be a good example. Have a nice coding day.<br /><center><hr/><em>Posted from my blog with <a href='https://wordpress.org/plugins/steempress/'>SteemPress</a> : http://bencagri.com/blog/python-frameworks-comparison/</em><hr/></center>
author | bencagri | ||||||
---|---|---|---|---|---|---|---|
permlink | pythonframeworkscomparison-wfwkki3ff9 | ||||||
category | apistar | ||||||
json_metadata | {"community":"steempress","app":"steemit/0.1","image":["http://bencagri.com/blog/media/django-hosting.png","http://bencagri.com/blog/media/logo_lb.png","http://bencagri.com/blog/media/sanic.png","http://bencagri.com/blog/media/logo-big.png","http://bencagri.com/blog/media/vidora.jpg","http://bencagri.com/blog/media/top_10_python_frameworks_to_learn_in_2018_image_8.png"],"tags":["utopian-io","analysis","steempress","blog","apistar"],"original_link":"http://bencagri.com/blog/python-frameworks-comparison/","links":["https://www.djangoproject.com/","https://github.com/django","https://pypi.python.org/pypi/Django/1.11.1","http://bencagri.com/blog/media/django-hosting.png","http://www.web2py.com/","http://bencagri.com/blog/media/logo_lb.png","https://github.com/web2py","https://pypi.python.org/pypi/web2py","http://sanic.readthedocs.io/en/latest/","https://github.com/channelcat/sanic","https://pypi.python.org/pypi/Sanic","http://bencagri.com/blog/media/sanic.png","https://github.com/MagicStack/uvloop","http://weppy.org/","https://github.com/gi0baro/weppy","https://pypi.org/project/weppy/","http://bencagri.com/blog/media/logo-big.png","https://vibora.io/","https://github.com/vibora-io/vibora","https://pypi.org/project/vibora/","http://bencagri.com/blog/media/vidora.jpg","http://www.tornadoweb.org/en/latest/","https://github.com/tornadoweb/tornado","https://pypi.python.org/pypi/tornado","http://bencagri.com/blog/media/top_10_python_frameworks_to_learn_in_2018_image_8.png","https://techcrunch.com/2009/08/10/facebook-acquires-friendfeed/","http://flask.pocoo.org/","https://trypyramid.com/","https://github.com/aio-libs/aiohttp","https://www.quora.com/Why-did-Quora-choose-Python-for-its-development-What-technological-challenges-did-the-founders-face-before-they-decided-to-go-with-Python-rather-than-PHP/answer/Adam-DAngelo?share=1&srid=iQJO","https://wordpress.org/plugins/steempress/","http://bencagri.com/blog/python-frameworks-comparison/"],"format":"markdown"} | ||||||
created | 2018-07-11 10:24:48 | ||||||
last_update | 2018-07-11 10:29:57 | ||||||
depth | 0 | ||||||
children | 4 | ||||||
last_payout | 2018-07-18 10:24:48 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 1.505 HBD | ||||||
curator_payout_value | 0.435 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 8,243 | ||||||
author_reputation | 2,013,507,940,383 | ||||||
root_title | "Python Frameworks Comparison" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 64,269,194 | ||||||
net_rshares | 1,043,702,320,657 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
yuxi | 0 | 2,981,201,604 | 10% | ||
yehey | 0 | 7,193,017,200 | 10% | ||
leir | 0 | 680,504,114 | 20% | ||
meskoze | 0 | 611,628,195 | 100% | ||
steemitstats | 0 | 3,286,892,757 | 5% | ||
murtalaumar | 0 | 829,645,503 | 100% | ||
ikidnapmyself | 0 | 2,678,687,059 | 100% | ||
grzesiekb | 0 | 155,694,315,036 | 100% | ||
tubi | 0 | 3,323,305,623 | 100% | ||
bencagri | 0 | 2,868,837,537 | 100% | ||
uas | 0 | 64,121,847 | 10.01% | ||
acknowledgement | 0 | 478,288,327 | 10% | ||
faisalrizal2018 | 0 | 109,928,422 | 100% | ||
cryptomoneymade | 0 | 5,120,235,853 | 100% | ||
statsexpert | 0 | 820,766,985 | 20% | ||
steempress-io | 0 | 818,927,668,453 | 2% | ||
adventurist | 0 | 4,637,595,547 | 100% | ||
lemesh | 0 | 582,125,337 | 100% | ||
andrew28zx | 0 | 581,787,112 | 100% | ||
legenda | 0 | 581,612,935 | 100% | ||
sergbog | 0 | 581,496,659 | 100% | ||
vika09 | 0 | 579,374,033 | 100% | ||
dimka10 | 0 | 581,847,769 | 100% | ||
yarondrei | 0 | 579,350,443 | 100% | ||
borndead03 | 0 | 581,535,417 | 100% | ||
irinkasamoilova | 0 | 581,717,287 | 100% | ||
andykon | 0 | 581,478,613 | 100% | ||
vas30 | 0 | 581,938,548 | 100% | ||
missvega | 0 | 581,496,657 | 100% | ||
rafiashaikh | 0 | 566,421,628 | 100% | ||
jsonknightlee | 0 | 412,974,546 | 100% | ||
bornd07 | 0 | 578,865,970 | 100% | ||
welcce | 0 | 64,244,887 | 10.01% | ||
white-1 | 0 | 64,244,887 | 10.01% | ||
wannebe | 0 | 64,244,887 | 10.01% | ||
elliygova | 0 | 581,912,633 | 100% | ||
viktorpetro | 0 | 581,915,937 | 100% | ||
miki64839 | 0 | 580,981,999 | 100% | ||
albinasamirova | 0 | 581,915,937 | 100% | ||
brutalsperm | 0 | 578,869,257 | 100% | ||
cleavageobjects | 0 | 578,869,257 | 100% | ||
youcanreachme | 0 | 64,217,281 | 10.01% | ||
k100 | 0 | 64,217,281 | 10.01% | ||
dura | 0 | 64,217,281 | 10.01% | ||
gonelie | 0 | 64,217,281 | 10.01% | ||
myrep | 0 | 64,217,281 | 10.01% | ||
wi-ki | 0 | 64,217,281 | 10.01% | ||
me-and | 0 | 64,217,281 | 10.01% | ||
andrew-ki | 0 | 64,234,344 | 10.01% | ||
plugs | 0 | 64,217,281 | 10.01% | ||
mynumberone | 0 | 64,217,281 | 10.01% | ||
yuj7 | 0 | 64,217,281 | 10.01% | ||
taylor.mien | 0 | 64,217,281 | 10.01% | ||
cokbise | 0 | 64,217,281 | 10.01% | ||
soduye | 0 | 64,217,281 | 10.01% | ||
s2-k | 0 | 64,217,281 | 10.01% | ||
johannestreb | 0 | 64,217,281 | 10.01% | ||
hanarape | 0 | 64,217,281 | 10.01% | ||
bokerstuffle | 0 | 64,217,281 | 10.01% | ||
mm22 | 0 | 64,217,281 | 10.01% | ||
dede2 | 0 | 64,217,281 | 10.01% | ||
harmon-y | 0 | 64,217,281 | 10.01% | ||
shape-of | 0 | 64,217,281 | 10.01% | ||
dar-k | 0 | 64,217,281 | 10.01% | ||
blue-k | 0 | 64,217,281 | 10.01% | ||
toorise | 0 | 64,217,281 | 10.01% | ||
love-m | 0 | 64,217,281 | 10.01% | ||
post.melon | 0 | 64,217,281 | 10.01% | ||
m25 | 0 | 64,217,281 | 10.01% | ||
mx2 | 0 | 64,217,281 | 10.01% | ||
oksen | 0 | 64,217,281 | 10.01% | ||
keenx | 0 | 64,217,281 | 10.01% | ||
rise-e | 0 | 64,217,281 | 10.01% | ||
holy-k | 0 | 64,216,958 | 10.01% | ||
jack-karen | 0 | 64,216,958 | 10.01% | ||
kk20 | 0 | 64,216,958 | 10.01% | ||
upse | 0 | 64,216,958 | 10.01% | ||
decorousoutspoke | 0 | 578,869,257 | 100% | ||
rdavis81 | 0 | 581,915,937 | 100% | ||
kaczmareke | 0 | 581,915,937 | 100% | ||
ax3 | 0 | 812,152,079 | 10.01% | ||
taigacabinet | 0 | 581,915,937 | 100% | ||
grinmens | 0 | 581,721,104 | 100% | ||
embryofemur | 0 | 581,918,941 | 100% | ||
springcounting | 0 | 581,915,937 | 100% | ||
xekn | 0 | 64,181,181 | 10.01% | ||
youv | 0 | 64,180,866 | 10.01% | ||
xec.sek | 0 | 64,180,866 | 10.01% | ||
doubtdisney | 0 | 581,915,937 | 100% | ||
nastypaperclip | 0 | 582,452,765 | 100% | ||
kingsstars | 0 | 581,912,633 | 100% | ||
voicle | 0 | 64,179,620 | 10.01% | ||
vivald-i | 0 | 64,179,620 | 10.01% | ||
xken | 0 | 64,179,620 | 10.01% | ||
xoe | 0 | 64,179,620 | 10.01% | ||
x9x | 0 | 64,179,620 | 10.01% | ||
nadyusha23 | 0 | 578,869,257 | 100% | ||
semenova32 | 0 | 581,915,937 | 100% | ||
andreisaonov | 0 | 581,912,633 | 100% | ||
lukemccoy92 | 0 | 581,912,633 | 100% | ||
antonerganov | 0 | 581,912,633 | 100% | ||
joinneutron | 0 | 581,912,633 | 100% | ||
freshwan | 0 | 581,912,633 | 100% | ||
visitorsahem | 0 | 578,863,014 | 100% | ||
owlrange | 0 | 581,909,662 | 100% | ||
silicaundo | 0 | 581,909,662 | 100% | ||
grouseunhelpful | 0 | 581,906,414 | 100% | ||
okapitonov88 | 0 | 581,906,414 | 100% | ||
pierinalejandra | 0 | 478,745,788 | 100% | ||
dertluc | 0 | -67,060,250 | -100% | ||
rosa2810 | 0 | 414,332,212 | 100% | ||
sbhandari | 0 | 66,245,467 | 100% | ||
earnwithmoneyman | 0 | 92,633,960 | 100% | ||
admughal | 0 | 587,993,924 | 100% | ||
benmopping | 0 | 581,834,975 | 100% | ||
prasadyelwande | 0 | 219,329,327 | 100% | ||
sinai79 | 0 | 569,641,228 | 100% | ||
artiommatvienko | 0 | 117,559,835 | 100% | ||
charlesdeherstal | 0 | -66,996,301 | -100% | ||
williamosuna | 0 | 481,003,582 | 100% | ||
mahmudsk | 0 | 523,620,439 | 100% | ||
adarsh0709 | 0 | 0 | 0% | ||
rinku-dz | 0 | 252,657,154 | 100% | ||
soohyuklee | 0 | 502,187,731 | 100% |
Great work @bencagri ! So much information in a single post!
author | prasadyelwande |
---|---|
permlink | re-bencagri-pythonframeworkscomparison-wfwkki3ff9-20180711t113437761z |
category | apistar |
json_metadata | {"tags":["apistar"],"users":["bencagri"],"app":"steemit/0.1"} |
created | 2018-07-11 11:34:42 |
last_update | 2018-07-11 11:34:42 |
depth | 1 |
children | 1 |
last_payout | 2018-07-18 11:34:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 61 |
author_reputation | 92,623,092,439 |
root_title | "Python Frameworks Comparison" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 64,275,188 |
net_rshares | 0 |
thanks :) i hope this article is useful for starting a project.
author | bencagri |
---|---|
permlink | re-prasadyelwande-re-bencagri-pythonframeworkscomparison-wfwkki3ff9-20180711t114431489z |
category | apistar |
json_metadata | {"tags":["apistar"],"app":"steemit/0.1"} |
created | 2018-07-11 11:44:33 |
last_update | 2018-07-11 11:44:33 |
depth | 2 |
children | 0 |
last_payout | 2018-07-18 11:44:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 63 |
author_reputation | 2,013,507,940,383 |
root_title | "Python Frameworks Comparison" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 64,276,139 |
net_rshares | 207,144,364 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
prasadyelwande | 0 | 207,144,364 | 100% |
Congratulations @bencagri! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bencagri/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@bencagri)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
author | steemitboard |
---|---|
permlink | steemitboard-notify-bencagri-20190119t155535000z |
category | apistar |
json_metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
created | 2019-01-19 15:55:36 |
last_update | 2019-01-19 15:55:36 |
depth | 1 |
children | 0 |
last_payout | 2019-01-26 15:55:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 543 |
author_reputation | 38,975,615,169,260 |
root_title | "Python Frameworks Comparison" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 78,619,819 |
net_rshares | 0 |
Congratulations @bencagri! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bencagri/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@bencagri) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=bencagri)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
author | steemitboard |
---|---|
permlink | steemitboard-notify-bencagri-20200119t155926000z |
category | apistar |
json_metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
created | 2020-01-19 15:59:27 |
last_update | 2020-01-19 15:59:27 |
depth | 1 |
children | 0 |
last_payout | 2020-01-26 15:59:27 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 620 |
author_reputation | 38,975,615,169,260 |
root_title | "Python Frameworks Comparison" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 94,547,507 |
net_rshares | 0 |