From dd5358b514b80d890149995ba0d65d7a18da29f1 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 9 Sep 2013 16:30:10 -0400 Subject: remove self-flagellation about number of dependencies --- docs/designdefense.rst | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index cebcf6218..5159e6ec7 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -627,22 +627,15 @@ over 2K lines of Python code, excluding tests. Pyramid Has Too Many Dependencies --------------------------------- -This is true. At the time of this writing (Pyramid 1.3), the total number of -Python package distributions that :app:`Pyramid` depends upon transitively is -if you use Python 3.2 or Python 2.7 is 10. If you use Python 2.6, Pyramid -will pull in 12 package distributions. This is a lot more than zero package -distribution dependencies: a metric which various Python microframeworks and -Django boast. - -However, Pyramid 1.2 relied on 15 packages under Python 2.7 and 17 packages -under Python 2.6, so we've made progress here. A port to Python 3 completed -in Pyramid 1.3 helped us shed a good number of dependencies by forcing us to -make better packaging decisions. - -In the future, we may also move templating system dependencies out of the -core and place them in add-on packages, to be included by developers instead -of by the framework. This would reduce the number of core dependencies by -about five, leaving us with only five remaining core dependencies. +Over time, we've made lots of progress on reducing the number of packaging +dependencies Pyramid has had. Pyramid 1.2 had 15 of them. Pyramid 1.3 and 1.4 +had 12 of them. The current release as of this writing, Pyramid 1.5, has +only 7. This number is unlikely to become any smaller. + +A port to Python 3 completed in Pyramid 1.3 helped us shed a good number of +dependencies by forcing us to make better packaging decisions. Removing +Chameleon and Mako templating system dependencies in the Pyramid core in 1.5 +let us shed most of the remainder of them. Pyramid "Cheats" To Obtain Speed -------------------------------- -- cgit v1.2.3 From 5614e9c86562f6e62cefe7de9f4b468e7a4489a6 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 9 Sep 2013 16:58:52 -0400 Subject: update numbers in pyramid-is-too-big section --- docs/designdefense.rst | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index 5159e6ec7..50ef1b148 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -594,35 +594,32 @@ requires extensibility because it must be deployed in multiple locations. Pyramid Is Too Big ------------------ -"The :app:`Pyramid` compressed tarball is almost 2MB. It must be +"The :app:`Pyramid` compressed tarball is larger than 2MB. It must be enormous!" -No. We just ship it with test code and helper templates. Here's a +No. We just ship it with docs, test code, and scaffolding. Here's a breakdown of what's included in subdirectories of the package tree: docs/ - 3.0MB + 4.9MB pyramid/tests/ - 1.1MB + 2.0MB -pyramid/paster_templates/ +pyramid/scaffolds/ - 804KB + 460KB -pyramid/ (except for ``pyramd/tests and pyramid/paster_templates``) +pyramid/ (except for ``pyramd/tests`` and ``pyramid/scaffolds``) - 539K + 844KB -The actual :app:`Pyramid` runtime code is about 10% of the total size of the -tarball omitting docs, helper templates used for package generation, and test -code. Of the approximately 19K lines of Python code in the package, the code +Of the approximately 34K lines of Python code in the package, the code that actually has a chance of executing during normal operation, excluding -tests and paster template Python files, accounts for approximately 5K lines -of Python code. This is comparable to Pylons 1.X, which ships with a little -over 2K lines of Python code, excluding tests. +tests and scaffolding Python files, accounts for approximately 10K lines +of Python code. Pyramid Has Too Many Dependencies --------------------------------- -- cgit v1.2.3 From 643b2a8e7ef0b1836d910b4c5e74d302ed0a0052 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 9 Sep 2013 17:03:10 -0400 Subject: wording --- docs/designdefense.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index 50ef1b148..165ee3dbc 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -618,8 +618,8 @@ pyramid/ (except for ``pyramd/tests`` and ``pyramid/scaffolds``) Of the approximately 34K lines of Python code in the package, the code that actually has a chance of executing during normal operation, excluding -tests and scaffolding Python files, accounts for approximately 10K lines -of Python code. +tests and scaffolding Python files, accounts for approximately 10K lines. + Pyramid Has Too Many Dependencies --------------------------------- -- cgit v1.2.3 From cb05b6f9b141c85dfd7eee12ed488b4de5e8c43c Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 9 Sep 2013 17:28:17 -0400 Subject: update docs page numbers (whimper) --- docs/designdefense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index 165ee3dbc..dbb02a4a5 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -1649,7 +1649,7 @@ If you can understand this hello world program, you can use Pyramid: server = make_server('0.0.0.0', 8080, app) server.serve_forever() -Pyramid has ~ 650 pages of documentation (printed), covering topics from the +Pyramid has ~ 700 pages of documentation (printed), covering topics from the very basic to the most advanced. *Nothing* is left undocumented, quite literally. It also has an *awesome*, very helpful community. Visit the #pyramid IRC channel on freenode.net (irc://freenode.net#pyramid) and see. -- cgit v1.2.3 From 14e164132e64f4808ff2a41399e2f47bd22bea68 Mon Sep 17 00:00:00 2001 From: Carlos de la Guardia Date: Sat, 14 Sep 2013 23:49:17 -0500 Subject: The sentence needed a conjunction. --- docs/designdefense.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index dbb02a4a5..bbc9e2660 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -792,8 +792,8 @@ such a feature. main template and the CSS in a separate Python package which defines overrides. -- If a deployment needs an application page to do something differently needs - it to expose more or different information, the deployer may override the +- If a deployment needs an application page to do something differently, or + to expose more or different information, the deployer may override the view that renders the page within a separate Python package. - If a deployment needs an additional feature, the deployer may add a view to -- cgit v1.2.3 From 9d0f887fa913482a2e07df442ed0b02ae7778a89 Mon Sep 17 00:00:00 2001 From: Carlos de la Guardia Date: Sat, 14 Sep 2013 23:55:12 -0500 Subject: "useful...than" made no sense. --- docs/designdefense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index bbc9e2660..e30b847de 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -764,7 +764,7 @@ content management system (CMS) may have basic functionality that needs to be extended for a particular deployment. That CMS system may be deployed for many organizations at many places. Some number of deployments of this CMS may be deployed centrally by a third party and managed as a group. It's -useful to be able to extend such a system for each deployment via preordained +easier to be able to extend such a system for each deployment via preordained plugpoints than it is to continually keep each software branch of the system in sync with some upstream source: the upstream developers may change code in such a way that your changes to the same codebase conflict with theirs in -- cgit v1.2.3 From 4fa49f72be3b61182c76eca353e6f37fdb625227 Mon Sep 17 00:00:00 2001 From: Carlos de la Guardia Date: Sun, 15 Sep 2013 00:03:23 -0500 Subject: typo --- docs/designdefense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index e30b847de..02f868e5d 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -810,7 +810,7 @@ won't regularly need to deal wth meaningless textual merge conflicts that trivial changes to upstream packages often entail when it comes time to update the upstream package, because if you extend an application externally, there just is no textual merge done. Your modifications will also, for -whatever its worth, be contained in one, canonical, well-defined place. +whatever it's worth, be contained in one, canonical, well-defined place. Branching an application and continually merging in order to get new features and bugfixes is clearly useful. You can do that with a :app:`Pyramid` -- cgit v1.2.3 From 2d2b438f2d3c44dc5a7c49a64d71e8653c0eac60 Mon Sep 17 00:00:00 2001 From: Carlos de la Guardia Date: Sun, 15 Sep 2013 00:07:01 -0500 Subject: typo --- docs/designdefense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index 02f868e5d..a8f1c409a 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -822,7 +822,7 @@ dismiss this feature in favor of branching and merging because applications written in their framework of choice aren't extensible out of the box in a comparably fundamental way. -While :app:`Pyramid` application are fundamentally extensible even if you +While :app:`Pyramid` applications are fundamentally extensible even if you don't write them with specific extensibility in mind, if you're moderately adventurous, you can also take it a step further. If you learn more about the :term:`Zope Component Architecture`, you can optionally use it to expose -- cgit v1.2.3 From 63e18d797b4f10f6d06ec7ad25d3dadc85147ae2 Mon Sep 17 00:00:00 2001 From: Carlos de la Guardia Date: Sun, 15 Sep 2013 00:08:43 -0500 Subject: Double 'instead' removed. --- docs/designdefense.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/designdefense.rst') diff --git a/docs/designdefense.rst b/docs/designdefense.rst index a8f1c409a..bbce3e29c 100644 --- a/docs/designdefense.rst +++ b/docs/designdefense.rst @@ -842,7 +842,7 @@ applications by :app:`Pyramid` are good or bad is mostly pointless. You needn't take advantage of the extensibility features provided by a particular :app:`Pyramid` application in order to affect a modification for a particular set of its deployments. You can ignore the application's extensibility -plugpoints entirely, and instead use version control branching and merging to +plugpoints entirely, and use version control branching and merging to manage application deployment modifications instead, as if you were deploying an application written using any other web framework. -- cgit v1.2.3