From cf77cb0475ad534e3162182005fd23c609ccd1ee Mon Sep 17 00:00:00 2001 From: goodwillcoding Date: Wed, 30 Mar 2016 15:42:52 -0700 Subject: [PATCH 1/4] Update Pyramid section to be descriptive of what the framework Remove statements as what is most popular and used by default since it is not backed up by data. --- docs/scenarios/web.rst | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/docs/scenarios/web.rst b/docs/scenarios/web.rst index 19cddecb6..8b945ee5b 100644 --- a/docs/scenarios/web.rst +++ b/docs/scenarios/web.rst @@ -61,8 +61,6 @@ project as-is, or customized to fit your needs. There are annual Django conferences `in the United States `_ and `in Europe `_. -The majority of new Python web applications today are built with Django. - Flask ----- @@ -85,9 +83,6 @@ For those that do, there are many `Extensions `_ available that may suit your needs. Or, you can easily use any library you want yourself! -Flask is default choice for any Python web application that isn't a good -fit for Django. - Tornado -------- @@ -102,14 +97,18 @@ I do not recommend using Tornado unless you think you need it. Pyramid -------- -`Pyramid `_ is a lot like Django, except -with a heavier focus on modularity. It comes with a smaller number of -libraries ("batteries") built-in, and encourages users to extend its -base functionality. +`Pyramid `_ lies somewhere between a big +framework like Django and the microframeworks: It comes with a lot of libraries +and functionality and can thus not be considered lightweight. On the other +hand, it does not provide all the functionality Django does. Instead Pyramid +brings basic support for most regular tasks and provides a great deal of +extensibility. Additionally, Pyramid has a huge focus on complete +`documentation `__ +and boast 100% unittest coverage. + +**Support** can also be found in the +`documentation `__. -Pyramid does not have a large user base, unlike Django and Flask. It's a -capable framework, but not a very popular choice for new Python web -applications today. Web Servers ::::::::::: From 05531d619c71b45dd338e2962d8f2cc0fb4edf73 Mon Sep 17 00:00:00 2001 From: goodwillcoding Date: Wed, 30 Mar 2016 16:28:34 -0700 Subject: [PATCH 2/4] Chameleon does not come from Pyramid world Mako is not the default for Pyramid, Pyramid no longer has default templates, you can choose one of many --- docs/scenarios/web.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/scenarios/web.rst b/docs/scenarios/web.rst index 8b945ee5b..a9fcf2829 100644 --- a/docs/scenarios/web.rst +++ b/docs/scenarios/web.rst @@ -451,16 +451,16 @@ you can replace it with a more terse and readable syntax that uses the pattern But keep in mind that the full `Default Text` syntax also allows for default content in the unrendered template. -Being from the Pyramid world, Chameleon is not widely used. +Integration with Chameleon is available for a number of popular web frameworks +including Plone/Zope2, Pyramid, Django and Grok. +See: https://chameleon.readthedocs.org/en/latest/integration.html Mako ---- `Mako `_ is a template language that compiles to Python for maximum performance. Its syntax and api is borrowed from the best parts of other -templating languages like Django and Jinja2 templates. It is the default template -language included with the `Pylons and Pyramid `_ web -frameworks. +templating languages like Django and Jinja2 templates. An example template in Mako looks like: From 41f936af3451352e6bbd1f9646e112b2bac1bd86 Mon Sep 17 00:00:00 2001 From: goodwillcoding Date: Wed, 30 Mar 2016 16:49:10 -0700 Subject: [PATCH 3/4] push rewording on pyramid restore recommendations on django and flask --- docs/scenarios/web.rst | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/scenarios/web.rst b/docs/scenarios/web.rst index a9fcf2829..a3aab635f 100644 --- a/docs/scenarios/web.rst +++ b/docs/scenarios/web.rst @@ -61,6 +61,9 @@ project as-is, or customized to fit your needs. There are annual Django conferences `in the United States `_ and `in Europe `_. +Django is a popular framework and you will find many sites and projects built +with on it. + Flask ----- @@ -83,6 +86,8 @@ For those that do, there are many `Extensions `_ available that may suit your needs. Or, you can easily use any library you want yourself! +Flask is a common choice over Django because it is for developers who like +minimalistic approach. Tornado -------- @@ -98,17 +103,26 @@ Pyramid -------- `Pyramid `_ lies somewhere between a big -framework like Django and the microframeworks: It comes with a lot of libraries -and functionality and can thus not be considered lightweight. On the other -hand, it does not provide all the functionality Django does. Instead Pyramid -brings basic support for most regular tasks and provides a great deal of -extensibility. Additionally, Pyramid has a huge focus on complete +framework like Django and the microframeworks. Instead, it practices a modular +approach where you can specify include any libraries as needed which provides a +great deal of extensibility. By contrast to Django which includes everything in +one package (though you might not need to use it all). + +Notably, Pyramid provides a lot of adapter to existing libraries. For example, +it supports nearly all the templating languages Python has to offer and +it's modular approach allows you use more then one. Same is true of it's +database support. You can use SQLAlchemy, Mongo, ZoDB all in the same +application without much trouble. + +Additionally, Pyramid has a huge focus on complete `documentation `__ and boast 100% unittest coverage. **Support** can also be found in the `documentation `__. +Pyramid is a good choice for developers who like flexibility of their +application including what they need and nothing extra. Web Servers ::::::::::: From 9da4bdf4ee504cf6d479712aecc721faba949a3c Mon Sep 17 00:00:00 2001 From: goodwillcoding Date: Wed, 30 Mar 2016 17:00:24 -0700 Subject: [PATCH 4/4] fix typo --- docs/scenarios/web.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/scenarios/web.rst b/docs/scenarios/web.rst index a3aab635f..ed0615a13 100644 --- a/docs/scenarios/web.rst +++ b/docs/scenarios/web.rst @@ -108,7 +108,7 @@ approach where you can specify include any libraries as needed which provides a great deal of extensibility. By contrast to Django which includes everything in one package (though you might not need to use it all). -Notably, Pyramid provides a lot of adapter to existing libraries. For example, +Notably, Pyramid provides a lot of adapters to existing libraries. For example, it supports nearly all the templating languages Python has to offer and it's modular approach allows you use more then one. Same is true of it's database support. You can use SQLAlchemy, Mongo, ZoDB all in the same