From 42d59882031013a02d7286cb8e408acaa35ecb51 Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Sat, 10 Oct 2015 14:25:09 +0530 Subject: [PATCH 01/31] Uncommented fb share as the bug is fixed by facebook --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index df382c7..caa84cb 100644 --- a/index.html +++ b/index.html @@ -50,14 +50,14 @@

One Stop for Python Programming Resources. It's all about Python.

- + }(document, 'script', 'facebook-jssdk')); @@ -68,7 +68,7 @@

One Stop for Python Programming Resources. It's all about Python.

- +
From 731421cad7c9f7605a6e114e03e658d62a09b287 Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Tue, 20 Oct 2015 00:53:22 +0530 Subject: [PATCH 02/31] [feature]: search option on application pages --- applications/core-python.html | 1 + applications/database-access.html | 1 + applications/devops.html | 1 + applications/embedded-python.html | 1 + applications/game-development.html | 1 + applications/guis.html | 1 + applications/network-programming.html | 1 + applications/scientific-and-numeric.html | 1 + applications/testing.html | 1 + applications/tutorials.html | 1 + applications/web-development.html | 2 + css/app-custom.css | 34 +++++ js/find5.js | 169 +++++++++++++++++++++++ 13 files changed, 215 insertions(+) create mode 100644 js/find5.js diff --git a/applications/core-python.html b/applications/core-python.html index 3791efd..000814c 100644 --- a/applications/core-python.html +++ b/applications/core-python.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/database-access.html b/applications/database-access.html index 958f0cd..edf8f41 100644 --- a/applications/database-access.html +++ b/applications/database-access.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/devops.html b/applications/devops.html index b48ffb1..c3d4be7 100644 --- a/applications/devops.html +++ b/applications/devops.html @@ -68,6 +68,7 @@

Python Pedia

diff --git a/applications/embedded-python.html b/applications/embedded-python.html index d7085ac..29bff3e 100644 --- a/applications/embedded-python.html +++ b/applications/embedded-python.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/game-development.html b/applications/game-development.html index 54855cc..8b537d7 100644 --- a/applications/game-development.html +++ b/applications/game-development.html @@ -68,6 +68,7 @@

Python Pedia

diff --git a/applications/guis.html b/applications/guis.html index 19af259..56a6db1 100644 --- a/applications/guis.html +++ b/applications/guis.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/network-programming.html b/applications/network-programming.html index 9d2c6cf..5a1a6dd 100644 --- a/applications/network-programming.html +++ b/applications/network-programming.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/scientific-and-numeric.html b/applications/scientific-and-numeric.html index af7d6c9..3637be9 100644 --- a/applications/scientific-and-numeric.html +++ b/applications/scientific-and-numeric.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/testing.html b/applications/testing.html index 77989f5..5a4c535 100644 --- a/applications/testing.html +++ b/applications/testing.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/tutorials.html b/applications/tutorials.html index c161e39..56ff3a1 100644 --- a/applications/tutorials.html +++ b/applications/tutorials.html @@ -69,6 +69,7 @@

Python Pedia

diff --git a/applications/web-development.html b/applications/web-development.html index 5f4c6aa..4c95155 100644 --- a/applications/web-development.html +++ b/applications/web-development.html @@ -44,6 +44,7 @@ fetcher: Flatdoc.file('app-markdowns/web-development.md') }); + @@ -69,6 +70,7 @@

Python Pedia

diff --git a/css/app-custom.css b/css/app-custom.css index 2805529..01128ff 100644 --- a/css/app-custom.css +++ b/css/app-custom.css @@ -940,6 +940,35 @@ code .comment { font-size: 2.15em !important; } +#search-show-btn +{ + margin: 0 15px; + background-color: #29DCB2; + color: white; + border: none; + border-radius: 10%; + transition: .2s ease-out; + cursor: pointer; + font-weight: 900; +} + +#search-show-btn:hover +{ + background-color: white; + color: #29DCB2; +} + +.search-button +{ + margin-right: 5px; + margin-top: 5px; + background-color: #29DCB2; + color: white; + border: none; + cursor: pointer; + border-radius: 10%; +} + /* ========================================================================== Media Queries ========================================================================== */ @@ -968,4 +997,9 @@ code .comment { height: 105px; margin-left: -20px; } + + #search-show-btn + { + margin: 0px; + } } diff --git a/js/find5.js b/js/find5.js new file mode 100644 index 0000000..e215628 --- /dev/null +++ b/js/find5.js @@ -0,0 +1,169 @@ +/* Cool Javascript Find on this Page +Ver 5.3 +Written by Jeff Baker on September, 8, 2007. +Copyright 2014 by Jeff Baker - +Version 5.0 created 7/16/2014 +Updated 5/15/2015 ver 5.3 +http://www.seabreezecomputers.com/tips/find.htm +Paste the following javascript call in your HTML web page where +you want a button called "Find on this Page...": + + + +When you click on the button a floating DIV will pop up +that will have a text box for users to enter in the text they +want to find on the page. + +WARNING: If you want to place a second "Find on this page..." +button somewhere on the same page then use the code below for +the second button, otherwise firefox and netscape will not +display the text that users type in and it will not find +text correctly because there will be two different text input +boxes with the same name: + + + +*/ + +/**** Compressed****/ +var find_window_background="white";var find_window_border="#29DCB2";var find_text_color="#29DCB2";var find_title_color="white";var find_window_width=245;var find_window_height=85;var find_root_node=null;var drag={mousex:0,mousey:0,tempx:'',tempy:'',isdrag:false,drag_obj:null,drag_obj_x:0,drag_obj_y:0};var find_timer=0;var highlights=[];var find_pointer=-1;var find_text='';var found_highlight_rule=0;var found_selected_rule=0;document.onmousedown=MouseDown;document.onmousemove=MouseMove;document.onmouseup=MouseUp;document.ontouchstart=MouseDown;document.ontouchmove=MouseMove;document.ontouchend=MouseUp;function highlight(word,node) +{if(!node) +node=document.body;var re=new RegExp(word,"i");for(node=node.firstChild;node;node=node.nextSibling) +{if(node.nodeType==3) +{var n=node;var match_pos=0;{match_pos=n.nodeValue.search(re);if(match_pos>-1) +{var before=n.nodeValue.substr(0,match_pos);var middle=n.nodeValue.substr(match_pos,word.length);var after=document.createTextNode(n.nodeValue.substr(match_pos+word.length));var highlight_span=document.createElement("span");if(found_highlight_rule==1) +highlight_span.className="highlight";else +highlight_span.style.backgroundColor="yellow";highlight_span.appendChild(document.createTextNode(middle));n.nodeValue=before;n.parentNode.insertBefore(after,n.nextSibling);n.parentNode.insertBefore(highlight_span,n.nextSibling);highlights.push(highlight_span);highlight_span.id="highlight_span"+highlights.length;node=node.nextSibling;}}} +else +{if(node.nodeType==1&&node.nodeName.match(/textarea/i)&&!getStyle(node,"display").match(/none/i)) +textarea2pre(node);else +{if(node.nodeType==1&&!getStyle(node,"visibility").match(/hidden/i)) +if(node.nodeType==1&&!getStyle(node,"display").match(/none/i)) +highlight(word,node);}}}} +function unhighlight() +{for(var i=0;i=0) +{findnext();} +else +{unhighlight();if(string=='') +{find_msg.innerHTML="";findwindow.style.visibility='visible';return;} +find_text=string;if(find_root_node!=null) +var node=document.getElementById(find_root_node);else +var node=null;highlight(string,node);if(highlights.length>0) +{find_pointer=-1;findnext();} +else +{find_msg.innerHTML=" 0 of 0";find_pointer=-1;}} +findwindow.style.visibility='visible';} +function findnext() +{var current_find;if(find_pointer!=-1) +{current_find=highlights[find_pointer];if(found_highlight_rule==1) +current_find.className="highlight";else +current_find.style.backgroundColor="yellow";} +find_pointer++;if(find_pointer>=highlights.length) +find_pointer=0;var display_find=find_pointer+1;find_msg.innerHTML=display_find+" of "+highlights.length;current_find=highlights[find_pointer];if(found_selected_rule==1) +current_find.className="find_selected";else +current_find.style.backgroundColor="orange";scrollToPosition(highlights[find_pointer]);} +function findprev() +{var current_find;if(highlights.length<1)return;if(find_pointer!=-1) +{current_find=highlights[find_pointer];if(found_highlight_rule==1) +current_find.className="highlight";else +current_find.style.backgroundColor="yellow";} +find_pointer--;if(find_pointer<0) +find_pointer=highlights.length-1;var display_find=find_pointer+1;find_msg.innerHTML=display_find+" of "+highlights.length;current_find=highlights[find_pointer];if(found_selected_rule==1) +current_find.className="find_selected";else +current_find.style.backgroundColor="orange";scrollToPosition(highlights[find_pointer]);} +function checkkey(e) +{var keycode;if(window.event) +keycode=window.event.keyCode;else +keycode=e.which;if(keycode==13) +{if(window.event&&event.srcElement.id.match(/fwtext/i))event.srcElement.blur();else if(e&&e.target.id.match(/fwtext/i))e.target.blur();findit();} +else if(keycode==27) +{hide();}} +function show() +{var textbox=document.getElementById('fwtext');findwindow.style.visibility='visible';textbox.focus();textbox.select();textbox.setSelectionRange(0,9999);find_timer=setInterval('move_window();',500);document.onkeydown=checkkey;} +function hide() +{unhighlight();findwindow.style.visibility='hidden';clearTimeout(find_timer);document.onkeydown=null;} +function resettext() +{if(find_text.toLowerCase()!=document.getElementById('fwtext').value.toLowerCase()) +unhighlight();} +function move_window() +{var fwtop=parseFloat(findwindow.style.top);var fwleft=parseFloat(findwindow.style.left);var fwheight=parseFloat(findwindow.style.height);if(document.documentElement.scrollTop) +var current_top=document.documentElement.scrollTop;else +var current_top=document.body.scrollTop;var current_bottom=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+current_top;if(document.documentElement.scrollLeft) +var current_left=document.documentElement.scrollLeft;else +var current_left=document.body.scrollLeft;var current_right=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+current_left;if(fwtopcurrent_bottom-fwheight) +{findwindow.style.top=current_bottom-fwheight+'px';} +if(fwleftcurrent_right) +{findwindow.style.left=current_left+'px';}} +function MouseDown(event) +{drag.tempx=drag.tempy='';if(!event)event=window.event;var fobj=event.target||event.srcElement;var scrollLeft=document.body.scrollLeft||document.documentElement.scrollLeft;var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;if(typeof fobj.nodeName!="undefined") +if(fobj.nodeName.toLowerCase()=="input"||fobj.nodeName.toLowerCase()=="textarea") +return true;for(fobj;fobj;fobj=fobj.parentNode) +{if(fobj.className) +if(fobj.className.match(/dragme/i)) +break;} +if(fobj) +if(fobj.className.match(/dragme/i)) +{drag.isdrag=true;drag.drag_obj=fobj;drag.drag_obj_x=parseInt(drag.drag_obj.offsetLeft);drag.drag_obj_y=parseInt(drag.drag_obj.offsetTop);drag.mousex=event.clientX+scrollLeft;drag.mousey=event.clientY+scrollTop;if(event.type=="touchstart") +if(event.touches.length==1) +{var touch=event.touches[0];var node=touch.target;drag.mousex=touch.pageX;drag.mousey=touch.pageY;} +return true;}} +function MouseMove(event) +{if(drag.isdrag) +{if(!event)event=window.event;drag.tempx=event.clientX;drag.tempy=event.clientY;var scrollLeft=document.body.scrollLeft||document.documentElement.scrollLeft;var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;drag.tempx+=scrollLeft;drag.tempy+=scrollTop;drag.drag_obj.style.position='absolute';if(event.type=="touchmove") +if(event.touches.length==1) +{var touch=event.touches[0];var node=touch.target;drag.tempx=touch.pageX;drag.tempy=touch.pageY;} +drag.drag_obj.style.left=drag.drag_obj_x+drag.tempx-drag.mousex+"px";drag.drag_obj.style.top=drag.drag_obj_y+drag.tempy-drag.mousey+"px";return false;}} +function MouseUp() +{if(drag.isdrag==true) +{if(drag.tempx==''&&drag.tempy=='') +{}} +drag.isdrag=false;} +function scrollToPosition(field) +{var scrollLeft=document.body.scrollLeft||document.documentElement.scrollLeft;var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;var scrollBottom=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+scrollTop;var scrollRight=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+scrollLeft;if(field) +{var theElement=field;var elemPosX=theElement.offsetLeft;var elemPosY=theElement.offsetTop;theElement=theElement.offsetParent;while(theElement!=null) +{elemPosX+=theElement.offsetLeft +elemPosY+=theElement.offsetTop;theElement=theElement.offsetParent;} +if(elemPosXscrollRight||elemPosYscrollBottom) +field.scrollIntoView();}} +function getStyle(el,styleProp) +{var x=(document.getElementById(el))?document.getElementById(el):el;if(x.currentStyle) +var y=x.currentStyle[styleProp];else if(window.getComputedStyle) +var y=document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);return y;} +function create_div(dleft,dtop,dwidth,dheight) +{if(document.documentElement.scrollTop) +var current_top=document.documentElement.scrollTop;else +var current_top=document.body.scrollTop;if(document.getElementById('findwindow')) +{findwindow=document.getElementById('findwindow');} +else +{findwindow.id="findwindow";findwindow.style.position='absolute';document.body.insertBefore(findwindow,document.body.firstChild);findwindow.className='findwindow dragme';findwindow.style.visibility='hidden';} +findwindow.style.backgroundColor=find_window_background;findwindow.style.border='2px solid '+find_window_border;findwindow.style.color=find_text_color;findwindow.style.width=find_window_width+'px';findwindow.style.height=+find_window_height+'px';findwindow.style.top='200px';findwindow.style.right='50px';findwindow.style.padding='0px';findwindow.style.zIndex=2000;findwindow.style.fontSize='14px';findwindow.style.overflowX='hidden';findwindow.innerHTML='
'+'Search
';findwindow.innerHTML+='
'+'X'+'

\n';findwindow.innerHTML+='
'+'
'+''+''+'
'+'
\n';var sheets=document.styleSheets;for(var i=0;i/g,'>').replace(//g,'>').replace(/');var findwindow=document.createElement("div");create_div();var find_msg=document.getElementById('find_msg'); \ No newline at end of file From d1b72eaac4d986f68fce0361dd71c7238a0d34c9 Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Tue, 20 Oct 2015 01:37:18 +0530 Subject: [PATCH 03/31] Minor search box width fix --- js/find5.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/find5.js b/js/find5.js index e215628..2912dcd 100644 --- a/js/find5.js +++ b/js/find5.js @@ -149,7 +149,7 @@ var current_top=document.body.scrollTop;if(document.getElementById('findwindow') {findwindow=document.getElementById('findwindow');} else {findwindow.id="findwindow";findwindow.style.position='absolute';document.body.insertBefore(findwindow,document.body.firstChild);findwindow.className='findwindow dragme';findwindow.style.visibility='hidden';} -findwindow.style.backgroundColor=find_window_background;findwindow.style.border='2px solid '+find_window_border;findwindow.style.color=find_text_color;findwindow.style.width=find_window_width+'px';findwindow.style.height=+find_window_height+'px';findwindow.style.top='200px';findwindow.style.right='50px';findwindow.style.padding='0px';findwindow.style.zIndex=2000;findwindow.style.fontSize='14px';findwindow.style.overflowX='hidden';findwindow.innerHTML='
'+'Search
';findwindow.innerHTML+='
'+'X'+'

\n';findwindow.innerHTML+='
'+'
'+''+''+'
'+'
\n';var sheets=document.styleSheets;for(var i=0;i'+'Search
';findwindow.innerHTML+='
'+'X'+'

\n';findwindow.innerHTML+='
'+'
'+''+''+'
'+'
\n';var sheets=document.styleSheets;for(var i=0;i Date: Thu, 12 Nov 2015 22:44:59 +0530 Subject: [PATCH 04/31] Address issue #36 --- applications/app-markdowns/community.md | 63 +++++++++++++++ applications/community.html | 100 ++++++++++++++++++++++++ index.html | 6 +- 3 files changed, 166 insertions(+), 3 deletions(-) create mode 100644 applications/app-markdowns/community.md create mode 100644 applications/community.html diff --git a/applications/app-markdowns/community.md b/applications/app-markdowns/community.md new file mode 100644 index 0000000..5ac5415 --- /dev/null +++ b/applications/app-markdowns/community.md @@ -0,0 +1,63 @@ +Python Community +================ + +The community section covers links to different Pycons organised worldwide. It also contains links to local python meet up groups and various conferences like Djangocon, Pydata etc. + +Pycons +------ + +* [PyCon in the United States](http://us.pycon.org/) +* [EuroPython" in Europe](http://www.europython.eu/) +* [EuroSciPy in Europe](http://www.euroscipy.org/) +* [Kiwi PyCon in New Zealand](http://nz.pycon.org/) +* [PyCon Asia Pacific in Asia](http://apac.pycon.org/) +* [PyCon AR in Argentina](http://ar.pycon.org/) +* [PyCon AU in Australia](http://au.pycon.org/) +* [PythonBrasil in Brazil](http://www.pythonbrasil.org.br/) +* [PyCon Belarus in Belarus](http://by.pycon.org/) +* [PyCon Cameroon in Cameroon](http://pyconcameroon.org/) +* [PyCon Canada in Canada](http://www.pycon.ca/) +* [PyCon China in China](http://cn.pycon.org/) +* [PyCon CZ in the Czech Republic](http://cz.pycon.org/) +* [PyCon DE in Germany](http://de.pycon.org/) +* [PyCon DK in Denmark](http://pycon.dk/) +* [PyCon ES in Spain](http://www.es.pycon.org/) +* [PyCon Finland in Finland](http://fi.pycon.org/) +* [PyCon FR in France](http://fr.pycon.org/) +* [PyCon KR in Korea](http://www.pycon.kr/) +* [PyCon HK in Hong Kong](http://www.pycon.hk/) +* [PyCon India](http://in.pycon.org/) +* [PyCon Iran](http://www.pycon.ir/) +* [PyCon Ireland](http://python.ie/pyconireland) +* [PyCon Italia in Italy](http://www.pycon.it/) +* [PyCon Japan](http://jp.pycon.org/) +* [PyCon LT in Lithuania](http://pycon.lt/) +* [PyCon MY in Malaysia](http://www.pycon.my/) +* [PyCon Philippines in the Philippines](http://ph.pycon.org/) +* [PyCon PL in Poland](http://pl.pycon.org/) +* [PyCon Russia in Russia](http://pycon.ru/) +* [PyCon Singapore in Singapore](https://pycon.sg/) +* [PyCon Sweden in Sweden](http://www.pycon.se/) +* [PyCon SK in Slovakia](http://sk.pycon.org/) +* [PyCon Taiwan in Taiwan](http://tw.pycon.org/) +* [PyCon UK in the United Kingdom](http://pyconuk.org/) +* [PyCon Ukraine in Ukraine](http://ua.pycon.org/) +* [PyCon Uruguay in Uruguay](http://pycon.python.org.uy/) +* [PyCon Venezuela in Venezuela](http://ve.pycon.org/) +* [PyCon ZA in South Africa](http://za.pycon.org/) + + +Conferences +----------- +* [Djangocon Europe 2016](https://2016.djangocon.eu/) +* [Djangocon US 2015](https://2015.djangocon.us/) +* [Pydata seattle 2015](http://pydata.org/Seattle2015) +* [Pydata london 2015](http://pydata.org/london2015) +* [Pydata paris 2015](http://pydataparis.joinux.org/) +* [Pydata dallas 2015](http://pydata.org/dal2015) +* [Pydata berlin 2015](http://pydata.org/berlin2015) + +Contributors +============ + +* [Mohit Kumar bajoria](https://github.com/mbj36) \ No newline at end of file diff --git a/applications/community.html b/applications/community.html new file mode 100644 index 0000000..2afe74c --- /dev/null +++ b/applications/community.html @@ -0,0 +1,100 @@ + + + + + + Community | Python Pedia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+

Python Pedia

+

One Stop for Python Programming Resources. It's all about Python.

+
+ +
+ + + +
+ +
+ +
+ +
+ + + +
+
+ +
+ +
+
+ + + + \ No newline at end of file diff --git a/index.html b/index.html index caa84cb..70a1010 100644 --- a/index.html +++ b/index.html @@ -341,9 +341,9 @@

Tutorials

- +
-

Contribute

+

Python Community

@@ -353,7 +353,7 @@

Contribute

- Python Pedia is aimed to make a central repository for Python applications. Your contributions are welcome to make it better and better. The resources are categorized so beginners can visualize the things. + The community section covers links to different Pycons organised worldwide. It also contains links to local python meet up groups and various conferences like Djangocon, Pydata etc.

From bc33737a1d74648823ff3364bc7362496f672d66 Mon Sep 17 00:00:00 2001 From: mbj36 Date: Thu, 12 Nov 2015 23:04:02 +0530 Subject: [PATCH 05/31] Readme Updated --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d972592..66cb046 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Python Pedia is one stop solution for Python Programming Resources. The Resource * [Guis](https://pythonpedia.com/applications/guis.html) * [Testing](https://pythonpedia.com/applications/testing.html) * [Tutorials](https://pythonpedia.com/applications/tutorials.html) +* [Python Community](https://pythonpedia.com/applications/community.html) Contributing ------------ From 9d7fd98e6541ea7aaf2048f2cb88eecaef7f2592 Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Fri, 13 Nov 2015 19:56:45 +0530 Subject: [PATCH 06/31] Improved PR #37 and address issue -#36 --- applications/app-markdowns/community.md | 26 +++++++++++++++++-------- applications/community.html | 12 ++++++------ index.html | 2 +- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/applications/app-markdowns/community.md b/applications/app-markdowns/community.md index 5ac5415..1692e0f 100644 --- a/applications/app-markdowns/community.md +++ b/applications/app-markdowns/community.md @@ -1,7 +1,13 @@ Python Community ================ -The community section covers links to different Pycons organised worldwide. It also contains links to local python meet up groups and various conferences like Djangocon, Pydata etc. +Python has a large and diverse community. The community spreads the use of language by organising conferences like Pycon, Djangocon, PyData etc. Local user groups play a key role in educating beginners. + +Python Meetup Groups +-------------------- + +* [Official local user groups list](https://wiki.python.org/moin/LocalUserGroups) +* [World map of Python Meetups in meetup.com](http://python.meetup.com/) Pycons ------ @@ -49,13 +55,17 @@ Pycons Conferences ----------- -* [Djangocon Europe 2016](https://2016.djangocon.eu/) -* [Djangocon US 2015](https://2015.djangocon.us/) -* [Pydata seattle 2015](http://pydata.org/Seattle2015) -* [Pydata london 2015](http://pydata.org/london2015) -* [Pydata paris 2015](http://pydataparis.joinux.org/) -* [Pydata dallas 2015](http://pydata.org/dal2015) -* [Pydata berlin 2015](http://pydata.org/berlin2015) + +* [Djangocon Europe](https://2016.djangocon.eu/) +* [Djangocon US](https://2015.djangocon.us/) +* [PyData](http://pydata.org/) + +Newsletters +----------- + +* [Python Weekly](http://www.pythonweekly.com/) +* [PyCoder's Weekly](http://pycoders.com/) +* [Import Python](http://importpython.com/) Contributors ============ diff --git a/applications/community.html b/applications/community.html index 2afe74c..ea248e0 100644 --- a/applications/community.html +++ b/applications/community.html @@ -3,9 +3,9 @@ - Community | Python Pedia + Python Community | Python Pedia - + @@ -17,16 +17,16 @@ - - + + - - + + diff --git a/index.html b/index.html index 70a1010..e70a360 100644 --- a/index.html +++ b/index.html @@ -353,7 +353,7 @@

Python Community

- The community section covers links to different Pycons organised worldwide. It also contains links to local python meet up groups and various conferences like Djangocon, Pydata etc. + Python has a large and diverse community. The community spreads the use of language by organising conferences like Pycon, Djangocon, PyData etc. Local user groups play a key role in educating beginners.

From dd15437ce17e774d7b9e5a9fcfaa1503293f89ee Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Sat, 14 Nov 2015 12:38:24 +0530 Subject: [PATCH 07/31] Icon for community block - Issue #36 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e70a360..a490b22 100644 --- a/index.html +++ b/index.html @@ -349,7 +349,7 @@

Python Community

- +

From c8077d8b1d12d38960189177f82126510c45ab92 Mon Sep 17 00:00:00 2001 From: Mistress-Anna Date: Thu, 17 Dec 2015 16:40:02 +0100 Subject: [PATCH 08/31] Add the Weboob project to scraping frameworks --- applications/app-markdowns/web-development.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/app-markdowns/web-development.md b/applications/app-markdowns/web-development.md index 747efcd..421f3b6 100644 --- a/applications/app-markdowns/web-development.md +++ b/applications/app-markdowns/web-development.md @@ -310,6 +310,7 @@ Web Crawling * [portia](https://github.com/scrapinghub/portia) - Visual scraping for Scrapy. * [pyspider](https://github.com/binux/pyspider) - A powerful spider system. * [RoboBrowser](https://github.com/jmcarp/robobrowser) - A simple, Pythonic library for browsing the web without a standalone web browser. +* [Weboob](http://weboob.org/) - A framework for scraping sites with already existing site modules and ready-made client apps Web Content Extracting ---------------------- From bd83a4addef3b8f190fd844ff3ee438c868cff4a Mon Sep 17 00:00:00 2001 From: Leonardo Date: Fri, 12 Feb 2016 00:38:25 -0200 Subject: [PATCH 09/31] add remi --- applications/app-markdowns/guis.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/app-markdowns/guis.md b/applications/app-markdowns/guis.md index 617ef42..002ad3b 100644 --- a/applications/app-markdowns/guis.md +++ b/applications/app-markdowns/guis.md @@ -20,6 +20,7 @@ GUI * [wxPython](http://wxpython.org/) - A blending of the wxWidgets C++ class library with the Python. * [PyGObject](https://wiki.gnome.org/Projects/PyGObject) - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3) * [Flexx](https://github.com/zoofIO/flexx) - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering. +* [remi](https://github.com/dddomodossola/remi) - RemI is a GUI library for Python applications which transpiles an application's interface into HTML to be rendered in a web browser. Contributors ============ From c6af8f8b908d0dc8f34d8c01166f7f59969a306f Mon Sep 17 00:00:00 2001 From: Davide Rossi Date: Tue, 8 Mar 2016 19:51:36 +0100 Subject: [PATCH 10/31] Update testing.md Adds betamax with link and description in Mock section --- applications/app-markdowns/testing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/app-markdowns/testing.md b/applications/app-markdowns/testing.md index 876712a..4175ff6 100644 --- a/applications/app-markdowns/testing.md +++ b/applications/app-markdowns/testing.md @@ -38,6 +38,7 @@ Testing * [httpretty](http://falcao.it/HTTPretty/) - HTTP request mock tool for Python. * [mock](https://pypi.python.org/pypi/mock) - A Python Mocking and Patching Library for Testing. * [responses](https://github.com/dropbox/responses) - A utility library for mocking out the requests Python library. +* [betamax](https://github.com/sigmavirus24/betamax) - Testing apps that use requests without using mock ### Code Coverage From 62bce080d107132ac89cd80b43a5bcfe7412d70c Mon Sep 17 00:00:00 2001 From: mohan3d Date: Sat, 10 Dec 2016 16:15:48 +0200 Subject: [PATCH 11/31] Update web-development.md Add `webapp2` and `ferris`. --- applications/app-markdowns/web-development.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/applications/app-markdowns/web-development.md b/applications/app-markdowns/web-development.md index 421f3b6..ae20c02 100644 --- a/applications/app-markdowns/web-development.md +++ b/applications/app-markdowns/web-development.md @@ -25,6 +25,9 @@ Web Frameworks * [TurboGears](http://www.turbogears.org/) - The Web Framework that starts as a microframework and scales up to a full stack solution. * [web.py](http://webpy.org/) - A web framework for Python that is as simple as it is powerful. * [web2py](http://www.web2py.com) - A full stack web framework and platform focused in the ease of use. +* [webapp2](https://webapp2.readthedocs.io/en/latest/) - A lightweight Python web framework compatible with Google App Engine’s webapp. +* [Ferris](https://ferris-framework.appspot.com/) - A Lightweight, customizable framework written in Python to harness the power of App Engine and accelerate application development. + CMS --- From 3db27e78375c2b2fd1ec17d173380318d3bfc447 Mon Sep 17 00:00:00 2001 From: Shruti9520 Date: Thu, 26 Jan 2017 00:29:25 +0530 Subject: [PATCH 12/31] contribute --- applications/app-markdowns/web-development.md | 5 + .../app-markdowns/web-development.md~ | 452 ++++++++++++++++++ 2 files changed, 457 insertions(+) create mode 100644 applications/app-markdowns/web-development.md~ diff --git a/applications/app-markdowns/web-development.md b/applications/app-markdowns/web-development.md index ae20c02..966d2dc 100644 --- a/applications/app-markdowns/web-development.md +++ b/applications/app-markdowns/web-development.md @@ -27,6 +27,8 @@ Web Frameworks * [web2py](http://www.web2py.com) - A full stack web framework and platform focused in the ease of use. * [webapp2](https://webapp2.readthedocs.io/en/latest/) - A lightweight Python web framework compatible with Google App Engine’s webapp. * [Ferris](https://ferris-framework.appspot.com/) - A Lightweight, customizable framework written in Python to harness the power of App Engine and accelerate application development. +* [CubicWeb](https://www.cubicweb.org/) -A semantic web application framework featuring a query language, a selection+view mechanism, multiple databases, security, workflows, reusable components, etc. +* [Lino](http://www.lino-framework.org/) - a framework for creating customized enterprise-level Rich Internet Applications using Sencha ExtJS and Django. CMS @@ -434,6 +436,9 @@ Online courses/Videos * [Getting Started with Django - Pycon](https://www.youtube.com/watch?v=KZHXjGP71kQ) * [Flask Workshop - Miguel Grinberg](https://www.youtube.com/watch?v=DIcpEg77gdE) * [Full Stack Foundations](https://www.udacity.com/course/full-stack-foundations--ud088) +* [Learn Flask-Tutorialspoint](http://www.tutorialspoint.com/flask/) + + Contributors diff --git a/applications/app-markdowns/web-development.md~ b/applications/app-markdowns/web-development.md~ new file mode 100644 index 0000000..806c305 --- /dev/null +++ b/applications/app-markdowns/web-development.md~ @@ -0,0 +1,452 @@ +Web Development +=============== + +Python powers biggest sites on the internet like YouTube, Pinterest, Quora, Instagram, Reddit, Disqus etc. The frameworks like Django, Flask offer rich features and keeps you focused on your problem not common stuff. The Web applications built with Python are scalable and secure. So what are you waiting for? + +The following list covers almost every aspect of Web Development in Python. + +Web Frameworks +-------------- + +*Full stack web frameworks makes developer's life easier when building secure, scalable and maintanable web applications.* + +* [Django](https://www.djangoproject.com/) - The most popular web framework in Python. + * [awesome-django](https://github.com/rosarior/awesome-django) +* [Flask](http://flask.pocoo.org/) - A microframework for Python. + * [awesome-flask](https://github.com/humiaozuzu/awesome-flask) +* [Pyramid](http://www.pylonsproject.org/) - A small, fast, down-to-earth, open source Python web framework. + * [awesome-pyramid](https://github.com/ITCase/awesome-pyramid) +* [Tornado](http://www.tornadoweb.org/) - A Web framework and asynchronous networking library. +* [Bluebream](http://bluebream.zope.org/) - An open-source web application server, framework and library, formerly known as Zope 3. +* [Bottle](http://bottlepy.org/) - A fast, simple and lightweight WSGI micro web-framework. +* [CherryPy](http://www.cherrypy.org/) - A Minimalist Python Web Framework, HTTP/1.1-compliant and WSGI thread-pooled. +* [Grok](http://grok.zope.org/) - A framework built on the existing Zope 3 libraries. +* [guava](https://github.com/flatpeach/guava) - A lightweight and high performance web framework for Python written in C. +* [TurboGears](http://www.turbogears.org/) - The Web Framework that starts as a microframework and scales up to a full stack solution. +* [web.py](http://webpy.org/) - A web framework for Python that is as simple as it is powerful. +* [web2py](http://www.web2py.com) - A full stack web framework and platform focused in the ease of use. +* [webapp2](https://webapp2.readthedocs.io/en/latest/) - A lightweight Python web framework compatible with Google App Engine’s webapp. +* [Ferris](https://ferris-framework.appspot.com/) - A Lightweight, customizable framework written in Python to harness the power of App Engine and accelerate application development. +* [CubicWeb](https://www.cubicweb.org/) -A semantic web application framework featuring a query language, a selection+view mechanism, multiple databases, security, workflows, reusable components, etc. +* [Lino](http://www.lino-framework.org/) - a framework for creating customized enterprise-level Rich Internet Applications using Sencha ExtJS and Django. + + +CMS +--- + +*Content Management Systems.* + +* [django-cms](https://www.django-cms.org/en/) - An Open source enterprise CMS based on the Django. +* [djedi-cms](http://djedi-cms.org/) - A lightweight but yet powerful Django CMS with plugins, inline editing and performance in mind. +* [FeinCMS](http://www.feincms.org/) - One of the most advanced Content Management Systems built on Django. +* [Kotte](http://kotti.pylonsproject.org/) - A high-level, Pythonic web application framework built on Pyramid. +* [Mezzanine](http://mezzanine.jupo.org/) - A powerful, consistent, and flexible content management platform. +* [Opps](http://oppsproject.org/) - A Django-based CMS for magazines, newspapers websites and portals with high-traffic. +* [Plone](http://plone.org/) - A CMS built on top of the open source application server Zope. +* [Quokka](http://quokkaproject.org/) - Flexible, extensible, small CMS powered by Flask and MongoDB. +* [Wagtail](http://wagtail.io/) - A Django content management system. +* [Widgy](http://wid.gy/) - Last CMS framework, based on Django. + +E-commerce +---------- + +*Frameworks and libraries for e-commerce and payments.* + +* [django-oscar](http://oscarcommerce.com/) - An open-source e-commerce framework for Django. +* [django-shop](https://www.django-cms.org/) - A Django based shop system. +* [shoop](https://www.shoop.io/) - An open source E-Commerce platform based on Django. +* [alipay](https://github.com/lxneng/alipay) - Unofficial Alipay API for Python. +* [merchant](https://github.com/agiliq/merchant) - A Django app to accept payments from various payment processors. +* [money](https://github.com/carlospalol/money) - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. +* [python-currencies](https://github.com/Alir3z4/python-currencies) - Display money format and its filthy currencies. + +RESTful API +----------- + +*Libraries for developing RESTful APIs.* + +* [django-rest-framework](http://www.django-rest-framework.org/) - A powerful and flexible toolkit that makes it easy to build Web APIs. +* [django-tastypie](http://tastypieapi.org/) - Creating delicious APIs for Django apps. +* [django-formapi](https://github.com/5monkeys/django-formapi) - Create JSON APIs with HMAC authentication and Django form-validation. +* [flask-api](http://www.flaskapi.org/) - Browsable Web APIs for Flask. +* [flask-restful](http://flask-restful.readthedocs.org/) - An extension for Flask that adds support for quickly building REST APIs. +* [flask-restless](https://flask-restless.readthedocs.org/en/latest/) - Generating RESTful APIs for database models defined with SQLAlchemy. +* [flask-api-utils](https://github.com/marselester/flask-api-utils) - Flask extension that takes care of API representation and authentication. +* [falcon](http://falconframework.org/) - A high-performance Python framework for building cloud APIs and web app backends. +* [hug](https://github.com/timothycrosley/hug) - APIs for the future. Enables creating APIs with automatically generated documentation and versioning support with minimal lines of code. Built on-top of Falcon and Python3. +* [eve](https://github.com/nicolaiarocci/eve) - REST API framework powered by Flask, MongoDB and good intentions. +* [sandman](https://github.com/jeffknupp/sandman) - Automated REST APIs for existing database-driven systems. +* [restless](http://restless.readthedocs.org/en/latest/) - Framework agnostic REST framework based on lessons learned from TastyPie. +* [savory-pie](https://github.com/RueLaLa/savory-pie/) - REST API building library (Django, and others) +* [ripozo](https://github.com/vertical-knowledge/ripozo) - Quickly creating REST/HATEOAS/Hypermedia APIs with extensions for Flask and Django. +* [cornice](https://cornice.readthedocs.org/) - A REST framework for Pyramid. + +Third-party APIs +---------------- + +*Libraries for accessing third party services APIs. See: [List of Python API Wrappers and Libraries](https://github.com/realpython/list-of-python-api-wrappers).* + +* [apache-libcloud](https://libcloud.apache.org/) - One Python library for all clouds. +* [boto](https://github.com/boto/boto) - Python interface to Amazon Web Services. +* [django-wordpress](https://github.com/sunlightlabs/django-wordpress/) - WordPress models and views for Django. +* [facebook-sdk](https://github.com/pythonforfacebook/facebook-sdk) - Facebook Platform Python SDK. +* [facepy](https://github.com/jgorset/facepy) - Facepy makes it really easy to interact with Facebook's Graph API +* [gmail](https://github.com/charlierguo/gmail) - A Pythonic interface for Gmail. +* [google-api-python-client](https://github.com/google/google-api-python-client) - Google APIs Client Library for Python. +* [gspread](https://github.com/burnash/gspread) - Google Spreadsheets Python API. +* [twython](https://github.com/ryanmcgrath/twython) - A Python wrapper for the Twitter API. + +Authentication +-------------- + +*Libraries for implementing authentications schemes.* + +* OAuth + * [Authomatic](http://peterhudec.github.io/authomatic/) - Simple but powerful framework agnostic authentication/authorization client. + * [django-allauth](https://github.com/pennersr/django-allauth) - Authentication app for Django that "just works." + * [django-oauth-toolkit](https://github.com/evonove/django-oauth-toolkit) - OAuth2 goodies for the Djangonauts. + * [django-oauth2-provider](https://github.com/caffeinehit/django-oauth2-provider) - Providing OAuth2 access to Django app. + * [Flask-OAuthlib](https://github.com/lepture/flask-oauthlib) - OAuth 1.0/a, 2.0 implementation of client and provider for Flask. + * [OAuthLib](https://github.com/idan/oauthlib) - A generic and thorough implementation of the OAuth request-signing logic. + * [python-oauth2](https://github.com/simplegeo/python-oauth2) - A fully tested, abstract interface to creating OAuth clients and servers. + * [python-social-auth](https://github.com/omab/python-social-auth) - An easy-to-setup social authentication mechanism. + * [rauth](https://github.com/litl/rauth) - A Python library for OAuth 1.0/a, 2.0, and Ofly. + * [sanction](https://github.com/demianbrecht/sanction) - A dead simple OAuth2 client implementation. +* Others + * [jose](https://github.com/demonware/jose) - JavaScript Object Signing and Encryption draft implementation. + * [PyJWT](https://github.com/progrium/pyjwt) - Implementation of the JSON Web Token draft 01. + * [python-jws](https://github.com/brianloveswords/python-jws) - Implementation of JSON Web Signatures draft 02. + * [python-jwt](https://github.com/davedoesdev/python-jwt) - Module for generating and verifying JSON Web Tokens. + * [django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt) - JSON Web Token Authentication support for Django REST Framework + +Geolocation +----------- + +*Libraries for geocoding addresses and working with latitudes and longitudes.* + +* [GeoDjango](https://docs.djangoproject.com/en/dev/ref/contrib/gis/) - A world-class geographic web framework. +* [django-countries](https://github.com/SmileyChris/django-countries) - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models. +* [GeoIP](https://github.com/maxmind/geoip-api-python) - Python API for MaxMind GeoIP Legacy Database. +* [geojson](https://github.com/frewsxcv/python-geojson) - Python bindings and utilities for GeoJSON. +* [geopy](https://github.com/geopy/geopy) - Python Geocoding Toolbox. +* [pygeoip](https://github.com/appliedsec/pygeoip) - Pure Python GeoIP API. + +Debugging Tools +--------------- + +*Libraries for debugging code.* + +* [django-debug-toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar) - Display various debug information about the current request/response. +* [django-devserver](https://github.com/dcramer/django-devserver) - A drop-in replacement for Django's runserver. +* [flask-debugtoolbar](https://github.com/mgood/flask-debugtoolbar) - A port of the django-debug-toolbar to flask. + +HTTP +---- + +*Libraries for working with HTTP.* + +* [requests](http://docs.python-requests.org/) - HTTP Requests for Humans™. +* [grequests](https://github.com/kennethreitz/grequests) - requests + gevent for asynchronous HTTP requests. +* [httplib2](https://github.com/jcgregorio/httplib2) - Comprehensive HTTP client library. +* [treq](https://github.com/dreid/treq) - Python requests like API built on top of Twisted's HTTP client. +* [urllib3](https://github.com/shazow/urllib3) - A HTTP library with thread-safe connection pooling, file post support, sanity friendly. + +ORM +--- + +*Libraries that implement Object-Relational Mapping or data mapping techniques.* + +* Relational Databases + * [Django Models](https://docs.djangoproject.com/en/dev/topics/db/models/) - A part of Django. + * [SQLAlchemy](http://www.sqlalchemy.org/) - The Python SQL Toolkit and Object Relational Mapper. + * [awesome-sqlalchemy](https://github.com/dahlia/awesome-sqlalchemy) + * [peewee](https://github.com/coleifer/peewee) - A small, expressive ORM. + * [PonyORM](http://ponyorm.com) - ORM that provides a generator-oriented interface to SQL. +* NoSQL Databases + * [django-mongodb-engine](https://github.com/django-nonrel/mongodb-engine) - Django MongoDB Backend. + * [flywheel](https://github.com/mathcamp/flywheel) - Object mapper for Amazon DynamoDB. + * [MongoEngine](http://mongoengine.org/) - A Python Object-Document-Mapper for working with MongoDB. + * [redisco](https://github.com/kiddouk/redisco) - A Python Library for Simple Models and Containers Persisted in Redis. +* Others + * [butterdb](https://github.com/Widdershin/butterdb) - A Python ORM for Google Drive Spreadsheets. + +Template Engine +--------------- + +*Libraries and tools for templating and lexing.* + +* [Jinja2](https://github.com/mitsuhiko/jinja2) - A modern and designer friendly templating language. +* [Chameleon](https://chameleon.readthedocs.org/) - An HTML/XML template engine. Modeled after ZPT, optimized for speed. +* [Genshi](http://genshi.edgewall.org/) - Python templating toolkit for generation of web-aware output. +* [Mako](http://www.makotemplates.org/) - Hyperfast and lightweight templating for the Python platform. +* [Spitfire](https://code.google.com/p/spitfire/) - A very fast Python template compiler. + +Permissions +----------- + +*Libraries that allow or deny users access to data or functionality.* + +* [Carteblanche](http://www.github.com/neuman/python-carteblanche/) - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions. +* [django-guardian](https://github.com/lukaszb/django-guardian) - Implementation of per object permissions for Django 1.2+ +* [django-rules](https://github.com/dfunckt/django-rules) - A tiny but powerful app providing object-level permissions to Django, without requiring a database. + +Queue +----- + +*Libraries for working with event and task queues.* + +* [celery](http://www.celeryproject.org/) - An asynchronous task queue/job queue based on distributed message passing. +* [huey](https://github.com/coleifer/huey) - Little multi-threaded task queue. +* [mrq](https://github.com/pricingassistant/mrq) - Mr. Queue - A distributed worker task queue in Python using Redis & gevent. +* [rq](http://python-rq.org/) - Simple job queues for Python. +* [simpleq](https://github.com/rdegges/simpleq) - A simple, infinitely scalable, Amazon SQS based queue. + +Search +------ + +*Libraries and software for indexing and performing search queries on data.* + +* [django-haystack](https://github.com/toastdriven/django-haystack) - Modular search for Django. +* [elasticsearch-py](http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch). +* [elasticsearch-dsl-py](https://github.com/elastic/elasticsearch-dsl-py) - The official high-level Python client for Elasticsearch. +* [solrpy](https://code.google.com/p/solrpy/) - A Python client for [solr](http://lucene.apache.org/solr/). +* [Whoosh](http://whoosh.readthedocs.org/) - A fast, pure Python search engine library. + +News Feed +--------- + +*Libraries for building user's activities.* + +* [django-activity-stream](https://github.com/justquick/django-activity-stream) - Generate generic activity streams from the actions on your site. +* [Feedly](https://github.com/tschellenbach/Feedly) - A library to build newsfeed and notification systems using Cassandra and Redis. + +Asset Management +---------------- + +*Tools for managing, compressing and minifying website assets.* + +* [django-compressor](https://github.com/django-compressor/django-compressor) - Compresses linked and inline JavaScript or CSS into a single cached file. +* [django-storages](http://code.larlet.fr/django-storages/) - A collection of custom storage back ends for Django. +* [fanstatic](http://www.fanstatic.org/) - Packages, optimizes, and serves static file dependencies as Python packages. +* [File Conveyor](http://fileconveyor.org/) - A daemon to detect and sync files to CDNs, S3 and FTP. +* [Flask-Assets](http://flask-assets.readthedocs.org/) - Helps you integrate webassets into your Flask app. +* [glue](http://gluecss.com) - Glue is a simple command line tool to generate CSS sprites. +* [jinja-assets-compressor](https://github.com/jaysonsantos/jinja-assets-compressor) - A Jinja extension to compile and compress your assets. +* [webassets](http://webassets.readthedocs.org/) - Bundles, optimizes, and manages unique cache-busting URLs for static resources. + +Caching +------- + +*Libraries for caching data.* + +* [Beaker](http://beaker.readthedocs.org/) - A library for caching and sessions for use with web applications and stand-alone Python scripts and applications. +* [django-cache-machine](https://github.com/jbalogh/django-cache-machine) - Automatic caching and invalidation for Django models. +* [django-cacheops](https://github.com/Suor/django-cacheops) - A slick ORM cache with automatic granular event-driven invalidation. +* [django-viewlet](https://github.com/5monkeys/django-viewlet) - Render template parts with extended cache control. +* [dogpile.cache](http://dogpilecache.readthedocs.org/) - dogpile.cache is next generation replacement for Beaker made by same authors. +* [HermesCache](https://pypi.python.org/pypi/HermesCache) - Python caching library with tag-based invalidation and dogpile effect prevention. +* [johnny-cache](https://github.com/jmoiron/johnny-cache) - A caching framework for django applications. +* [pylibmc](https://github.com/lericson/pylibmc) - A Python wrapper around the [libmemcached](http://libmemcached.org/libMemcached.html) interface. + +Email +----- + +*Libraries for sending and parsing email.* + +* [django-celery-ses](https://github.com/StreetVoice/django-celery-ses) - Django email back end with AWS SES and Celery. +* [envelopes](http://tomekwojcik.github.io/envelopes/) - Mailing for human beings. +* [flanker](https://github.com/mailgun/flanker) - A email address and Mime parsing library. +* [imbox](https://github.com/martinrusev/imbox) - Python IMAP for Humans. +* [inbox.py](https://github.com/kennethreitz/inbox.py) - Python SMTP Server for Humans. +* [inbox](https://github.com/inboxapp/inbox) - The open source email toolkit. +* [lamson](https://github.com/zedshaw/lamson) - Pythonic SMTP Application Server. +* [mailjet](https://github.com/WoLpH/mailjet) - Mailjet API implementation for batch mailing, statistics and more. +* [marrow.mailer](https://github.com/marrow/marrow.mailer) - High-performance extensible mail delivery framework. +* [modoboa](https://github.com/tonioo/modoboa) - A mail hosting and management platform including a modern and simplified Web UI. +* [pyzmail](http://www.magiksys.net/pyzmail/) - Compose, send and parse emails. +* [Talon](https://github.com/mailgun/talon) - Mailgun library to extract message quotations and signatures. + +Internationalization +-------------------- + +*Libraries for working with i18n.* + +* [Babel](http://babel.pocoo.org/) - An internationalization library for Python. +* [Korean](https://korean.readthedocs.org/) - A library for [Korean](http://en.wikipedia.org/wiki/Korean_language) morphology. + +URL Manipulation +---------------- + +*Libraries for parsing URLs.* + +* [furl](https://github.com/gruns/furl) - A small Python library that makes manipulating URLs simple. +* [purl](https://github.com/codeinthehole/purl) - A simple, immutable URL class with a clean API for interrogation and manipulation. +* [pyshorteners](https://github.com/ellisonleao/pyshorteners) - A pure Python URL shortening lib. +* [short_url](https://github.com/Alir3z4/python-short_url) - Python implementation for generating Tiny URL and bit.ly-like URLs. +* [webargs](https://github.com/sloria/webargs) - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid. + +HTML Manipulation +----------------- + +*Libraries for working with HTML and XML.* + +* [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/bs4/doc/) - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML. +* [bleach](http://bleach.readthedocs.org/) - A whitelist-based HTML sanitization and text linkification library. +* [cssutils](https://pypi.python.org/pypi/cssutils/) - A CSS library for Python. +* [html5lib](https://github.com/html5lib/html5lib-python) - A standards-compliant library for parsing and serializing HTML documents and fragments. +* [lxml](http://lxml.de/) - A very fast, easy-to-use and versatile library for handling HTML and XML. +* [MarkupSafe](https://github.com/mitsuhiko/markupsafe) - Implements a XML/HTML/XHTML Markup safe string for Python. +* [pyquery](https://github.com/gawel/pyquery) - A jQuery-like library for parsing HTML. +* [untangle](https://github.com/stchris/untangle) - Converts XML documents to Python objects for easy access. +* [xhtml2pdf](https://github.com/chrisglass/xhtml2pdf) - HTML/CSS to PDF converter. +* [xmltodict](https://github.com/martinblech/xmltodict) - Working with XML feel like you are working with JSON. + +Web Crawling +------------ + +*Libraries for scraping websites.* + +* [Scrapy](http://scrapy.org/) - A fast high-level screen scraping and web crawling framework. +* [cola](https://github.com/chineking/cola) - A distributed crawling framework. +* [Demiurge](https://github.com/matiasb/demiurge) - PyQuery-based scraping micro-framework. +* [feedparser](http://pythonhosted.org/feedparser/) - Universal feed parser. +* [Grab](http://grablib.org/) - Site scraping framework. +* [MechanicalSoup](https://github.com/hickford/MechanicalSoup) - A Python library for automating interaction with websites. +* [portia](https://github.com/scrapinghub/portia) - Visual scraping for Scrapy. +* [pyspider](https://github.com/binux/pyspider) - A powerful spider system. +* [RoboBrowser](https://github.com/jmcarp/robobrowser) - A simple, Pythonic library for browsing the web without a standalone web browser. +* [Weboob](http://weboob.org/) - A framework for scraping sites with already existing site modules and ready-made client apps + +Web Content Extracting +---------------------- + +*Libraries for extracting web contents.* + +* [Haul](https://github.com/vinta/Haul) - An Extensible Image Crawler. +* [html2text](https://github.com/Alir3z4/html2text) - Convert HTML to Markdown-formatted text. +* [lassie](https://github.com/michaelhelmick/lassie) - Web Content Retrieval for Humans. +* [micawber](https://github.com/coleifer/micawber) - A small library for extracting rich content from URLs. +* [newspaper](https://github.com/codelucas/newspaper) - News extraction, article extraction and content curation in Python. +* [opengraph](https://github.com/erikriver/opengraph) - A Python module to parse the Open Graph Protocol +* [python-goose](https://github.com/grangier/python-goose) - HTML Content/Article Extractor. +* [python-readability](https://github.com/buriy/python-readability) - Fast Python port of arc90's readability tool. +* [sanitize](https://github.com/Alir3z4/sanitize) - Bringing sanity to world of messed-up data. +* [sumy](https://github.com/miso-belica/sumy) - A module for automatic summarization of text documents and HTML pages. +* [textract](https://github.com/deanmalmgren/textract) - Extract text from any document, Word, PowerPoint, PDFs, etc. + +Forms +----- + +*Libraries for working with forms.* + +* [Deform](http://deform.readthedocs.org/) - Python HTML form generation library influenced by the formish form generation library. +* [django-bootstrap3](https://github.com/dyve/django-bootstrap3) - Bootstrap 3 integration with Django. +* [django-crispy-forms](http://django-crispy-forms.readthedocs.org/) - A Django app which lets you create beautiful forms in a very elegant and DRY way. +* [django-remote-forms](https://github.com/WiserTogether/django-remote-forms) - A platform independent Django form serializer. +* [WTForms-JSON](http://wtforms-json.readthedocs.org/) - A WTForms extension for JSON data handling. +* [WTForms](http://wtforms.readthedocs.org/) - A flexible forms validation and rendering library. + +Data Validation +--------------- + +*Libraries for validating data. Used for forms in many cases.* + +* [Cerberus](http://python-cerberus.org) - A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition. +* [colander](http://docs.pylonsproject.org/projects/colander/) - A system for validating and deserializing data obtained via XML, JSON, an HTML form post or any other equally simple data serialization. +* [kmatch](https://github.com/ambitioninc/kmatch) - A language for matching/validating/filtering Python dictionaries. +* [schema](https://github.com/halst/schema) - A library for validating Python data structures. +* [Schematics](https://github.com/schematics/schematics) - Data Structure Validation. +* [valideer](https://github.com/podio/valideer) - Lightweight extensible data validation and adaptation library. +* [voluptuous](https://github.com/alecthomas/voluptuous) - A Python data validation library. It is primarily intended for validating data coming into Python as JSON, YAML, etc. + +Anti-spam +--------- + +*Libraries for fighting spam.* + +* [django-simple-captcha](https://github.com/mbi/django-simple-captcha) - A simple and highly customizable Django app to add captcha images to any Django form. +* [django-simple-spam-blocker](https://github.com/moqada/django-simple-spam-blocker) - Simple spam blocker for Django. + +Tagging +------- + +*Libraries for tagging items.* + +* [django-taggit](https://github.com/alex/django-taggit) - Simple tagging for Django. + +Admin Panels +------------ + +*Libraries for administrative interfaces.* + +* [Ajenti](https://github.com/Eugeny/ajenti) - The admin panel your servers deserve. +* [django-suit](http://djangosuit.com/) - Alternative Django Admin-Interface (free only for Non-commercial use). +* [django-xadmin](https://github.com/sshwsfc/django-xadmin) - Drop-in replacement of Django admin comes with lots of goodies. +* [flask-admin](https://github.com/mrjoes/flask-admin) - Simple and extensible administrative interface framework for Flask. +* [flower](https://github.com/mher/flower) - Real-time monitor and web admin for Celery. +* [Grappelli](http://grappelliproject.com) – A jazzy skin for the Django Admin-Interface. + +Static Site Generator +--------------------- + +*Static site generator is a software that takes some text + templates as input and produces HTML files on the output.* + +* [Pelican](http://blog.getpelican.com/) - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL. +* [Cactus](http://github.com/koenbok/Cactus/) – Static site generator for designers. +* [Hyde](https://hyde.github.com/) - Jinja2-based static web site generator. +* [Nikola](http://www.getnikola.com/) - A static website and blog generator. +* [Tinkerer](http://tinkerer.me/) - Tinkerer is a blogging engine/.static website generator powered by Sphinx. + +WebSocket +--------- + +*Libraries for working with WebSocket.* + +* [AutobahnPython](https://github.com/tavendo/AutobahnPython) - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html). +* [Crossbar](https://github.com/crossbario/crossbar/) - Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn). +* [WebSocket-for-Python](https://github.com/Lawouach/WebSocket-for-Python) - WebSocket client and server library for Python 2 and 3 as well as PyPy. + +Tutorials +========= + +Books/Resources +--------------- + +* [Official Django Tutorial](https://docs.djangoproject.com/en/1.8/intro/tutorial01/) +* [Official Flask tutorial](http://flask.pocoo.org/docs/0.10/tutorial/) +* [Official Bottle tutorial](http://bottlepy.org/docs/dev/tutorial_app.html) +* [Django Girls tutorial](http://tutorial.djangogirls.org/) +* [Flask tutorial - Miguel Grinberg](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) +* [Full Stack Python](http://www.fullstackpython.com/) +* [TaskBuster Django Tutorial](http://www.marinamele.com/taskbuster-django-tutorial) +* [Two Scoops of Django: Best Practices for Django 1.8](http://twoscoopspress.com/products/two-scoops-of-django-1-8) +* [Test-Driven Development with Python](http://chimera.labs.oreilly.com/books/1234000000754/) +* [Lightweight Django](http://www.amazon.in/Lightweight-Django/dp/149194594X/) +* [High Performance Django ](http://www.amazon.in/High-Performance-Django/dp/1508748128/) +* [Tango with Django ](http://www.tangowithdjango.com/) +* [Mastering Django](http://masteringdjango.com/) +* [Explore Flask](https://exploreflask.com/) + +Online courses/Videos +--------------------- + +* [Coding for Entrepreneurs](https://www.youtube.com/playlist?list=PLEsfXFp6DpzRcd-q4vR5qAgOZUuz8041S) +* [Go Django](https://godjango.com/) +* [Getting Started with Django](http://gettingstartedwithdjango.com/) +* [Getting Started with Django - Pycon](https://www.youtube.com/watch?v=KZHXjGP71kQ) +* [Flask Workshop - Miguel Grinberg](https://www.youtube.com/watch?v=DIcpEg77gdE) +* [Full Stack Foundations](https://www.udacity.com/course/full-stack-foundations--ud088) + + +Contributors +============ + +The following people helped in creating the above content. + +* Contributors to awesome-python +* [Timothy Edmund Crosley](https://github.com/timothycrosley) +* [Eric Hideki](https://github.com/erichideki/) +* [Sandip Bhagat](https://github.com/sandipbgt) +* [Mohit Bajoria](https://github.com/mbj36) + + From 305eae349b5b7c2a2e8d1d3ed88587656b3573ac Mon Sep 17 00:00:00 2001 From: Shruti9520 Date: Thu, 26 Jan 2017 00:36:53 +0530 Subject: [PATCH 13/31] contributor --- applications/app-markdowns/web-development.md | 1 + applications/app-markdowns/web-development.md~ | 3 +++ 2 files changed, 4 insertions(+) diff --git a/applications/app-markdowns/web-development.md b/applications/app-markdowns/web-development.md index 966d2dc..2fd0170 100644 --- a/applications/app-markdowns/web-development.md +++ b/applications/app-markdowns/web-development.md @@ -28,6 +28,7 @@ Web Frameworks * [webapp2](https://webapp2.readthedocs.io/en/latest/) - A lightweight Python web framework compatible with Google App Engine’s webapp. * [Ferris](https://ferris-framework.appspot.com/) - A Lightweight, customizable framework written in Python to harness the power of App Engine and accelerate application development. * [CubicWeb](https://www.cubicweb.org/) -A semantic web application framework featuring a query language, a selection+view mechanism, multiple databases, security, workflows, reusable components, etc. +* [WebBot](http://www.webbot.ws/Home) - A QT inspired web framework that includes a graphical interface builder, AJAX abstraction, and integration support for Google's AppEngine. * [Lino](http://www.lino-framework.org/) - a framework for creating customized enterprise-level Rich Internet Applications using Sencha ExtJS and Django. diff --git a/applications/app-markdowns/web-development.md~ b/applications/app-markdowns/web-development.md~ index 806c305..966d2dc 100644 --- a/applications/app-markdowns/web-development.md~ +++ b/applications/app-markdowns/web-development.md~ @@ -436,6 +436,9 @@ Online courses/Videos * [Getting Started with Django - Pycon](https://www.youtube.com/watch?v=KZHXjGP71kQ) * [Flask Workshop - Miguel Grinberg](https://www.youtube.com/watch?v=DIcpEg77gdE) * [Full Stack Foundations](https://www.udacity.com/course/full-stack-foundations--ud088) +* [Learn Flask-Tutorialspoint](http://www.tutorialspoint.com/flask/) + + Contributors From d19b0ac7fbd1a54da0161b5e99d0bde7f36ce0a7 Mon Sep 17 00:00:00 2001 From: Shruti Singh <14bcs049@smvdu.ac.in> Date: Thu, 26 Jan 2017 00:39:03 +0530 Subject: [PATCH 14/31] Delete web-development.md~ --- .../app-markdowns/web-development.md~ | 455 ------------------ 1 file changed, 455 deletions(-) delete mode 100644 applications/app-markdowns/web-development.md~ diff --git a/applications/app-markdowns/web-development.md~ b/applications/app-markdowns/web-development.md~ deleted file mode 100644 index 966d2dc..0000000 --- a/applications/app-markdowns/web-development.md~ +++ /dev/null @@ -1,455 +0,0 @@ -Web Development -=============== - -Python powers biggest sites on the internet like YouTube, Pinterest, Quora, Instagram, Reddit, Disqus etc. The frameworks like Django, Flask offer rich features and keeps you focused on your problem not common stuff. The Web applications built with Python are scalable and secure. So what are you waiting for? - -The following list covers almost every aspect of Web Development in Python. - -Web Frameworks --------------- - -*Full stack web frameworks makes developer's life easier when building secure, scalable and maintanable web applications.* - -* [Django](https://www.djangoproject.com/) - The most popular web framework in Python. - * [awesome-django](https://github.com/rosarior/awesome-django) -* [Flask](http://flask.pocoo.org/) - A microframework for Python. - * [awesome-flask](https://github.com/humiaozuzu/awesome-flask) -* [Pyramid](http://www.pylonsproject.org/) - A small, fast, down-to-earth, open source Python web framework. - * [awesome-pyramid](https://github.com/ITCase/awesome-pyramid) -* [Tornado](http://www.tornadoweb.org/) - A Web framework and asynchronous networking library. -* [Bluebream](http://bluebream.zope.org/) - An open-source web application server, framework and library, formerly known as Zope 3. -* [Bottle](http://bottlepy.org/) - A fast, simple and lightweight WSGI micro web-framework. -* [CherryPy](http://www.cherrypy.org/) - A Minimalist Python Web Framework, HTTP/1.1-compliant and WSGI thread-pooled. -* [Grok](http://grok.zope.org/) - A framework built on the existing Zope 3 libraries. -* [guava](https://github.com/flatpeach/guava) - A lightweight and high performance web framework for Python written in C. -* [TurboGears](http://www.turbogears.org/) - The Web Framework that starts as a microframework and scales up to a full stack solution. -* [web.py](http://webpy.org/) - A web framework for Python that is as simple as it is powerful. -* [web2py](http://www.web2py.com) - A full stack web framework and platform focused in the ease of use. -* [webapp2](https://webapp2.readthedocs.io/en/latest/) - A lightweight Python web framework compatible with Google App Engine’s webapp. -* [Ferris](https://ferris-framework.appspot.com/) - A Lightweight, customizable framework written in Python to harness the power of App Engine and accelerate application development. -* [CubicWeb](https://www.cubicweb.org/) -A semantic web application framework featuring a query language, a selection+view mechanism, multiple databases, security, workflows, reusable components, etc. -* [Lino](http://www.lino-framework.org/) - a framework for creating customized enterprise-level Rich Internet Applications using Sencha ExtJS and Django. - - -CMS ---- - -*Content Management Systems.* - -* [django-cms](https://www.django-cms.org/en/) - An Open source enterprise CMS based on the Django. -* [djedi-cms](http://djedi-cms.org/) - A lightweight but yet powerful Django CMS with plugins, inline editing and performance in mind. -* [FeinCMS](http://www.feincms.org/) - One of the most advanced Content Management Systems built on Django. -* [Kotte](http://kotti.pylonsproject.org/) - A high-level, Pythonic web application framework built on Pyramid. -* [Mezzanine](http://mezzanine.jupo.org/) - A powerful, consistent, and flexible content management platform. -* [Opps](http://oppsproject.org/) - A Django-based CMS for magazines, newspapers websites and portals with high-traffic. -* [Plone](http://plone.org/) - A CMS built on top of the open source application server Zope. -* [Quokka](http://quokkaproject.org/) - Flexible, extensible, small CMS powered by Flask and MongoDB. -* [Wagtail](http://wagtail.io/) - A Django content management system. -* [Widgy](http://wid.gy/) - Last CMS framework, based on Django. - -E-commerce ----------- - -*Frameworks and libraries for e-commerce and payments.* - -* [django-oscar](http://oscarcommerce.com/) - An open-source e-commerce framework for Django. -* [django-shop](https://www.django-cms.org/) - A Django based shop system. -* [shoop](https://www.shoop.io/) - An open source E-Commerce platform based on Django. -* [alipay](https://github.com/lxneng/alipay) - Unofficial Alipay API for Python. -* [merchant](https://github.com/agiliq/merchant) - A Django app to accept payments from various payment processors. -* [money](https://github.com/carlospalol/money) - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. -* [python-currencies](https://github.com/Alir3z4/python-currencies) - Display money format and its filthy currencies. - -RESTful API ------------ - -*Libraries for developing RESTful APIs.* - -* [django-rest-framework](http://www.django-rest-framework.org/) - A powerful and flexible toolkit that makes it easy to build Web APIs. -* [django-tastypie](http://tastypieapi.org/) - Creating delicious APIs for Django apps. -* [django-formapi](https://github.com/5monkeys/django-formapi) - Create JSON APIs with HMAC authentication and Django form-validation. -* [flask-api](http://www.flaskapi.org/) - Browsable Web APIs for Flask. -* [flask-restful](http://flask-restful.readthedocs.org/) - An extension for Flask that adds support for quickly building REST APIs. -* [flask-restless](https://flask-restless.readthedocs.org/en/latest/) - Generating RESTful APIs for database models defined with SQLAlchemy. -* [flask-api-utils](https://github.com/marselester/flask-api-utils) - Flask extension that takes care of API representation and authentication. -* [falcon](http://falconframework.org/) - A high-performance Python framework for building cloud APIs and web app backends. -* [hug](https://github.com/timothycrosley/hug) - APIs for the future. Enables creating APIs with automatically generated documentation and versioning support with minimal lines of code. Built on-top of Falcon and Python3. -* [eve](https://github.com/nicolaiarocci/eve) - REST API framework powered by Flask, MongoDB and good intentions. -* [sandman](https://github.com/jeffknupp/sandman) - Automated REST APIs for existing database-driven systems. -* [restless](http://restless.readthedocs.org/en/latest/) - Framework agnostic REST framework based on lessons learned from TastyPie. -* [savory-pie](https://github.com/RueLaLa/savory-pie/) - REST API building library (Django, and others) -* [ripozo](https://github.com/vertical-knowledge/ripozo) - Quickly creating REST/HATEOAS/Hypermedia APIs with extensions for Flask and Django. -* [cornice](https://cornice.readthedocs.org/) - A REST framework for Pyramid. - -Third-party APIs ----------------- - -*Libraries for accessing third party services APIs. See: [List of Python API Wrappers and Libraries](https://github.com/realpython/list-of-python-api-wrappers).* - -* [apache-libcloud](https://libcloud.apache.org/) - One Python library for all clouds. -* [boto](https://github.com/boto/boto) - Python interface to Amazon Web Services. -* [django-wordpress](https://github.com/sunlightlabs/django-wordpress/) - WordPress models and views for Django. -* [facebook-sdk](https://github.com/pythonforfacebook/facebook-sdk) - Facebook Platform Python SDK. -* [facepy](https://github.com/jgorset/facepy) - Facepy makes it really easy to interact with Facebook's Graph API -* [gmail](https://github.com/charlierguo/gmail) - A Pythonic interface for Gmail. -* [google-api-python-client](https://github.com/google/google-api-python-client) - Google APIs Client Library for Python. -* [gspread](https://github.com/burnash/gspread) - Google Spreadsheets Python API. -* [twython](https://github.com/ryanmcgrath/twython) - A Python wrapper for the Twitter API. - -Authentication --------------- - -*Libraries for implementing authentications schemes.* - -* OAuth - * [Authomatic](http://peterhudec.github.io/authomatic/) - Simple but powerful framework agnostic authentication/authorization client. - * [django-allauth](https://github.com/pennersr/django-allauth) - Authentication app for Django that "just works." - * [django-oauth-toolkit](https://github.com/evonove/django-oauth-toolkit) - OAuth2 goodies for the Djangonauts. - * [django-oauth2-provider](https://github.com/caffeinehit/django-oauth2-provider) - Providing OAuth2 access to Django app. - * [Flask-OAuthlib](https://github.com/lepture/flask-oauthlib) - OAuth 1.0/a, 2.0 implementation of client and provider for Flask. - * [OAuthLib](https://github.com/idan/oauthlib) - A generic and thorough implementation of the OAuth request-signing logic. - * [python-oauth2](https://github.com/simplegeo/python-oauth2) - A fully tested, abstract interface to creating OAuth clients and servers. - * [python-social-auth](https://github.com/omab/python-social-auth) - An easy-to-setup social authentication mechanism. - * [rauth](https://github.com/litl/rauth) - A Python library for OAuth 1.0/a, 2.0, and Ofly. - * [sanction](https://github.com/demianbrecht/sanction) - A dead simple OAuth2 client implementation. -* Others - * [jose](https://github.com/demonware/jose) - JavaScript Object Signing and Encryption draft implementation. - * [PyJWT](https://github.com/progrium/pyjwt) - Implementation of the JSON Web Token draft 01. - * [python-jws](https://github.com/brianloveswords/python-jws) - Implementation of JSON Web Signatures draft 02. - * [python-jwt](https://github.com/davedoesdev/python-jwt) - Module for generating and verifying JSON Web Tokens. - * [django-rest-framework-jwt](https://github.com/GetBlimp/django-rest-framework-jwt) - JSON Web Token Authentication support for Django REST Framework - -Geolocation ------------ - -*Libraries for geocoding addresses and working with latitudes and longitudes.* - -* [GeoDjango](https://docs.djangoproject.com/en/dev/ref/contrib/gis/) - A world-class geographic web framework. -* [django-countries](https://github.com/SmileyChris/django-countries) - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models. -* [GeoIP](https://github.com/maxmind/geoip-api-python) - Python API for MaxMind GeoIP Legacy Database. -* [geojson](https://github.com/frewsxcv/python-geojson) - Python bindings and utilities for GeoJSON. -* [geopy](https://github.com/geopy/geopy) - Python Geocoding Toolbox. -* [pygeoip](https://github.com/appliedsec/pygeoip) - Pure Python GeoIP API. - -Debugging Tools ---------------- - -*Libraries for debugging code.* - -* [django-debug-toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar) - Display various debug information about the current request/response. -* [django-devserver](https://github.com/dcramer/django-devserver) - A drop-in replacement for Django's runserver. -* [flask-debugtoolbar](https://github.com/mgood/flask-debugtoolbar) - A port of the django-debug-toolbar to flask. - -HTTP ----- - -*Libraries for working with HTTP.* - -* [requests](http://docs.python-requests.org/) - HTTP Requests for Humans™. -* [grequests](https://github.com/kennethreitz/grequests) - requests + gevent for asynchronous HTTP requests. -* [httplib2](https://github.com/jcgregorio/httplib2) - Comprehensive HTTP client library. -* [treq](https://github.com/dreid/treq) - Python requests like API built on top of Twisted's HTTP client. -* [urllib3](https://github.com/shazow/urllib3) - A HTTP library with thread-safe connection pooling, file post support, sanity friendly. - -ORM ---- - -*Libraries that implement Object-Relational Mapping or data mapping techniques.* - -* Relational Databases - * [Django Models](https://docs.djangoproject.com/en/dev/topics/db/models/) - A part of Django. - * [SQLAlchemy](http://www.sqlalchemy.org/) - The Python SQL Toolkit and Object Relational Mapper. - * [awesome-sqlalchemy](https://github.com/dahlia/awesome-sqlalchemy) - * [peewee](https://github.com/coleifer/peewee) - A small, expressive ORM. - * [PonyORM](http://ponyorm.com) - ORM that provides a generator-oriented interface to SQL. -* NoSQL Databases - * [django-mongodb-engine](https://github.com/django-nonrel/mongodb-engine) - Django MongoDB Backend. - * [flywheel](https://github.com/mathcamp/flywheel) - Object mapper for Amazon DynamoDB. - * [MongoEngine](http://mongoengine.org/) - A Python Object-Document-Mapper for working with MongoDB. - * [redisco](https://github.com/kiddouk/redisco) - A Python Library for Simple Models and Containers Persisted in Redis. -* Others - * [butterdb](https://github.com/Widdershin/butterdb) - A Python ORM for Google Drive Spreadsheets. - -Template Engine ---------------- - -*Libraries and tools for templating and lexing.* - -* [Jinja2](https://github.com/mitsuhiko/jinja2) - A modern and designer friendly templating language. -* [Chameleon](https://chameleon.readthedocs.org/) - An HTML/XML template engine. Modeled after ZPT, optimized for speed. -* [Genshi](http://genshi.edgewall.org/) - Python templating toolkit for generation of web-aware output. -* [Mako](http://www.makotemplates.org/) - Hyperfast and lightweight templating for the Python platform. -* [Spitfire](https://code.google.com/p/spitfire/) - A very fast Python template compiler. - -Permissions ------------ - -*Libraries that allow or deny users access to data or functionality.* - -* [Carteblanche](http://www.github.com/neuman/python-carteblanche/) - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions. -* [django-guardian](https://github.com/lukaszb/django-guardian) - Implementation of per object permissions for Django 1.2+ -* [django-rules](https://github.com/dfunckt/django-rules) - A tiny but powerful app providing object-level permissions to Django, without requiring a database. - -Queue ------ - -*Libraries for working with event and task queues.* - -* [celery](http://www.celeryproject.org/) - An asynchronous task queue/job queue based on distributed message passing. -* [huey](https://github.com/coleifer/huey) - Little multi-threaded task queue. -* [mrq](https://github.com/pricingassistant/mrq) - Mr. Queue - A distributed worker task queue in Python using Redis & gevent. -* [rq](http://python-rq.org/) - Simple job queues for Python. -* [simpleq](https://github.com/rdegges/simpleq) - A simple, infinitely scalable, Amazon SQS based queue. - -Search ------- - -*Libraries and software for indexing and performing search queries on data.* - -* [django-haystack](https://github.com/toastdriven/django-haystack) - Modular search for Django. -* [elasticsearch-py](http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/) - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch). -* [elasticsearch-dsl-py](https://github.com/elastic/elasticsearch-dsl-py) - The official high-level Python client for Elasticsearch. -* [solrpy](https://code.google.com/p/solrpy/) - A Python client for [solr](http://lucene.apache.org/solr/). -* [Whoosh](http://whoosh.readthedocs.org/) - A fast, pure Python search engine library. - -News Feed ---------- - -*Libraries for building user's activities.* - -* [django-activity-stream](https://github.com/justquick/django-activity-stream) - Generate generic activity streams from the actions on your site. -* [Feedly](https://github.com/tschellenbach/Feedly) - A library to build newsfeed and notification systems using Cassandra and Redis. - -Asset Management ----------------- - -*Tools for managing, compressing and minifying website assets.* - -* [django-compressor](https://github.com/django-compressor/django-compressor) - Compresses linked and inline JavaScript or CSS into a single cached file. -* [django-storages](http://code.larlet.fr/django-storages/) - A collection of custom storage back ends for Django. -* [fanstatic](http://www.fanstatic.org/) - Packages, optimizes, and serves static file dependencies as Python packages. -* [File Conveyor](http://fileconveyor.org/) - A daemon to detect and sync files to CDNs, S3 and FTP. -* [Flask-Assets](http://flask-assets.readthedocs.org/) - Helps you integrate webassets into your Flask app. -* [glue](http://gluecss.com) - Glue is a simple command line tool to generate CSS sprites. -* [jinja-assets-compressor](https://github.com/jaysonsantos/jinja-assets-compressor) - A Jinja extension to compile and compress your assets. -* [webassets](http://webassets.readthedocs.org/) - Bundles, optimizes, and manages unique cache-busting URLs for static resources. - -Caching -------- - -*Libraries for caching data.* - -* [Beaker](http://beaker.readthedocs.org/) - A library for caching and sessions for use with web applications and stand-alone Python scripts and applications. -* [django-cache-machine](https://github.com/jbalogh/django-cache-machine) - Automatic caching and invalidation for Django models. -* [django-cacheops](https://github.com/Suor/django-cacheops) - A slick ORM cache with automatic granular event-driven invalidation. -* [django-viewlet](https://github.com/5monkeys/django-viewlet) - Render template parts with extended cache control. -* [dogpile.cache](http://dogpilecache.readthedocs.org/) - dogpile.cache is next generation replacement for Beaker made by same authors. -* [HermesCache](https://pypi.python.org/pypi/HermesCache) - Python caching library with tag-based invalidation and dogpile effect prevention. -* [johnny-cache](https://github.com/jmoiron/johnny-cache) - A caching framework for django applications. -* [pylibmc](https://github.com/lericson/pylibmc) - A Python wrapper around the [libmemcached](http://libmemcached.org/libMemcached.html) interface. - -Email ------ - -*Libraries for sending and parsing email.* - -* [django-celery-ses](https://github.com/StreetVoice/django-celery-ses) - Django email back end with AWS SES and Celery. -* [envelopes](http://tomekwojcik.github.io/envelopes/) - Mailing for human beings. -* [flanker](https://github.com/mailgun/flanker) - A email address and Mime parsing library. -* [imbox](https://github.com/martinrusev/imbox) - Python IMAP for Humans. -* [inbox.py](https://github.com/kennethreitz/inbox.py) - Python SMTP Server for Humans. -* [inbox](https://github.com/inboxapp/inbox) - The open source email toolkit. -* [lamson](https://github.com/zedshaw/lamson) - Pythonic SMTP Application Server. -* [mailjet](https://github.com/WoLpH/mailjet) - Mailjet API implementation for batch mailing, statistics and more. -* [marrow.mailer](https://github.com/marrow/marrow.mailer) - High-performance extensible mail delivery framework. -* [modoboa](https://github.com/tonioo/modoboa) - A mail hosting and management platform including a modern and simplified Web UI. -* [pyzmail](http://www.magiksys.net/pyzmail/) - Compose, send and parse emails. -* [Talon](https://github.com/mailgun/talon) - Mailgun library to extract message quotations and signatures. - -Internationalization --------------------- - -*Libraries for working with i18n.* - -* [Babel](http://babel.pocoo.org/) - An internationalization library for Python. -* [Korean](https://korean.readthedocs.org/) - A library for [Korean](http://en.wikipedia.org/wiki/Korean_language) morphology. - -URL Manipulation ----------------- - -*Libraries for parsing URLs.* - -* [furl](https://github.com/gruns/furl) - A small Python library that makes manipulating URLs simple. -* [purl](https://github.com/codeinthehole/purl) - A simple, immutable URL class with a clean API for interrogation and manipulation. -* [pyshorteners](https://github.com/ellisonleao/pyshorteners) - A pure Python URL shortening lib. -* [short_url](https://github.com/Alir3z4/python-short_url) - Python implementation for generating Tiny URL and bit.ly-like URLs. -* [webargs](https://github.com/sloria/webargs) - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid. - -HTML Manipulation ------------------ - -*Libraries for working with HTML and XML.* - -* [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/bs4/doc/) - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML. -* [bleach](http://bleach.readthedocs.org/) - A whitelist-based HTML sanitization and text linkification library. -* [cssutils](https://pypi.python.org/pypi/cssutils/) - A CSS library for Python. -* [html5lib](https://github.com/html5lib/html5lib-python) - A standards-compliant library for parsing and serializing HTML documents and fragments. -* [lxml](http://lxml.de/) - A very fast, easy-to-use and versatile library for handling HTML and XML. -* [MarkupSafe](https://github.com/mitsuhiko/markupsafe) - Implements a XML/HTML/XHTML Markup safe string for Python. -* [pyquery](https://github.com/gawel/pyquery) - A jQuery-like library for parsing HTML. -* [untangle](https://github.com/stchris/untangle) - Converts XML documents to Python objects for easy access. -* [xhtml2pdf](https://github.com/chrisglass/xhtml2pdf) - HTML/CSS to PDF converter. -* [xmltodict](https://github.com/martinblech/xmltodict) - Working with XML feel like you are working with JSON. - -Web Crawling ------------- - -*Libraries for scraping websites.* - -* [Scrapy](http://scrapy.org/) - A fast high-level screen scraping and web crawling framework. -* [cola](https://github.com/chineking/cola) - A distributed crawling framework. -* [Demiurge](https://github.com/matiasb/demiurge) - PyQuery-based scraping micro-framework. -* [feedparser](http://pythonhosted.org/feedparser/) - Universal feed parser. -* [Grab](http://grablib.org/) - Site scraping framework. -* [MechanicalSoup](https://github.com/hickford/MechanicalSoup) - A Python library for automating interaction with websites. -* [portia](https://github.com/scrapinghub/portia) - Visual scraping for Scrapy. -* [pyspider](https://github.com/binux/pyspider) - A powerful spider system. -* [RoboBrowser](https://github.com/jmcarp/robobrowser) - A simple, Pythonic library for browsing the web without a standalone web browser. -* [Weboob](http://weboob.org/) - A framework for scraping sites with already existing site modules and ready-made client apps - -Web Content Extracting ----------------------- - -*Libraries for extracting web contents.* - -* [Haul](https://github.com/vinta/Haul) - An Extensible Image Crawler. -* [html2text](https://github.com/Alir3z4/html2text) - Convert HTML to Markdown-formatted text. -* [lassie](https://github.com/michaelhelmick/lassie) - Web Content Retrieval for Humans. -* [micawber](https://github.com/coleifer/micawber) - A small library for extracting rich content from URLs. -* [newspaper](https://github.com/codelucas/newspaper) - News extraction, article extraction and content curation in Python. -* [opengraph](https://github.com/erikriver/opengraph) - A Python module to parse the Open Graph Protocol -* [python-goose](https://github.com/grangier/python-goose) - HTML Content/Article Extractor. -* [python-readability](https://github.com/buriy/python-readability) - Fast Python port of arc90's readability tool. -* [sanitize](https://github.com/Alir3z4/sanitize) - Bringing sanity to world of messed-up data. -* [sumy](https://github.com/miso-belica/sumy) - A module for automatic summarization of text documents and HTML pages. -* [textract](https://github.com/deanmalmgren/textract) - Extract text from any document, Word, PowerPoint, PDFs, etc. - -Forms ------ - -*Libraries for working with forms.* - -* [Deform](http://deform.readthedocs.org/) - Python HTML form generation library influenced by the formish form generation library. -* [django-bootstrap3](https://github.com/dyve/django-bootstrap3) - Bootstrap 3 integration with Django. -* [django-crispy-forms](http://django-crispy-forms.readthedocs.org/) - A Django app which lets you create beautiful forms in a very elegant and DRY way. -* [django-remote-forms](https://github.com/WiserTogether/django-remote-forms) - A platform independent Django form serializer. -* [WTForms-JSON](http://wtforms-json.readthedocs.org/) - A WTForms extension for JSON data handling. -* [WTForms](http://wtforms.readthedocs.org/) - A flexible forms validation and rendering library. - -Data Validation ---------------- - -*Libraries for validating data. Used for forms in many cases.* - -* [Cerberus](http://python-cerberus.org) - A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition. -* [colander](http://docs.pylonsproject.org/projects/colander/) - A system for validating and deserializing data obtained via XML, JSON, an HTML form post or any other equally simple data serialization. -* [kmatch](https://github.com/ambitioninc/kmatch) - A language for matching/validating/filtering Python dictionaries. -* [schema](https://github.com/halst/schema) - A library for validating Python data structures. -* [Schematics](https://github.com/schematics/schematics) - Data Structure Validation. -* [valideer](https://github.com/podio/valideer) - Lightweight extensible data validation and adaptation library. -* [voluptuous](https://github.com/alecthomas/voluptuous) - A Python data validation library. It is primarily intended for validating data coming into Python as JSON, YAML, etc. - -Anti-spam ---------- - -*Libraries for fighting spam.* - -* [django-simple-captcha](https://github.com/mbi/django-simple-captcha) - A simple and highly customizable Django app to add captcha images to any Django form. -* [django-simple-spam-blocker](https://github.com/moqada/django-simple-spam-blocker) - Simple spam blocker for Django. - -Tagging -------- - -*Libraries for tagging items.* - -* [django-taggit](https://github.com/alex/django-taggit) - Simple tagging for Django. - -Admin Panels ------------- - -*Libraries for administrative interfaces.* - -* [Ajenti](https://github.com/Eugeny/ajenti) - The admin panel your servers deserve. -* [django-suit](http://djangosuit.com/) - Alternative Django Admin-Interface (free only for Non-commercial use). -* [django-xadmin](https://github.com/sshwsfc/django-xadmin) - Drop-in replacement of Django admin comes with lots of goodies. -* [flask-admin](https://github.com/mrjoes/flask-admin) - Simple and extensible administrative interface framework for Flask. -* [flower](https://github.com/mher/flower) - Real-time monitor and web admin for Celery. -* [Grappelli](http://grappelliproject.com) – A jazzy skin for the Django Admin-Interface. - -Static Site Generator ---------------------- - -*Static site generator is a software that takes some text + templates as input and produces HTML files on the output.* - -* [Pelican](http://blog.getpelican.com/) - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL. -* [Cactus](http://github.com/koenbok/Cactus/) – Static site generator for designers. -* [Hyde](https://hyde.github.com/) - Jinja2-based static web site generator. -* [Nikola](http://www.getnikola.com/) - A static website and blog generator. -* [Tinkerer](http://tinkerer.me/) - Tinkerer is a blogging engine/.static website generator powered by Sphinx. - -WebSocket ---------- - -*Libraries for working with WebSocket.* - -* [AutobahnPython](https://github.com/tavendo/AutobahnPython) - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html). -* [Crossbar](https://github.com/crossbario/crossbar/) - Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn). -* [WebSocket-for-Python](https://github.com/Lawouach/WebSocket-for-Python) - WebSocket client and server library for Python 2 and 3 as well as PyPy. - -Tutorials -========= - -Books/Resources ---------------- - -* [Official Django Tutorial](https://docs.djangoproject.com/en/1.8/intro/tutorial01/) -* [Official Flask tutorial](http://flask.pocoo.org/docs/0.10/tutorial/) -* [Official Bottle tutorial](http://bottlepy.org/docs/dev/tutorial_app.html) -* [Django Girls tutorial](http://tutorial.djangogirls.org/) -* [Flask tutorial - Miguel Grinberg](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) -* [Full Stack Python](http://www.fullstackpython.com/) -* [TaskBuster Django Tutorial](http://www.marinamele.com/taskbuster-django-tutorial) -* [Two Scoops of Django: Best Practices for Django 1.8](http://twoscoopspress.com/products/two-scoops-of-django-1-8) -* [Test-Driven Development with Python](http://chimera.labs.oreilly.com/books/1234000000754/) -* [Lightweight Django](http://www.amazon.in/Lightweight-Django/dp/149194594X/) -* [High Performance Django ](http://www.amazon.in/High-Performance-Django/dp/1508748128/) -* [Tango with Django ](http://www.tangowithdjango.com/) -* [Mastering Django](http://masteringdjango.com/) -* [Explore Flask](https://exploreflask.com/) - -Online courses/Videos ---------------------- - -* [Coding for Entrepreneurs](https://www.youtube.com/playlist?list=PLEsfXFp6DpzRcd-q4vR5qAgOZUuz8041S) -* [Go Django](https://godjango.com/) -* [Getting Started with Django](http://gettingstartedwithdjango.com/) -* [Getting Started with Django - Pycon](https://www.youtube.com/watch?v=KZHXjGP71kQ) -* [Flask Workshop - Miguel Grinberg](https://www.youtube.com/watch?v=DIcpEg77gdE) -* [Full Stack Foundations](https://www.udacity.com/course/full-stack-foundations--ud088) -* [Learn Flask-Tutorialspoint](http://www.tutorialspoint.com/flask/) - - - - -Contributors -============ - -The following people helped in creating the above content. - -* Contributors to awesome-python -* [Timothy Edmund Crosley](https://github.com/timothycrosley) -* [Eric Hideki](https://github.com/erichideki/) -* [Sandip Bhagat](https://github.com/sandipbgt) -* [Mohit Bajoria](https://github.com/mbj36) - - From d2b6c1bef06ad4871e072508b6cb8b56bcb81c4a Mon Sep 17 00:00:00 2001 From: Parbhat Puri Date: Wed, 1 Feb 2017 11:11:51 +0530 Subject: [PATCH 15/31] fix content --- applications/app-markdowns/database-access.md | 2 +- applications/database-access.html | 8 ++++---- index.html | 18 +++++++++--------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/applications/app-markdowns/database-access.md b/applications/app-markdowns/database-access.md index ce05ec0..699a2aa 100644 --- a/applications/app-markdowns/database-access.md +++ b/applications/app-markdowns/database-access.md @@ -1,7 +1,7 @@ Database Access =============== -Python comes with a Sqlite Database and can be connected to other Databases by libraries like mysql-python, psycopg2, PyMongo etc. The Libraries like SQLAlchemy, Django ORM helps in implementing ORM. +Python comes with a sqlite3 module and can be connected to other Databases by libraries like mysql-python, psycopg2, PyMongo etc. The Libraries like SQLAlchemy, Django ORM helps in implementing ORM. Database -------- diff --git a/applications/database-access.html b/applications/database-access.html index edf8f41..8479845 100644 --- a/applications/database-access.html +++ b/applications/database-access.html @@ -18,7 +18,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -75,7 +75,7 @@

Python Pedia

- +
@@ -97,4 +97,4 @@

Python Pedia

- \ No newline at end of file + diff --git a/index.html b/index.html index a490b22..46193a2 100644 --- a/index.html +++ b/index.html @@ -75,7 +75,7 @@

One Stop for Python Programming Resources. It's all about Python.

- +
@@ -101,7 +101,7 @@

Scientific and Numeric

- +
@@ -124,7 +124,7 @@

Web Development

- +
@@ -197,7 +197,7 @@

Game Development

- +
@@ -236,7 +236,7 @@

Database Access

- Python comes with a Sqlite Database and can be connected to other Databases + Python comes with a sqlite3 module and can be connected to other Databases by libraries like mysql-python, psycopg2, PyMongo etc. The Libraries like SQLAlchemy, Django ORM helps in implementing ORM.

@@ -244,7 +244,7 @@

Database Access

- +
@@ -291,7 +291,7 @@

GUIs

- +
@@ -314,7 +314,7 @@

Testing

- +
@@ -360,7 +360,7 @@

Python Community

- +